We are now implementing Libp2p for JVM. The first phase is targeted for using in Ethereum 2.0. The key protocol for Ethereum is gossip. Thus I have some questions regarding it:
Is it true that peers are added to fanout map when (and only when) your peer is publishing to some topic but not subscribed?
I.e. if every peer in the network is subscribed to a topic-1 then fanout maps of all peers are empty?
gossips are emitted to fanout and peers in a mesh only?
If the above is true (I’m relaying on the Go implementation), then if we have a network where all peers a subscribed to a single topic then fanout and gossip features have no effect and the message propagation relies on meshes only?
Thanks a lot!