Profile picture
Sina Habibian @sinahab
, 13 tweets, 3 min read Read on Twitter
1) Why we need sharding: if blockchain consensus relies on every node processing all transactions + storing all state, the network cannot scale beyond the capacity of a single node.
2) So need to achieve consensus on subsets of transactions (the raw data) and state (the results of interpreting the data) in a way that balances security and availability.
3) The current design has four layers: 1) a main chain contract, responsible for validator deposits and slashing conditions, 2) a random beacon chain, 3) consensus on data (transactions), 4) consensus on state.
4) Core idea: use the random beacon to enlist subsets of the global validator pool for service across shards; regularly shuffle them to lower probability of collusion and bribery.
5) Another core idea: strike a balance between availability and security by escalating validation requirements from local to global via checkpoints – attestation, notarization, meta-notarization.
6) Other elegant constructions in the design – e.g. "cryptoeconomic aggregated signatures”: use a bitfield to summarize signatures and rely on the profit-motive of signers to challenge wrong data.
7) Cool to see ideas from other projects also inspiring the design – open-source in action – Dfinity’s random beacon, Truebit verification.
8) The system will enable future upgradability of the network. Since rules are shard-specific: a new shard can have a different VM (e.g. WASM), a different inter-contract comms protocol (e.g. Primea), etc.
9) The architecture makes sense but there are details to figure out –– e.g. how to lessen load on the mainchain, how to use Proof of Custody within aggregate signatures, … with Ethereum grant funding available and sharding important work, it’s a good time to contribute.
10) The implementation roadmap takes on battles one at a time: build 1) the random beacon, 2) the data availability solution, then 3) layer on state.
11) What’s heartening: the system will be useful at various degrees of completion. E.g. the data layer, with no interpretation built in, can be used as a filesystem for Truebit tasks.
12) For more details, watch this awesome talk by Justin Drake at Edcon:
13) Thanks to @drakefjustin , @karl_dot_tech , @VitalikButerin , @icebearhww , @jon_choi_ , @davidlknott for discussions – super interesting & important area of work!
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 Sina Habibian
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!

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 and get exclusive features!

Premium member ($3.00/month or $30.00/year)

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!