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

QBFT fast recovery by frequent multicasting of RC message #8397

Open
wants to merge 11 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

@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
@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.

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.

2 participants