Expand description
Types used in crate::simplex.
Structs§
- Attributable
Vec - AttributableVec is a vector of Attributable items where a given Attributable::signer() can add at most one item.
- Batch
Verifier BatchVerifieris a utility for tracking and batch verifying consensus messages.- Conflicting
Finalize - ConflictingFinalize represents evidence of a Byzantine validator sending conflicting finalizes. Similar to ConflictingNotarize, but for finalizes.
- Conflicting
Notarize - ConflictingNotarize represents evidence of a Byzantine validator sending conflicting notarizes. This is used to prove that a validator has equivocated (voted for different proposals in the same view).
- Context
- Context is a collection of metadata from consensus about a given payload. It provides information about the current epoch/view and the parent payload that new proposals are built on.
- Finalization
- Aggregated finalization certificate recovered from finalize votes. When a proposal is finalized, it becomes the canonical block for its view.
- Finalize
- Validator vote to finalize a proposal. This happens after a proposal has been notarized, confirming it as the canonical block for this round.
- Notarization
- Aggregated notarization certificate recovered from notarize votes. When a proposal is notarized, it means at least 2f+1 validators have voted for it.
- Notarize
- Validator vote that endorses a proposal for notarization.
- Nullification
- Aggregated nullification certificate recovered from nullify votes. When a view is nullified, the consensus moves to the next view without finalizing a block.
- Nullify
- Validator vote for nullifying the current round, i.e. skip the current round. This is typically used when the leader is unresponsive or fails to propose a valid block.
- Nullify
Finalize - NullifyFinalize represents evidence of a Byzantine validator sending both a nullify and finalize for the same view, which is contradictory behavior (a validator should either try to skip a view OR finalize a proposal, not both).
- Proposal
- Proposal represents a proposed block in the protocol. It includes the view number, the parent view, and the actual payload (typically a digest of block data).
- Request
- Request is a message to request missing notarizations and nullifications. This is used by validators who need to catch up with the consensus state.
- Response
- Response is a message containing the requested notarizations and nullifications. This is sent in response to a Request message.
- Vote
- Signed vote emitted by a participant.
- Vote
Verification - Result of verifying a batch of votes.
Enums§
- Activity
- Activity represents all possible activities that can occur in the consensus protocol. This includes both regular consensus messages and fault evidence.
- Backfiller
- Backfiller is a message type for requesting and receiving missing consensus artifacts. This is used to synchronize validators that have fallen behind or just joined the network.
- Vote
Context - Identifies the signing domain for a vote or certificate.
- Voter
- Voter represents all possible message types that can be sent by validators in the consensus protocol.
Traits§
- Attributable
- Attributable is a trait that provides access to the signer index. This is used to identify which participant signed a given message.
- Ordered
Ext - Extension trait for
Orderedparticipant sets providing quorum and index utilities.