Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

implement gossip support subsystem #4133

Open
kishansagathiya opened this issue Aug 19, 2024 · 4 comments
Open

implement gossip support subsystem #4133

kishansagathiya opened this issue Aug 19, 2024 · 4 comments
Labels
Epic Issue used to track development status of a complex feature, aggregates several issues S-subsystems-common

Comments

@kishansagathiya
Copy link
Contributor

Issue summary

  • This subsystem is responsible for keeping track of session changes and issuing a connection request to the relevant validators on every new session.
  • 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. Our neighbors in this graph will be forwarded to the network bridge with the NetworkBridgeRxMessage::NewGossipTopology message.

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

@kishansagathiya kishansagathiya added S-subsystems-common Epic Issue used to track development status of a complex feature, aggregates several issues labels Aug 19, 2024
@EclesioMeloJunior
Copy link
Member

EclesioMeloJunior commented Aug 19, 2024

@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 paritytech/polkadot#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
Copy link
Contributor Author

kishansagathiya commented Aug 19, 2024

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
Copy link
Member

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

@kishansagathiya
Copy link
Contributor Author

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Epic Issue used to track development status of a complex feature, aggregates several issues S-subsystems-common
Projects
None yet
Development

No branches or pull requests

2 participants