Ideas within this document are subject to change upon feedback from peers and mentors.
Model-DAS is a Rust implementation of a Secure Kademlia DHT overlay atop the discv5 protocol, modeling one possible solution to DAS networking.
Full-scale Danksharding requires a lot of small pieces of data (samples), and attestations to said data, to be communicated efficiently across a large peer to peer network.
There are a few ideas for how peers should communicate about data availability within Danksharding, but nothing has been set in stone. Model-DAS aims to provide insight into one of these possible DAS networking solutions.
"In an ideal world we have a low-latency DHT that is also sybil-resistant. Doing all of this is an open research question." - Alex Stokes
Model-DAS is a forked version of Eric and Timofey's das-prototype that creates a Secure Kademlia DHT overlay on top of Trin's implementation of Discv5.
Eric and Timofey (from Chainsafe's DAS R&D) have been prototyping and benchmarking different DAS networking solutions within das-prototype. One of their models creates a Kademlia DHT on top of discv5's TALKREQ rpc. The idea for Model-DAS is to leverage their work, adding an additional routing table on top of this prototype (three routing tables in total). This additional table will only store validator nodes and can be utilized when the network is under attack.
See Dankrad's post, Data Availability Sampling based on S/Kademlia for more details on this design.
There are 4 major processes within DAS networking:
- Seeding the network with sample bundles as publisher
- Fanning out bundles as relayer; dissemination
- Query peers for samples (searcher)
- Respond to queries (host)
Model-DAS will primarily focus on modeling the S/Kademlia DHT as it pertains to querying samples.
Open to benchmarking suggestions!
Run simulations and write up findings from benchmarks.
Efficiency
- Time it takes network to switch from main overlay table to validator-only table
- Latency of sample querying: normal overlay routing table vs validator-only routing table
- Extra storage needed per node
Security:
- Look into the ratio of normal peers/validator peers when under attack. Network might not have to only rely on validators. What's the ideal ratio here?
A successful Model DAS…
By the end of this project, I'll be a stronger Ethereum protocol developer with deep understanding of Danksharding. I hope to help solve future problems within this scaling solution (and Ethereum at large).
I want to help build the thing.
Independent,
But working along-side Eric and Timofey (Chainsafe DAS research developers) and utilizing their repositories.
I may be able to help contribute to building out their peer to peer tooling for prototyping DAS models along the way.
Project Repo: Model DAS
Notion Board: Wonderland