-
Notifications
You must be signed in to change notification settings - Fork 636
Analyze, prototype and experiment easily applicable solutions to reduce bandwidth usage #1058
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
Comments
Tentative list of improvements to the propagation protocol:
|
Output of discussing the tentative list of optimizations.
|
|
Hi! Are there any quick wins I could contribute to? |
Reopening to handle back port into experimental branches |
Fixed with the flurry of PRs mentioned above. |
Uh oh!
There was an error while loading. Please reload this page.
Problem
The bandwidth consumption in CometBFT is high. In particular, this comes from the fact that the reactor of the mempool is a basic flooding gossip protocol (à la Bitcoin). Because the network topology is dense, it is very likely that a node receives a transaction multiple times from different neighbors. Notice that such a redundancy is useful to prevent byzantine or selfish nodes to stop the dissemination of a transaction in the network.
Some evidence of this redundancy is seen in #613
Target audience
Consensus developers
Upside
Small improvements could cut bandwidth usage in CometBFT by (at least) 25%, based on other results.
Downside
There are many possible improvements to test. To mitigate the risk of spending too much time on discussing improvements, we will divide the improvements into two batches, one with quick wins and one with ideas that require further though and refinement.
For each of the approaches that are chosen on the brainstorm we will
The remaining ideas will become part of #11 and if there is room to try these and other ideas on that issue, we will iterate on brainstorming and prototyping.
Consider if #1048 is pre-requisite for this task of if backlog.
Definition of done
The text was updated successfully, but these errors were encountered: