8000 QBFT fast recovery by frequent multicasting of RC message by pullurib · Pull Request #8397 · hyperledger/besu · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

QBFT fast recovery by frequent multicasting of RC message #8397

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

Open
wants to merge 18 commits into
base: main
Choose a base branch
from

Conversation

pullurib
Copy link
Contributor
@pullurib pullurib commented Mar 7, 2025

PR description

  • When a node moves up a round, e.g. from 6 -> 7, it only sends a single round-change message
  • This means that if a node misses the round-change message from another node it doesn't know the node is on round 7
  • Nodes can publish their current round every N seconds while they are still in that round

Enabled by the experimental option --Xqbft-fast-recovery . It's very effective when combined with --Xqbft-enable-early-round-change

Signed-off-by: Bhanu Pulluri <bhanu.pulluri@kaleido.io>
@pullurib pullurib marked this pull request as draft March 7, 2025 21:59
@pullurib
Copy link
Contributor Author
pullurib commented Mar 12, 2025
  • Added a Frequent multicaster class to resend a message to validators at regular intervals . This is used for round change messages upon using fast-recovery option
  • Moved early-round-change , fast-recovery and frequent multicaster to final state
  • Testcases for frequent mutlicaster unit tests and ATs for new option.

@pullurib pullurib marked this pull request as ready for review March 12, 2025 05:05
Bhanu Pulluri and others added 5 commits March 12, 2025 09:32
Signed-off-by: Bhanu Pulluri <bhanu.pulluri@kaleido.io>
Signed-off-by: Bhanu Pulluri <59369753+pullurib@users.noreply.github.com>
Signed-off-by: Bhanu Pulluri <bhanu.pulluri@kaleido.io>
Signed-off-by: Bhanu Pulluri <bhanu.pulluri@kaleido.io>
@pullurib pullurib changed the title QBFT fast recovery by multicasting RC message every 5 seconds QBFT fast recovery by frequent multicasting of RC message Mar 12, 2025
@pullurib pullurib requested a review from jframe March 14, 2025 21:04
Copy link
Contributor
@macfarla macfarla left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

could this be a plugin?

@pullurib
Copy link
Contributor Author

@matthew1001 is working on moving QBFT functionality to a plugin . This would be a part of that plugin then.

< 8000 div class=" timeline-comment-group js-minimizable-comment-group js-targetable-element TimelineItem-body my-0 " id="issuecomment-2811542182">
Copy link

This pr is stale because it has been open for 30 days with no activity.

@github-actions github-actions bot added the Stale label Apr 17, 2025
@matthew1001
Copy link
Contributor

I think the plugin version of QBFT could be some way off @pullurib @macfarla Could I ask that we move this PR along in its current shape and the logic will get included in the shift to a QBFT plugin as a matter of coure.

@github-actions github-actions bot removed the Stale label Apr 29, 2025
@macfarla
Copy link
Contributor

I think the plugin version of QBFT could be some way off @pullurib @macfarla Could I ask that we move this PR along in its current shape and the logic will get included in the shift to a QBFT plugin as a matter of coure.

sure, I don't think we need to block this on making it a plugin. I'm prob not the right person to review this PR in detail though, someone with more QBFT knowledge should do that.

@macfarla
Copy link
Contributor

@pullurib there's a compile error that needs fixing before this can be reviewed in detail

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 this pull request may close these issues.

3 participants
0