Waku v2 scalability studies

@haelius is making a good point, let’s elaborate what the relay connection metric means for the browser.

Let’s say we have done our benchmarks and we can recommend that a nwaku node running in a droplet can take 10,000 network connections.
Then yes, it could support around 10,000 browser connections (well less, because it would still need to connect to other service nodes).
However, nwaku is configured to 12 mesh peers for Relay. Meaning that the node will maintain a gossipusub mesh of 12 peers. So the 9900 other peers will not be part of the mesh and will not receive messages from nwaku over Relay.

Which means that the second metric we need to look at is the number of peers in gossipsub mesh.

We will need to understand how big a mesh can be and still be efficient. Possibly the result will be that if a peer cannot provide connections then it should not rely on Relay to receive messages.

@haelius what are your thoughts on browser client using Relay if they are not able to provide network connections?