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

Investigate how to optimize transaction propagation #11

Open
Tracked by #30
lasarojc opened this issue Dec 23, 2022 · 4 comments
Open
Tracked by #30

Investigate how to optimize transaction propagation #11

lasarojc opened this issue Dec 23, 2022 · 4 comments
Assignees
Labels
P:bandwidth-optimization Priority: Optimize bandwidth usage

Comments

@lasarojc
Copy link
Contributor

lasarojc commented Dec 23, 2022

This tasks tracks efforts in investigating how to optimize the propagation of transactions, namely the mempool protocol.

The goal is to investigate the literature on the topic and existing solutions adopted by other blockchain products in order to identify alternative propagation approaches that may be applied to CometBFT. Even if an approach cannot be directly applied to CometBFT, it may have aspects that might be considered on future designs of the mempool.

Original issue: tendermint/tendermint#9925

Literature

Transaction propagation can be translated into gossiping pieces of information in an unknown, unstructured, and partially connected network. Some fundamental and general references for gossip to start the investigation:

In addition, we should survey literature on gossip and anti-entropy protocols, with an emphasis on BFT solutions.

Other protocols

This is a (not comprehensive and under construction) list of existing solutions for transaction propagation:

Definition of Done

  • We have identified alternatives for transaction propagating that may be applied to CometBFT.
  • We have an initial comparison of pros and cons of each alternative we have identified and investigated.
@lasarojc lasarojc mentioned this issue Dec 23, 2022
3 tasks
@lasarojc lasarojc added the backlog A prioritized task in the team's backlog label Dec 23, 2022
sergio-mena pushed a commit that referenced this issue Feb 7, 2023
* deps: Bump tm-load-test to v1.3.0

Signed-off-by: Thane Thomson <connect@thanethomson.com>

* Add pending changelog entry

Signed-off-by: Thane Thomson <connect@thanethomson.com>

---------

Signed-off-by: Thane Thomson <connect@thanethomson.com>
@hvanz hvanz added this to the 2023-Q2 milestone Mar 29, 2023
@hvanz hvanz self-assigned this Mar 29, 2023
@thanethomson thanethomson added the P:bandwidth-optimization Priority: Optimize bandwidth usage label Jun 20, 2023
@cason cason modified the milestones: 2023-Q2, 2023-Q3 Jun 28, 2023
@cason cason removed the backlog A prioritized task in the team's backlog label Jun 28, 2023
@cason cason self-assigned this Jun 28, 2023
@lasarojc
Copy link
Contributor Author

lasarojc commented Jun 29, 2023

It makes sense to talk only about mempool here, but I believe the result of this step will actually provide some guidance on consensus as well. You may want o capture this as an added bonus for this issue.

@cason
Copy link
Contributor

cason commented Jun 30, 2023

It makes sense to talk only about consensus here, but I believe the resoult of this step will actually provide some guidance on consensus as well. You may want o capture this as an added bonus for this issue.

Do you mean mempool?

@lasarojc lasarojc added the tracking A complex issue broken down into sub-problems label Jul 5, 2023
@lasarojc lasarojc removed the tracking A complex issue broken down into sub-problems label Jul 5, 2023
@matthewdowney
Copy link

matthewdowney commented Aug 11, 2023

Suggesting Aeron's UDP multicast approach to improving message passing perf without compromising too much on reliability as one more resource related to the bimodal multicast literature.

In tradfi it's used in a different context (Raft consensus) but certain design elements might translate.

@cason cason removed this from the 2023-Q3 milestone Sep 22, 2023
cometcrafter pushed a commit to graphprotocol/cometbft that referenced this issue Mar 13, 2024
…ckport-2

feat: `VerifyCommitLight` and `VerifyCommitLightTrusting` _never_ check all signatures
cometcrafter pushed a commit to graphprotocol/cometbft that referenced this issue Mar 13, 2024
@cason cason removed their assignment Apr 3, 2024
cometcrafter pushed a commit to graphprotocol/cometbft that referenced this issue Apr 10, 2024
…ckport-2

feat: `VerifyCommitLight` and `VerifyCommitLightTrusting` _never_ check all signatures
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
P:bandwidth-optimization Priority: Optimize bandwidth usage
Projects
No open projects
Status: Todo
Development

No branches or pull requests

5 participants