Expand description
The liveness theorems, and a precise account of what they exclude.
Everything here is conditional on the assumptions in super::assumptions, all of which can
fail without endangering CommitAgreement. Read LivenessScope alongside
UnboundedProgress: several natural readings of “the protocol makes progress” are not
implied, and the differences are design choices rather than oversights.
Traits§
- Height
Progress - Theorem (Height progress). Under the same assumptions, once the driver has a block to
propose at height
h, a block at heighthis committed within finite time after GST, and every correct validator’sChainTipState::next_block_heightreachesh + 1— provided it is reachable and receives the certificate. - Liveness
Scope - Remark (What liveness does not claim). Five exclusions, each of which a reader may
reasonably expect
UnboundedProgressto cover. - Round
Progress - Theorem (Round progress). Consider a chain with at least one regular owner, at a height
whose consensus instance has not yet committed. Under
ActiveCorrectDriverand the other assumptions ofsuper::assumptions, there is a roundrbeginning after GST such that the height commits duringr. - Unbounded
Progress - Theorem (Unbounded progress). If a correct driver (
ActiveCorrectDriver) keeps supplying blocks to propose — never exhausting its stream of operations — then under the assumptions ofsuper::assumptionsevery correct, reachable validator’sChainTipState::next_block_heightgrows without bound, and byUniqueChainthe validators’ committed prefixes remain identical throughout.