/Sources/raw/twitter/1786135572840399201.md
Tweet 1786135572840399201 - Dom's Brain
Tweet 1786135572840399201 author: dominic w created at: 2024 05 02T20:48:00Z url: https://x.com/dominic w/status/1786135572840399201 reply to: none quote: no...
Tweet 1786135572840399201
- author: dominic_w
- created_at: 2024-05-02T20:48:00Z
- url: https://x.com/dominic_w/status/1786135572840399201
- reply_to: none
- quote: none
- metrics: replies=100, reposts=432, quotes=56, likes=1218, views=78311
- media: none
Original Text
Crazy fact – 99.9% of people don’t understand what blockchains truly are.
But, when you understand, you can see a future that's insanely bright 🌞 that runs far beyond defi and meme coins. I'm going to explain in this tweet...
Three sections follow:-
- The true nature of blockchain
- The provision of near magical powers
- The meaning of "blockchain singularity"
Stay with me if you want to undertand!
// The True Nature of Blockchain //
To begin, you must grok that a blockchain is what can better be technically described as a "stateful decentralized network."
If you're balking at getting your head around what sounds like hardcore technical term, don't panic – it's easy to understand, and the insight is well worth the amount of effort required.
To advance on a short journey to understanding, we will start by considering, for a brief moment, the simple Morse Code protocol, and then add some modifications.
As you may already know, Morse Code is a simple protocol for transmitting text over a link using a series of short and long pulses – audible beeps, flashes from a light, radio pulses, whatever...
In Morse Code, 'S' is audibly communicated as beep, beep, beep, and 'O' as beeeep, beeeep, beeep. This means we can transmit "SOS" over a link by going beep, beep, beep <pause> beeeep, beeeep, beeeep <pause> beep, beep, beep.
It's just a simple protocol that enables one party to send a stream of text – "data" – to another party.
The protocol was developed to send text over electrical telegraph systems sometime after 1820. There would be operators who understood the protocol, who could both send text, and also transcribe received text, which their equipment transformed into audible noises for them (i.e. the beeps they listened to).
It's a communication protocol that is "stateless." What that means is that messages are sent, and then the receiver does with them what they wish.
Of course, in a sense, the operators on the ends of the line (the "peers") are maintaining some kind of state in their heads. For example, the operator hearing that the Titanic was sinking, might process that information in their head, and then decide to send back a message asking how long they've got before the ship will go down – but the protocol itself does not define how to maintain state, which would involve specifying how received communications should be processed and maintained.
A similar situation exists with TCP/IP, the protocols that power the internet. When we connect to a remote person over Zoom, TCP/IP streams the video data over the network, and the Zoom app displays it. The people on the Zoom keep a state in their minds related to their interaction, which guides their conversation, but the internet is just streaming video data between them, and says nothing about what to do with the information contained.
Early decentralized networks running over the internet, such as the BitTorrent file sharing network, used protocols that began to introduce the concept of some kind of shared state – albeit, one that is distributed across the computers of individual network participants, which is stored at their discretion.
For example, the BitTorrent protocol makes it possible to get a listing of files stored on a peer's computer that they are sharing, and provides way for this knowledge to be propagated over its network.
Crucially, the files ("data") shared by peer computers ("nodes") do not impact how BitTorrent's network protocol works, any more than the video streamed by Zoom affects what Zoom's protocol will do in the future. It provides a simple means for one peer to discover and request the files another peer is sharing, and what it knows about files shared by other peers, allowing for propagation of this knowledge. It enables file sharing but is oblivious to the files being shared. The files are not part of a state the network protocol itself maintains.
Bitcoin rang in the changes as the first "stateful" decentralized network – something whose revolutionary nature well exceeds the concept of cryptocurrency.
Going back to two people communicating using Morse Code: imagine if that protocol was updated, so that each party had to keep a record of the text received from the other, and that new Morse Code protocol commands allowed each party to request the other send back sections of text they previously transmitted – and that correctly behaving participants had to fastidiously record received text in case they were asked for it.
Now we are moving towards a weakly "stateful" communications protocol involving just two peers. It's not decentralized since there are only two parties, and there's no way to know if text returned on request is correct (unless you kept a copy..).
Now, imagine if the protocol was made decentralized, and when a new party joined, they could request all the text that had been previously transmitted from all existing peers. Assuming peers regularly updated each other about the transmitted texts they had seen, this would allow a rough shared corpus of text to be stored by the network.
Whenever new text is transmitted, this would be shared amongst the peers in the network, and thus, future requests to return the corpus would include it. If the protocol requires that peers share texts they have seen, and the peers behave correctly, then we can say that the shared corpus (a "state") is being maintained by the network.
But there are two problems: 1) the corpus maintained by the peers is inconsistent, since they transmit messages, and see shared transmitted messaages, at different times, and 2) peers can lie, sharing texts that were never sent, causing the network's state to become corrupted. There is no "source of truth" that describes what the correct state maintained by network is.
We can make a few mild improvements without introducing a trusted intermediary – such as a server that might act dishonestly or go down – to maintain the corpus.
For example, when a peer is asked for the network state, the protocol rules could require they sort the text messages they have accumulated by the identity of the sender, the time they were sent, which will make the state returned by one peer look more similar to the state returned by another peer, but still will not make them consistent, because the peers see messages at different times. And there's no obvious way to deal with adversarial ("faulty") nodes that share messages that were never transmitted, which will corrupt the state.
This is where the fields of Byzantine Fault Tolerant protocols comes into play. These involves complex math and algorithms, but the good news is that you only need to know that math proofs have been created to validate they work – you don't need to understand their works.
These protocols can guarantee that if a sufficient portion of peers follow the protocol rules (are "correct"), then a completely consistent network state can be maintained, and moreover, that faulty peers that don't follow the protocol's rules cannot corrupt this state (here we assume that transmitted messages are now signed using cryptography to prevent forgeries, and are really talking about the construction of a consistent state that everyone can agree upon).
Such protocols have to address the network's participants seeing messages at the same time, which is unavoidable. They address this by creating a shared state that progresses through an agreed sequence of steps (or "state transitions").
Going back to Bitcoin, this is of course what we see in its sequence of blocks, which defines progressive updates to its UTXO set it uses to describe the various balances of bitcoin at different wallet addresses, and how it can b