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

consensus: future-iteration Quorum is ignored #3474

Open
fed-franz opened this issue Feb 10, 2025 · 0 comments
Open

consensus: future-iteration Quorum is ignored #3474

fed-franz opened this issue Feb 10, 2025 · 0 comments
Assignees
Labels
module:consensus Issues related to consensus module

Comments

@fed-franz
Copy link
Contributor

Summary

In the current implementation, nodes discard Quorum messages from future iterations in the same round. However, this could make the node fall out of sync, potentially missing generation-vote assignments on the next round.

Similar to Quorum from future rounds, we might have nodes request the missing candidate and accept the block once it's full (candidate+attestation).

Detailed Description

Current-round Quorum messages are forwarded by the Acceptor to the Consensus (event_loop) where they get discarded due to not meeting current criteria (if qround != round || qprev != prev || qiter > iter).

Relevant Context

Future-round Quorum messages currently triggers a Candidate request and are not forwarded to Consensus.
This constitutes a discrepancy with future-iteration message which should be re-evaluated to assert if there is indeed any rationale for it.
If not the case, than future-iteration Quorum messages should be treated as future-round ones.

Possible Solution

Merge future-iteration case with future-round case: if a future-iteration Quorum message is received, it should trigger a Candidate block request (if missing) and then try to build and accept the full block.

OPTIONAL: given such a message would be from the current round, it is possible to verify its signature against the corresponding committee before requesting the candidate.

@fed-franz fed-franz self-assigned this Feb 10, 2025
@fed-franz fed-franz added the module:consensus Issues related to consensus module label Feb 10, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
module:consensus Issues related to consensus module
Projects
None yet
Development

No branches or pull requests

1 participant