Skip to main content

SafetyScope

Trait SafetyScope 

Source
pub trait SafetyScope:
    CommitAgreement
    + SafetyStateRecovery
    + OneValidationVotePerRound { }
Expand description

Remark (What safety does not claim). Three exclusions are worth stating explicitly, because each is a property a reader may expect CommitAgreement to carry and it does not.

  • Nothing is claimed about faulty validators’ state. A faulty validator may record any block at any height. CommitAgreement constrains which certificates can exist; the observable consequence in TipAdvancesOnlyOnValidCertificate is about correct validators.
  • Nothing is claimed about progress. An execution in which no block is ever committed satisfies every result in this module. In particular a super owner that issues two conflicting fast proposals can split the vote and wedge the height permanently, and that is a liveness failure, not a safety one — see linera_core::proof::liveness.
  • Nothing is claimed when MaxByzantineWeight fails. Above the fault bound, CorrectValidatorInIntersection fails and conflicting commits become possible. What remains is Accountability.

Implementors§