A quick experiement to understand the "relative" bandwidth usage of PeerDAS supernodes and full node. To get more accurate numbers to production, we'd need a large enough network (70 - 100 nodes).
Total of 10 nodes on a single machine.
The main thing that I'd like to understand here is the relative bandwidth between full node and supernode, although this is still far from accurate as the peer count is still much lower than production nodes.
From the gathered metrics, a supernode's bandwidth usage is about 10x of a full node. The bandwidth usage on blocks and blobs for supernodes is roughly 2x of a Deneb full node due to erasure coding. Therefore a Deneb full node is estimated to consume roughly 4-5x more bandwidth than a PeerDAS full node (with no validators attached).
It would be interesting to see this test on a larger network though. This was tested under "perfect" network condition, which means there's little extra block lookup / range sync activity. I suspect there would be more rpc requests to supernodes on a bigger and more realistic network, which could make this gap even bigger.
NOTE: Sam (ethPandaOps) suggested the attacknet
tool may be suitable for simulating network latency.
Learn More →
Most of the timing metrics here are not super meaningful, as we're running a lot of load on a single machine.
Learn More →
We've switched from c-kzg
from the Rust peerdas-kzg
library. Again, numbers are not meaningful here, but included here for completeness. For better numbers see this.
Learn More →