99% of people misunderstand this crucial concept. Even the biggest supporters. This can make crypto seem pointless!
But once you get it, huge parts of the story and hype will fall into place
🧵👇
I don’t blame anyone for not getting it
Jargon, buzzwords, and math 🤮EVERYWHERE. Ewww
Peer to peer
Decentralization
Distributed computing
Removing 3rd party intermediaries
Confused yet!?!?!?
I was too!
And I’ve been programming for more than 10 years!!
I work at one of the biggest tech companies in the world! My code runs on millions of phones!
If I was confused, good fucking luck explaining it to your grandparents at thanksgiving
Is this a giant Ponzi scheme? Or tech’s biggest innovation yet?
It seemed like there might be something there, but didn’t make sense
Well, I spent years reading hundreds of posts and tech docs so you don’t have to
Surprisingly it’s not that complicated! Just poorly explained
Lets start with peer to peer
Torrents have probably given you the completely wrong idea of what p2p is. So when they are used as the launching point for explaining crypto, the whole thing falls apart
Everyone has the wrong foundation to start!
Making lots of copies and being censorship resistant is not the main goal
Those certainly became the reasons people used torrents, in order to pirate and leak files.
But for crypto they are just some handy side effects of much bigger goals
In the broadest sense possible
The goal of any p2p project is to:
allow computer networks to scale
In doing so, allow more people than ever before to work together
That might sound weird at first. Don’t we already have networks that can connect billions of people?
Yes.
But
P2p networks are specifically trying to bring as many people as possible into the network itself
not simply connect to or use it
That might seem like a small distinction, but it’s huge and critically important.
restaurants that can feed 1 billion hungry diners
Vs
restaurant kitchens that allow 1 billion chefs to cook together
(and serve billions of hungry diners)
Most tech has focused on the first. More users, mo money!
With p2p, the aim is to allow as many people as possible to join, contribute and influence the effort to make the food, not only eat
To allow massive communities to provide the service. Not simply use the service
Example time!
I’m busting out the pens so y’all better like and retweet the heck out of this
When people think of centralized computer networks, they usually represent it as something like this
A a hub and spoke pattern or star. With lots of clients all connecting to 1 server
But that’s not how modern servers work
There isn’t 1 server for a website
There are big server networks
Clients connect to a any different entry point (aka edge nodes)
Amazon has ~230 edge nodes
And a whole bunch of servers on the inside connect everything
Bitcoin has ~12000
Peer to peer often gets compared to client server
But this hexagon drawing works for both types!
Peer to peer networks almost always also have clients…
When you use a phone, app, or web browser to connect to a sever network you are the client
Using a social media app to post a meme on a social network?
You are a client
Downloading a file from a torrent network?
You are a client
Sending a Bitcoin to someone else via the Bitcoin network?
You are a client
In all 3 cases you are a client connecting a server network
“We don’t need banks anymore we removed the third party intermediary”
No. Completely wrong
Bitcoin is an intermediary!
The network is an intermediary!
Crypto only removes intermediaries inside the network!
It will replace banks, but will replace them with a new intermediary
The only difference, is that within traditional networks, the client server pattern is used inside the hexagon too
Like how a parent can have a child, and then that child can have their own child, making them also a parent
Servers can be a client to other servers
When you go to a restaurant and order, that order gets sent to the kitchen
In that kitchen, the head chef 🧑🍳 then delegates and splits the work
Chef 1 makes the appetizer
Chef 2 the main course
Chef 3 the dessert
That head chef is a client to the sous chefs
We can go further!
Main course is steak with a red wine mushroom sauce
Chef 2 needs to source those ingredients from 3 different places
Steak from the farm
Wine from the Winery
Mushrooms from a different farm
This can go on and on in a big stack of supply and work chains
Which results in a triangle or tree structure like this
(Note that is is very simplified, both restaurants and computer networks get really messy. And don’t result in perfect trees)
Like p2p, these networks get massive, store data in lots of places, and distribute work
Client server’s difference between p2p, is not lots of copies, it is the direction of data flow
You place an order
It gets sent to a server
That sever then sends orders to other servers for the info it needs
Order -> service returned
Over and over
Peer to peer flips this on its head, and allows for 2 way communication
Like if after the chef made the wine mushroom sauce, they sent it back to the winery
Or
If after you ordered at a restaurant, you went into the kitchen and cooked an appetizer for someone else
Nodes work back and forth together on the same thing
You don’t take the results from someone else and use it to make your own bigger thing. You work together on the results.
By changing how work is split between nodes P2p also changes
-the structure and shape
-who is let into the network
Instead of a triangle shape, it is a messy web. Where data is sent back and forth and in all manner of directions.
It’s more free form, and randomly structured!
Anyone can join or leave! This made it useful for piracy
Instead of only connecting to the edge node, (aka top of the triangle or the edge of the hexagon), you can connect to any node.
They are all “edge” nodes
Both torrents and crypto share this approach, but they have some huge differences
1. Who becomes a peer, who is in the network and who is not
2. What these peers are working on together
With Torrents, once you download the file, (or even a piece of it) you became part of the peers!
Who then send it to others. The network grows to add you!
In this case, the client app DEFAULTS to sending the file to other clients trying to download it
You immediately get brought in and become a server, a part of the network!
It is possible to turn it off and leave. But many people would only download, only be a client
Leechers
Bitcoin and crypto does not do this
99.9999% of people are not and will never be peers.
Sending a Bitcoin, owning one or having a wallet does not make you a peer. To become a peer you need a completely different app!!
It’s possible for anyone to join as a peer but way harder
The other difference between crypto and torrents is what work is split
Torrents host files. Downloading it and sending it made you a peer. The network distributed the effort of file hosting and transfer
Bitcoin does this too, but it’s a only tiny part
Bitcoin’s focus is distributing data validation and decision making
The process of adding new data, validating and error handling it, and finally syncing it. As well as making decisions about how this process should work. and what updates to make
Are all done via community vote
This is the core of crypto
Not money
Not a new database
It’s a new way to organize networks. Of both people and computers.
And distribute the decision making and operation of it to a wide and open group
It’s similar to other mass scale org/business systems
corporate headquarters
a CEO
a judge
or a president
Who ends up making most decisions from the top down
Bitcoin invented a new system that allows much more community involvement, from the bottom up
But in there is no bottom!
There is no top of the hierarchy, no top of the triangle!
No hierarchy at all!
But a web!
Despite the chaos of the internet!
Bitcoin found a way to sync data
A brand new consensus mechanism
It is the closest to a perfect distribution of decisions or a perfect democracy ever
In this way, no one person is responsible
No one can decide to give themselves a billion dollars. No one can delete your data. No one one is in charge of deciding what is valid or not. No one alone can force the rest to change
Influence and power is distributed
This what what people mean when they say removing the 3rd party intermediary or decentralization
It’s KingSlaying
(This does not mean it’s 100% perfect distribution or that no concentrations of power will arise)
There is a lot involved with making this work. How exactly is a thread for another time.
But one key process I want to mention is
Mining
This is specifically how data is validated and consensus is reached
It’s also the worst possible name anyone could have given it
It’s not printing magical internet money out of nowhere
In fact it has nothing to do with making new coins. The image of a miner, in cave digging for gold, is totally wrong. And has set crypto back 10 years
A better name that other algorithms are starting to use is validators
Mining is the process by which this network coordinates.
Miners get paid for syncing data. The process itself is not to make more coins. New coins only help pay for the process.
Torrents networks didn’t grow far, no one wants to use internet bandwidth on it. Paying helps that
Bitcoin charges clients for new database transactions
The same way web hosts charge tech companies for database hosting. Based on how many reads/writes they do per month
When the servers (aka miners) provide that service, they get paid
Allowing new types of networks to form
Making a network this way has a few major upsides
1. No point of failure/censorship resistance 2. Community based decision making, bottom up instead of top down 3. A brand new type of open source software and data ownership
These come at a cost
Synchronizing 12,000 nodes is obviously way less efficient than other approaches. Bitcoin in particular also uses a ton of energy. Also a thread for another time
I’m sure there are many other downsides too
It makes these sacrifices to gain in other ways
We’ve already seen how the 1st point can revolutionize data sharing, piracy and free speech on the internet with torrents
Won’t linger here
We are about to see how the 2nd, highly efficient community decision systems, can impact the world
People who were at the bottom of the hierarchy before, now have a huge opportunity to have their voices heard in ways that were not before
Can building a financial system that is controlled by 12,000 independent voters be better than the ones we have now?
Right now ~10 people in the federal reserve make decisions about money supply that impacts the entire world!
What happens when instead a massive open committee is in charge of when/if to print more money?!?
I don’t know
But many think that crypto represents a huge chance for greater equality and greater chances for many people who have been ignored for too long
Both in money and more
Cryptocurrency is not a type of money
Money is a type of crypto
Some options?
- Money systems
- Tech services, companies and platforms
- Art and payment for online work and content creators
-Fundamental human organizations like companies and governments
And I’m sure much more
Finally the 3rd is the one I’m most interested in
Because syncing data and operating a network like this way allows a new second tier to open source software
Before we had
open source apps
Now we also have
open source shared data state
That anyone can use or build on top of!
Most fascinating, even though this data is managed by thousands of idiots on the internet
No one but you can change it
There is no way (outside or 51% of the network agreeing to change the rules for some reason, super rare)
No one can take Bitcoin out of your account w/o a key
This third part deserves its own thread too
But for now, this is where I will leave you
If you have any questions please let me know! It helps me learn and check myself!
I hope this has helped you realize the many awesome things we can do w/crypto!
If so drop a like or retweet so others can learn!
Here’s a link back up to make it easy ;)
Gimme a follow for more writings on crypto, tech, apps, art, memes, psychology, and more
A surprising amount of my fellow students couldn’t code.
I would say even the vast majority of those who graduated, couldn’t code. At all.
Many of my friends told me themselves, even after 4 years of learning, they didn’t know how.
They knew it, but they didn’t.
They were smart people who spent a ton of time and effort learning. They knew the terms, the syntax. They knew the theory, they could pass the tests. They could solve the math puzzles and the leetcode problems. They could write some code.