Crate commonware_consensus

Source
Expand description

Order opaque messages in a Byzantine environment.

§Status

commonware-consensus is ALPHA software and is not yet recommended for production use. Developers should expect breaking changes and occasional instability.

Modules§

aggregation
Recover threshold signatures over an externally synchronized sequencer of items.
marshal
Ordered delivery of finalized blocks.
ordered_broadcast
Ordered, reliable broadcast across reconfigurable participants.
simplex
Simple and fast BFT agreement inspired by Simplex Consensus.
threshold_simplex
Simplex-like BFT agreement with an embedded VRF and succinct consensus certificates.

Structs§

Reporters
A struct used to report activity to multiple Reporters (which may or may not be present).

Traits§

Automaton
Automaton is the interface responsible for driving the consensus forward by proposing new payloads and verifying payloads proposed by other participants.
Block
Block is the interface for a block in the blockchain.
Monitor
Monitor is the interface an external actor can use to observe the progress of a consensus implementation.
Relay
Relay is the interface responsible for broadcasting payloads to the network.
Reporter
Reporter is the interface responsible for reporting activity to some external actor.
Supervisor
Supervisor is the interface responsible for managing which participants are active at a given time.
ThresholdSupervisor
ThresholdSupervisor is the interface responsible for managing which polynomial (typically a polynomial with a fixed constant identity) and share for a participant is active at a given time.
Viewable
Viewable is a trait that provides access to the view (round) number. Any consensus message or object that is associated with a specific view should implement this.