A minimal sharding protocol that may be worthwhile as a development target now


What’s a “branch of a shard”? There’s no concept of in-shard forking here anymore.

What does “included” mean here? addHeader() has been called on the chunk?


Now I guess the sampling happens not on the managed shard but somewhere else, so the sampling is not affected by forks and branches of shards.

Yeah, all votes are put on the main chain.

A general theory of what quadratically sharded validation *is*

What are the first steps for implementing this…

  1. sharing collations on a p2p network: should it be done on eth capability of devp2p with a new chainID, on Swam, on IPFS, or on something else? Is anybody working on any of these?

  2. writing a main chain contract.


I think both are being done in parallel; Prysmatic is researching p2p network models that are optimized for multi-shard validation.


Hi @yhirai, Raul from Prysmatic Labs here. We’re focused right now on the invariants of phase 1 sharding, which are p2p and local shard state storage. We’re working with go-libp2p and exploring two models: bootstrap nodes for each shard vs. a toroidal network topology for peer discovery as explored in: Torus-shaped sharding network.


An acknowledgement of other implementations would be nice! https://github.com/ethereum/wiki/wiki/Sharding-introduction-and-implementations#implementations.