My view on Data Availability Sampling has changed, exploring UDP (discv5 based) instead of TCP (gossipsub based) sampling looks more promising.
This repository is a test plan to import into Testground. It tests the viability of various networking ideas for Phase 1 of Eth2.
Background:
- Original write-up of Vitalik with different approaches
- Expansion on approach 2 by protolambda, using gossip subnets
The idea is to implement a proof of concept in Go, and run it on Testground with different parameters. Work in progress, highly experimental
A draft of the phase 1 specification can be found in the ./spec
folder.
This includes:
- How sampling is organized
- How validators run DAS
- How to deal with points of data
- The network spec for shards and DAS
A mock Eth2 node with just the Phase 1 DAS functionality (sampling, networking, propagation, validation, processing), and instrumentation for gossip tests.
Not part of the DAS spec, but for testing purposes:
Name | Planned Value | Unit | Description |
---|---|---|---|
PEER_COUNT_LO |
120 |
peers | How many peers for low-water |
PEER_COUNT_HI |
200 |
peers | How many peers to maintain for hi-water |
SHARD_COUNT |
64 |
shards | Number of shards |
SECONDS_PER_SLOT |
12 |
seconds | Number of seconds in each slot |
VALIDATOR_COUNT |
150000 |
validators | Number of active validators |
MIT, see LICENSE
file.