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.
- types
- Consensus types shared across the crate.
- utils
- Utility functions for consensus.
Structs§
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.
- Epochable
- Epochable is a trait that provides access to the epoch number. Any consensus message or object that is associated with a specific epoch should implement this.
- 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.
- Threshold
Supervisor - ThresholdSupervisor is the interface responsible for managing which
polynomial(typically a polynomial with a fixed constantidentity) andsharefor 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.