We have developed a network size estimator and we want to test it in Testground for different network sizes and see how it behaves.
The methodology would be the following:
- Spin up a Testground cluster that run a modified libp2p DHT server (or client? doesn’t matter probably)
- let the libp2p nodes just sit there and refresh their routing table
- check periodically the network size estimate of each node
- perform the above for the following network sizes
- 1, 5, 10, 50, 100, 500, 1000, 5000, 10 000, 50 000, 100 000 (not sure if more are possible)
- There should be roughly 10% unreachable nodes (realistic right now)
- perform the above for 10 000 nodes and differing unreachable nodes:
- 10%, 20%, 50%, 80%
Derive the following metrics
- How long does it take for the nodes to converge to a reasonably accurate network size estimate?
- What are the error margins for each network size?
Real fluctuation seems to be 10-15% on a daily basis