Vitalik Buterin: “Sharding is coming”

Vitalik Buterin teased in a twitter post that “Sharding is coming” to Ethereum.

Afterwards, he posted another Tweet, linking to a reddit post. He went on to explain: “This is a proof of concept of (part of) a fork choice rule-based mechanism for how sharding can be bolted on top of the current ethereum main chain, with a specialized random beacon and shard block times of <10 seconds. The basic idea is based on a concept of dependent fork choice rules. First, there is a proof of stake beacon chain (in phase 4, aka full casper, this will just be merged into the main chain), which is tied to the main chain; every beacon chain block must specify a recent main chain block, and that beacon chain block being part of the canonical chain is conditional on the referenced main chain block being part of the canonical main chain.

The beacon chain issues new blocks every ~2-8 seconds, with a design similar to the one prototyped here (implementation at https://github.com/ethereum/research/tree/master/old_casper_poc3), using the RANDAO mechanism to generate randomness (see https://ethresear.ch/t/rng-exploitability-analysis-assuming-pure-randao-based-main-chain/1825https://ethresear.ch/t/rng-exploitability-analysis-assuming-pure-randao-based-main-chain/1825/10 and http://vitalik.ca/files/randomness.html for analysis), and its purpose is to be the “heartbeat” for the shard chains and to provide the randomness that determines who the proposers and notaries in the shard chains are. The beacon mechanism is upgraded with a proof of activity-inspired technique to increase its stability.

The shards then themselves have a dependent fork choice rule mechanism that ties into the beacon chain; every time a new beacon block is created, that beacon block randomly selects a proposer which has the right to create a shard collation. Each shard collation points to a parent collation on the same shard, and a beacon block.

Things that are not included in this test are:

  • The mechanism for notaries to confirm shard collations (though this is trivial to implement; it’s the same as for beacon blocks)
  • The shard-to-main-chain crosslink (see https://ethresear.ch/t/cross-links-between-main-chain-and-shards/1860) that ties the beacon and the shard chains back into the main chain
  • The feature where all notarizations of any shard simultaneously double as votes in a global Casper FFG cycle, increasing Casper FFG scalability and allowing its min deposits and finality times to both be reduced (perhaps min deposits to 32 ETH and finality times to ~6 minutes)

Comments

comments

LEAVE A REPLY

Please enter your comment!
Please enter your name here