Expand description
Protocol objects: the definitions the rest of the specification is phrased in.
These are definitions, not claims, so they carry no proof and no dependency edges. Each one
pins a piece of specification vocabulary to the Rust item that realizes it, so that later
statements can talk about “a validation vote in round r” while still being checkable
against the implementation.
Traits§
- Certificate
- Definition (Certificate). A certificate is a
GenericCertificate<T>together with theJustificationChainits wrapper carries. The three instantiations areValidatedBlockCertificate,ConfirmedBlockCertificateandTimeoutCertificate. - Justification
Commitment - Definition (Justification commitment). The justification commitment of a vote is the
hash of the
CommittedQuorumit cites, which — because that struct embeds the commitment of the quorum below it — transitively commits to the entire chain of validated quorums underneath. It is one of the six components of theSignedVotePayload, so votes citing different chains are votes on different payloads and never aggregate into one certificate. - Signed
Proposal - Definition (Proposal). A proposal is a
BlockProposal: an owner’s signature over aProposalContent— aProposedBlock, aRoundand an optionalBlockExecutionOutcome— plus an optionalOriginalProposalrecording which earlier attempt it retries. The three retry shapes are: - Signed
Vote Payload - Definition (Signed vote payload). A validator never signs a bare value; it signs a
VoteValue, the six-tuple - Unlocking
Round - Definition (Unlocking round). The unlocking round of a validation vote,
Vote::unlocking_round, is the round a validator signs to assert: “I have not cast a confirmation vote for a block other than this one in any round at or above this one.”Nonedenotes the strongest form of that claim, covering every round. - Validator
Vote - Definition (Vote). A vote by validator
vis aVote<T>, or equivalently its projectionLiteVote, which keeps every signed field and drops only the value body. Its round isVote::roundand its kind isT::KIND. We say: