Simplification of the v2 consensus (built on equivalent proofs) after adding a proxy for switching between versions. This will remove many edge cases as the logic between v1 and v2 will be separated.
Proposed changes
Remove the specific consensus v1 handling from the equivalent proofs consensus (v2) signature subround.
Fix check for sending the signature - leader also signs the block and sends his signature in signature subround
Fix signature subround check for transitioning to next subround (doSignatureConsensusCheck) - all nodes need to be able to transition to subround EndRound.
Remove tests targeting V1 on V2 implementation
Testing procedure
regular system tests - consensus
adversarial system testing - malicious proposer - not sending his signature, malicious validators - not sending their signatures
unit & integration tests
Pre-requisites
Based on the Contributing Guidelines the PR author and the reviewers must check the following requirements are met:
was the PR targeted to the correct branch?
if this is a larger feature that probably needs more than one PR, is there a feat branch created?
if this is a feat branch merging, do all satellite projects have a proper tag inside go.mod?
Reasoning behind the pull request
Proposed changes
Testing procedure
Pre-requisites
Based on the Contributing Guidelines the PR author and the reviewers must check the following requirements are met:
feat
branch created?feat
branch merging, do all satellite projects have a proper tag insidego.mod
?