You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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.
The text was updated successfully, but these errors were encountered:
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.
The text was updated successfully, but these errors were encountered: