Skip to main content

ConfirmationNeedsValidatedCertificate

Trait ConfirmationNeedsValidatedCertificate 

Source
pub trait ConfirmationNeedsValidatedCertificate: VoteConstructionSites + ProposalGate { }
Expand description

Lemma (A non-fast confirmation requires a validated certificate in the same round). If a correct validator casts a confirmation vote for block A in a round r other than Round::Fast, then a ValidatedBlockCertificate for A in round r, valid for the committee of its epoch, existed at that moment.

Code correspondence.

Proof. By VoteConstructionSites a confirmation vote in a non-fast round comes from ChainManager::create_final_vote, whose vote round is validated.round for its ValidatedBlockCertificate argument validated, and whose voted value is ConfirmedBlock::new(validated.inner().block().clone()) — the same block. By ProposalGate the caller verified certificate.check(&committee) before passing it in. ∎

Implementors§