Skip to content

Sharding Roadmap

Mikhail Kalinin edited this page Nov 22, 2018 · 12 revisions

Change log

Date Action Author
2018-28-06 Initial draft Mikhail Kalinin
2018-02-08 Beacon chain section updated according to Sharding spec v2.1, Epoch-less Casper FFG, Beacon chain RPJ mini-spec Mikhail Kalinin
2018-26-09 Move Casper and BLS milestones to Beacon chain section. Update Block proposers timing with 8 weeks, that is how much time it took to get it ready. Mark Block proposers as completed Mikhail Kalinin
2018-20-11 Mark Attesters with primitive signature aggregation as completed in 6 instead of 3 weeks Mikhail Kalinin

Timeline:

5 months. Alpha release: Beacon chain

  • 2 weeks. Main chain validator contract with RANDAO

    Initial stage. Addresses Main chain changes section of the spec omitting prioritize(block_hash, value) method. RANDAO seeding is being implemented here. There is a deposit contract published here, it might need to be improved.

  • 8 weeks. Block proposers

    Block production part of the Beacon chain, see details under Beacon chain processing section. This step implies an implementation of block import process that includes state transition, validator set shuffling and a stub for fork choice rule. Keeping real fork choice rule for the next step as new fork choice rule tied to attesting.

  • 6 weeks. Attesters with primitive signature aggregation

    Introduce attesters. Update block production and processing with aggregated signature, see details. XOR'ed signatures are going to be used as a primitive aggregation scheme. When attestation is ready, stubbed fork choice rule will be replaced with a real one.

  • 2 weeks. Finality

    Introduce Casper FFG running on the beacon chain. Details are in Casper FFG RPJ mini-spec.

  • 3 weeks. Full signature aggregation scheme

    Replace primitive signature scheme with BLS one. The description is here.

  • 3 weeks. Prototype of network layer

    This stage aims to get a network layer for beacon chain in as short and determined time as it's possible, having no fallback into sharding network R&D. We would like to use gossipsub protocol as a transport layer solution but if there is a risk of falling in development with unpredicted time resources we will go with plan B. The plan B is to implement a modified version of ETH subprotocol which will be suitable for beacon chain data structures. The time will show us the way.

1 month. Beta release: Shards

  • 1 month. Shards with cross-links

    It's time to add shards and stick them to the Beacon chain. Notaries and cross-links are introduced in this stage. Notaries signature is implemented with a primitive way decribed previously. Look for details in the spec.

  • 1 week. Testing altogether

    • Test whole implementation in private network
    • Create docker rig for sharding demo purposes

* This roadmap is not final and may be changed according to changes in Ethereum 2.0 specification

Contents:
Clone this wiki locally