Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
The roadmap is an active area of research. The outline below is only intended to provide flavour. It is intended for this document to be maintained with ongoing R&D.
- Phase 0: PoS beacon chain without shards
- Phase 1: Basic sharding without EVM
- Phase 2: EVM state transition function
- Phase 3: Light client state protocol
- Phase 4: Cross-shard transactions: see here and more.
- Phase 5: Tight coupling with main chain security: here and more.
- Phase 6: Super-quadratic or exponential sharding
Phase 0: PoS beacon chain without shards
- PoS beacon chain using Casper FFG for finality
- Validators create an RNG via RANDAO in block proposals
- Validators organize into proposers and attestation committees from the output of the RNG
- Validators create crosslinks for stubbed shards
Phase 1: Basic sharding without EVM
- Blobs (Binary Large Objects) are collated in shards without transactions (which require execution)
- Proposers submit blobs
- For more details, see the spec and implementations.
Phase 2: EVM state transition function
- Full nodes only
- Asynchronous cross-contract calls only
- Account abstraction
- eWASM; the eWASM team is working on Ethereum 2.0 integration after being developed (although not integrated in production yet?) with 1.0 clients.
- TBC: archive accumulators: https://ethresear.ch/t/history-state-and-asynchronous-accumulators-in-the-stateless-model/287 and https://ethresear.ch/t/batching-and-cyclic-partitioning-of-logs/536 and https://ethresear.ch/t/double-batched-merkle-log-accumulator/571
- Storage rent: here and here; bandwidth fees; and other mechanism design to internalize costs while improving UI.
Phase 3: Light client state protocol
- State-minimized clients. Stateless clients are not ideal as we don't want to offload all storage into secondary markets, rather we can give people a choice to pay storage rent on the blockchain or pay for it in secondary markets.
- Internally-synchronous zones: mind map including architectures
- See also e.g. https://ethresear.ch/t/synchronous-cross-shard-transactions-with-consolidated-concurrency-control-and-consensus-or-how-i-rediscovered-chain-fibers/2318/5
- Data availability proofs: A note on data availability and erasure coding, https://ethresear.ch/t/sharding-and-data-forgetfulness/61,
- Casper CBC integration.
- Internally fork-free sharding
- Manager shard: may be difficult with the latest spec as it uses a beacon chain rather than a contract.
Phase 6: Super-quadratic or exponential sharding
- Recursively, shards within shards within shards... Again, this may be difficult with the latest spec as it uses a beacon chain rather than a contract.
- Load balancing: Wikipedia, search results. Related: https://ethresear.ch/t/history-state-and-asynchronous-accumulators-in-the-stateless-model/287, https://ethresear.ch/t/state-minimized-implementation-on-current-evm/1255
And a lot more: https://ethresear.ch/c/sharding.
- zk-STARKs, e.g. StarkWare the startup; videos here, here and here, as well as a paper here (the abstract is a more succinct intro than the videos), while the full paper is more detailed; and
- heterogeneous sharding