ChainSafe / gossamer

🕸️ Go Implementation of the Polkadot Host
https://chainsafe.github.io/gossamer
GNU Lesser General Public License v3.0
431 stars 112 forks source link

Gossip support subsystem #4133

Open kishansagathiya opened 2 months ago

kishansagathiya commented 2 months ago

Issue summary

It would be very important to confirm with polkadot-sdk team, whether gossip support is part of the spec or not and figure out the implications of not using the gossip topology.

Other information and links

EclesioMeloJunior commented 2 months ago

@kishansagathiya from what I understand from the link, the gossip support subsystem does not create a gossip topology, it only uses the current gossip that already exists to send additional messages, such as Bitfield Distribution

image

The gossip topology is used for sending GRANDPA commit messages, Block Announcements, and then it should be used to gossip subsystems message among validators that are present in the reserved peer set group.

The message limitation and the group creating is explained better here https://github.com/paritytech/polkadot/issues/3239, but, as I mention, is part of the broader gossip topology that is used by the client in different parts. So the statement:

In addition to that, it creates a gossip overlay topology which limits the amount of messages sent and received to be an order of sqrt of the validators

will need to implemented separately and take in account that it will affect other parts of the code not only subsystems.

cc: @P1sar, @timwu20

kishansagathiya commented 2 months ago

the gossip support subsystem does not create a gossip topology

This is what I meant.

https://github.com/paritytech/polkadot-sdk/blob/a4b51593dbe9b9390fa64f5040a9230b5d33b898/polkadot/node/network/gossip-support/src/lib.rs#L674

You can see in that code a message called NewGossipTopology being sent. So, it does create gossip topology.

EclesioMeloJunior commented 2 months ago

I see, but the gossip topology is not responsibility of the subsystem as it seems to be described in this issue.

kishansagathiya commented 2 months ago

I see, but the gossip topology is not responsibility of the subsystem as it seems to be described in this issue.

I have a feeling you might not be happy with the wordings here, but you understand the meaning. If you have any better way to describe it we can change it.