-
Notifications
You must be signed in to change notification settings - Fork 275
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
gossipsub v1.2 #560
base: master
Are you sure you want to change the base?
gossipsub v1.2 #560
Conversation
I think it is, but we'll have to test. |
If we push it to v1.3, then we wont have compatibility problems. We might also want to implement some feature matrix announcement as well, so that an implementation doesn't have to support all features in the latest version. |
I had the same question in my head, and then I realized that IDONTWANT targets a particular message by its id, while CHOKE and UNCHOKE target all messages coming from a mesh peer you choke. Both help to reduce duplicates. |
imo, episub (413) is nicer than IDONTWANT (548) for smaller messages (IDONTWANT is basically useless with small messages), however, episub will have a cost on latency, while IDONTWANT wont |
A counterpoint would be that for small messages, duplicates maybe are less damaging overall - the mechanism is also more complex in terms of what potential side effects it might have. Nevertheless, the core point here is that we have a clear and present use case for IDONTWANT, the simulations are showing good numbers and the protocol is both simple and ready - the point of moving forwards with 1.2.0 at this point would be to not block progress on that front while waiting for episub. It's also interesting to consider / document how gossipsub going forwards would deal with unsupported "sub-features", for example how to treat clients that support one of episub / IDONTWANT but not the other - is this a direction worth exploring? Version numbers don't really convey this information well. |
A thousand 1kb message is just as bad as one 1mb message DONTSEND + staggersend might also help the "many small messages" case, but doubt so
imo, both of these features can be sent "optimistically", and if the peer doesn't support it, so be it |
I will propose a feature matrix annoncement as part of v1.2. |
Hey there, folks; I’d like to bring this discussion back to the table. For the last two months, at ProbeLab, we’ve been doing a thorough analysis of GossipSub, and we have pretty much come to the conclusion that reducing the number of duplicates should be the next priority item on the GossipSub 1.2 roadmap. For some context, we’ve managed to identify a list of items (from Ethereum’s network) that we think are relevant to the discussion:
Based on these main points, we would like to reopen the discussion to reconsider limiting the scope of the GossipSub 1.2 version to “only” the aggregation of The proposition considers reducing the overall bandwidth used by gossipsub (which can help scaling the throughput of some networks like Ethereum with its Links to the publicly shared posts originated from our last project on analyzing GossipSub in collaboration with the EF:
|
That makes sense. I agree that GossipSub 1.2 should include only IDONTWANT to deliver it faster. However, even if the episub thing is also included in GossipSub 1.2, we can still implement IDONTWANT in each implementation and deploy it, right? No one can stop us from using it, if they are all implemented in all the implementations. |
we've already deployed IDONTWANT, calling it 1.2.0 - it's just a number, at this point might as well do 1.3.0 for any new features/changes |
Working Draft for aggregating v1.2 changes.
Related PRs: