-
Notifications
You must be signed in to change notification settings - Fork 58
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: Implement new Validation and Ratification logic #1268
Labels
module:consensus
Issues related to consensus module
Comments
herr-seppia
added a commit
that referenced
this issue
Feb 6, 2024
herr-seppia
added a commit
that referenced
this issue
Feb 7, 2024
herr-seppia
added a commit
that referenced
this issue
Feb 8, 2024
herr-seppia
added a commit
that referenced
this issue
Feb 9, 2024
herr-seppia
added a commit
that referenced
this issue
Feb 10, 2024
herr-seppia
added a commit
that referenced
this issue
Feb 12, 2024
herr-seppia
added a commit
that referenced
this issue
Feb 12, 2024
herr-seppia
added a commit
that referenced
this issue
Feb 12, 2024
herr-seppia
added a commit
that referenced
this issue
Feb 12, 2024
herr-seppia
added a commit
that referenced
this issue
Feb 12, 2024
herr-seppia
added a commit
that referenced
this issue
Feb 13, 2024
herr-seppia
added a commit
that referenced
this issue
Feb 13, 2024
herr-seppia
added a commit
that referenced
this issue
Feb 14, 2024
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Summary
The current implementation of the Validation and Ratification steps is not aligned with the intended design of #1177.
Additionally, the original design does not align with slashing, which has been later introduced with #1257.
This Issue describes in detail how the Validation and Ratification steps should work in the new protocol.
Detailed Description
Nomenclature Update:
We will use quorum to refer to two quantities:
Target Quorum will refer to the quorum threshold depending on the type of vote
NoQuorum: represent the vote casted if the amount of votes is insufficient to reach a conclusion on the step; it is only casted in the Ratification step
VALIDATION
Votes:
Validation message:
ValidationResults:
Valid: a Supermajority of Valid votes has been received
Invalid: a Majority of Invalid votes has been received
NoCandidate: a Majority of NoCandidate votes has been received
NoQuorum: the timeout expired
RATIFICATION
The Ratification vote corresponds to the local Validation Result and is accompanied by the SV of the Validation votes that produced the result.
Votes
Ratification message:
Each Ratification vote is verified against Validation_Votes. Therefore, a NoCandidate vote is only valid with a SV containing a MajorityQuorum of NoCandidate votes for Validation.
Quorum messages with Fail results are used to attest failed iterations. Invalid and NoCandidate fails are additionally used for slashing.
Votes are checked against the Result's vote (Valid,Invalid,NoCandidate,NoQuorum), which must be the same vote for both Validation and Ratification. An exception to this is NoQuorum, which can differ from the Validation result.
ProcessQuorum
Relevant Context
Implementation
Invalid
vote #1264Notes
The text was updated successfully, but these errors were encountered: