Before we get to the normal Dev Update…
Over the past 4 months I dove deep into Danksharding, Ethereum Networking, and then p2p networking in rust + building out a discv5 overlay simulation. A few days back, I read a few "big-picture" Ethereum developer documents: Network Layer and Data Availability.
Somewhere along the journey I lost the thread.
I was building this Data Availability Sampling p2p network simulation without understanding the "why" behind it all.
Danksharding leverages full scale data sharding to distribute responsibility for verifying availability of blob data amongst different sets of validators (aka committees).
Validators within each committee are responsible for downloading the entire blob designated to their shard to verify that the blob is available.
With this distribution of responsibility, we can increase the amount of blob data settled on-chain without increasing requirements for any individual node.
Expensive node requirements == Reduced decentralization == : (
But there's a problem. Now only a committee of malicious validators would be needed to push invalid transactions through.
To keep each committee honest, validators (and other nodes in the Ethereum Network) randomly request small chunks (aka samples) of blob data from one another.
If enough honest nodes request a small number of samples within each shard, we can be sure that each committee's blob is available.
This is data availability sampling.
Since my last update, I've implemented the secondary overlay network struct + both overlays' message processing within DASNodes.
For a while I was getting stuck in the minuta of generalizing the function that creates overlay structs but decided to shelf that and just get the thing functioning properly (I can ask ChatGPT later).
Once the secondary overlay struct was created, I implemented TalkReq/Resp message processing for both subnetworks.
Now nodes can communicate through each subnetwork!
Figure out how to instantiate overlay routing tables!
After populating overlay tables within DAS Playground, slowly phase into integrating this secondary overlay logic within Model DAS.