We want to move away completely from random flooding.
It just don’t scale. A single node can send up to 2Kreq/s you don’t really want to listen the hundrenths of thousands of nodes talking on the network.
Actually we will probably keep it but as a heavily metric oriented thing, so for example if 30 out of your last 50 requests were all done with 2 nodes, thoses are probably pinning services pinning the website you are using, so we can probably probe them with 1 or 2 WANT_HAVEs.
Not exactly gossipsub, but one thing we do at actyx is to proactively broadcast data to the currently connected peers.
Basically we know due to how the application works that they will want some data soon, so we just proactively send it. That way if two nodes are reliably connected they don’t have to bitswap at all.
go-bitswap does the same thing, we want to stop this.
Most of the background CPU usage and network usage is shitty bitswaps requests people send you even tho there no almost no chance you host the blocks they want.
It does this always? That is a bad idea. Unsolicited spam.
In the case of Actyx, which is a distributed event sourcing system, we know for sure that the peers will need the data, since every node is replicating the event log of every other node. It is also happening in a small private swarm.