, 13 tweets, 5 min read Read on Twitter
1/ A bit late to reading this, but this is an absolute *gem* by @RyanTheGentry, @KyleSamani & the @multicoincap team. Highly recommended read.

I agree w/ Kyle more efforts should be focused on understanding this aspect of BFT consensus: separating time & state.
2/ If the prior distributed consensus rendition was focused on better understanding security, this one by the Multicoin team focuses on better understanding scalability. @RyanTheGentry does a fantastic job breaking this down for us - thankfully, we have him to learn from!
3/ Recall distributed systems lack a global clock (covered more in the below thread). Thus, whether by partial synchrony or asynchrony, the global state of a blockchain is locked until the order/sequence of events is determined & the next block is added.

4/ Ryan summarizes this nicely by saying, in order to increase throughput, a protocol must either increase the block size or decrease the block time. Pick one. In other words, time and state have been coupled since the creation of Bitcoin.
5/ Enter sharding. Everybody is familiar with the term "divide and conquer". Sharding breaks the global state into a bunch of smaller pieces, each w/ its own independent clock & each w/ the ability to progress independent of the others.

6/ Sharding helps split a network into smaller sets of chains where each chain has its own state in an asynchronous (e.g., randomly ordered) fashion, allowing network participants to process a lot more transactions than they could normally & gain a lot of throughput as well.
7/ Sharding represents an important step taken to separate time & state, but still doesn't quite accomplish it. Even though an underlying beacon chain provides a global clock, each shard only syncs their local clock w/ the beacon chain's periodically.
8/ This creates a challenge of inter-shard latency. As Ryan puts it, "in order for Alice to send tokens from shard A to Bob in shard B, validators in shard A must prove that they burned Alice’s tokens before validators in shard B will mint an equivalent amount of tokens for Bob."
9/ In other words, the global state of a blockchain is locked until there is communication between shards to determine the order/sequence of events. Thus, even sharding can potentially run into some scalability limitations.

10/ Thus, the challenge remains how to accomplish faster clock & state updates. This goes back to separating state & time. @RyanTheGentry & @KyleSamani highlight that this is just what @Solana introduces: a global trust-minimized clock that progresses w/o updating global state.
11/ As discussed more in the post, this is done by hashing the hashes continuously intra-block rather than chaining hashes together every block. In other words, every node is forced to encode the passage of time in a data structure, called Proof-of-History (PoH).
12/ It remains extremely early to see how well this mechanism could work, & what degree of security it can achieve (vs. existing PoW & current PoS experiments). Nonetheless, this piece was worth highlighting for any1 trying to better grasp the current state of layer 1 innovation.
13/ Thank you, @RyanTheGentry & @KyleSamani for open-sourcing this valuable knowledge!

Disclosure: Vision Hill is not invested in Solana. This was highlighted for informational purposes only.
Missing some Tweet in this thread?
You can try to force a refresh.

Like this thread? Get email updates or save it to PDF!

Subscribe to Dan Zuller
Profile picture

Get real-time email alerts when new unrolls are available from this author!

This content may be removed anytime!

Twitter may remove this content at anytime, convert it as a PDF, save and print for later use!

Try unrolling a thread yourself!

how to unroll video

1) Follow Thread Reader App on Twitter so you can easily mention us!

2) Go to a Twitter thread (series of Tweets by the same owner) and mention us with a keyword "unroll" @threadreaderapp unroll

You can practice here first or read more on our help page!

Follow Us on Twitter!

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just three indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3.00/month or $30.00/year) and get exclusive features!

Become Premium

Too expensive? Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal Become our Patreon

Thank you for your support!