Pith's one-line read
Appending the Frosty liveness module to Snowman⋄ preserves consistency and liveness in partial synchrony, for f < n/5 and n ≥ 250.
desk verdict
A useful combination note with a real gap: the cross-epoch consistency proof imports (⋄1) without showing the new alpha3 finality rule preserves it.
read the letter →
A machine-rendered reading of the paper's core claim, the
machinery that carries it, and where it could break.
The reading
This note shows that the Frosty liveness module, previously designed for the synchronous Snowman protocol, can be adapted to run on top of the partially synchronous Snowman⋄ protocol. The authors give two algorithms that split execution into even epochs running Snowman⋄ and odd epochs running a Simplex-based quorum protocol, connected by starting certificates. They argue that, for n ≥ 250 and f < n/5, the protocol preserves consistency across epochs and ensures liveness with small error probability, measured under bounded executions. The result matters because it gives Snowman-style consensus the liveness guarantees of Frosty without requiring a synchrony assumption.
What carries the argument
The central machinery is the epoch structure with starting and epoch certificates. A starting certificate is a set of at least 4n/5 signed starting votes, and Pref(C) is the longest chain extended by more than half of those votes; this bridge forces values finalized in an odd epoch to extend all even-epoch final values. An epoch certificate is a set of at least n/5 stuck messages that triggers movement into the next odd epoch. The other load-bearing piece is the new finality condition (α3 = 48): two consecutive samples in which at least 3/5 of the sampled processes report final values extending σ allow a process to finalize σ, which keeps epoch changes timely. In odd epochs, Simplex with notarizations and finalizations ensures quorum-based consistency.
What would settle it
Run the even-epoch protocol with n = 250, f = 50, k = 80, α3 = 48 under an adversarial scheduler that controls sample sequences, and check whether a correct process can finalize a value σ via the α3 rule while fewer than 3/4 of the correct processes later include σ in their starting votes; exhibiting such an execution would invalidate (⋄1) and break the cross-epoch consistency argument.
The central claim is that Algorithms 1 and 2 define a Frosty extension of Snowman⋄ that is consistent and live in the standard partial synchrony model: consistency holds at all times, and after GST liveness holds except for small error probabilities. Consistency across an even-to-odd epoch boundary is carried by the starting certificate: since each starting vote extends the previous even-epoch final value when event (⋄1) holds, Pref(C) extends every value finalized in the previous even epoch. Within even epochs the new α3 finality rule is shown safe because, conditioned on event (⋄0), it only finalizes a value already finalized by a correct process. Liveness is established by showing that, within bounded time after GST, either all correct processes advance their final value or all enter the odd epoch, where Simplex finalizes a new value.
Load-bearing premise
The cross-epoch consistency proof relies on event (⋄1): that whenever a correct process finalizes a value in an even epoch, more than 3/4 of correct processes that later send a starting vote extend that value, and this event is imported from the proof for the unmodified Snowman⋄ protocol without a proof that the new α3 finality rule preserves it.
Editorial extensions
If this is right
Frosty can be used with Snowman⋄ in partial synchrony, so the communication-complexity advantages of Snowman during normal operation are preserved while liveness attacks by adversaries up to f < n/5 are handled.
Consistency between even and odd epochs is guaranteed with error probability at most about 2×10⁻⁵ plus the small probability of (⋄0) failing, under the stated execution bounds.
An odd epoch finalizes at least μ Simplex blocks and then returns to Snowman⋄; the choice of μ and γ are parameters to be set by the implementer.
Epoch changes can now be triggered by long periods of asynchrony as well as deliberate liveness attacks, so γ should be chosen large enough to avoid spurious epoch changes.
Reading between the lines
Editorial extensions of the paper, not claims the author makes directly.
The paper imports event (⋄1) from the Snowman⋄ consistency proof, but that proof was for the unmodified even-epoch protocol; because the new α3 finality rule changes even-epoch behavior, the cross-epoch consistency argument has a missing load-bearing link unless (⋄1) is re-established under the modification.
A natural testable extension is to verify (⋄1) computationally for the modified protocol around f = n/5, checking whether more than 3/4 of correct starting votes extend a value finalized under the α3 rule in worst-case sample sequences.
The parameter values (n ≥ 250, f < n/5, k = 80, α3 = 48) are chosen to make binomial estimates simple; the same structure likely works for other parameter ranges but with different error bounds.
The authors note that periods of asynchrony alone can trigger an epoch change, so in deployments γ must be calibrated against realistic asynchrony durations; this is a tuning concern the paper leaves to practice.