Skip to content

Sharding Roadmap

Mikhail Kalinin edited this page Nov 27, 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
2018-27-11 Moves Phase1. Shards out of scope. Extends Roadmap with minimal libp2p implementation in Java and adds Beacon chain network stack implementation. Mikhail Kalinin

Timeline:

5 months. Alpha release: Standalone 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.

1+ month(s). Beta release: Wired Beacon Chain

  • 1+ month. Minimal Java implementation of libp2p

    Addresses a part of libp2p that is required by Beacon chain networking stack which is based on gossipsub protocol. Parts of libp2p spec that should be implemented are listed here

  • 4 weeks. Beacon chain wire protocol

    The wire protocol is not yet designed and it will be doable only when Beacon chain spec gets solidified. But at the moment Prysmatic Labs has something for their Demo release and it might be a good way to hit this direction.


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