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 gossipsub IDONTWANT #371

Closed
StefanBratanov opened this issue Jul 25, 2024 · 4 comments · Fixed by #374
Closed

Implement gossipsub IDONTWANT #371

StefanBratanov opened this issue Jul 25, 2024 · 4 comments · Fixed by #374

Comments

@StefanBratanov
Copy link
Collaborator

StefanBratanov commented Jul 25, 2024

Description

Add support for IDONTWANT control message as per libp2p/specs#548

Motivation

Support GossipSub 1.2

Requirements

  1. Implement specs defined in [GossipSub 1.2] IDONTWANT control message specs#548
@dhuseby
Copy link
Contributor

dhuseby commented Jul 26, 2024

@Nashatyrev and @ianopolous is there any way we can get this implemented in jvm-libp2p?

@dhuseby
Copy link
Contributor

dhuseby commented Jul 26, 2024

@jxs

@StefanBratanov
Copy link
Collaborator Author

@Nashatyrev and @ianopolous is there any way we can get this implemented in jvm-libp2p?

Hi @dhuseby we would prioritise and start working on this feature in the upcoming weeks

@Nashatyrev
Copy link
Collaborator

Some random thoughts:

  • Upgrade Gossip version to 1.2

Receiving IDONTWANT:

  • Use crypro strong hashset or salted keys to mitigate hashCode attack (comments)
  • Add a parameter configuring max IDONTWANT messages per peer per heartbeat
  • [Optionally] consider cancelling sends which are not yet completed (not sure how it could work in practice)

Sending IDONTWANT:

  • No sending if remote peer version < 1.2
  • Need to configure either explicit topics or message size threshold (reasonable default to me is about 16Kb) to sent IDONTWANT

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants