A thread summarizing research on the good-case latency and resilience of partial synchrony protocols.
Lower bound 1 (DLS): It is impossible to solve agreement under partial synchrony against a Byzantine adversary if f >= n/3. (
Lower bound 2 (Good-case latency): For partially synchronous Byzantine broadcast with f Byzantine parties, 3 rounds are necessary and sufficient if 3f +1 <= n <= 5f-1 (
Upper bound: e.g., PBFT, Tendermint, Simplex tolerate f < n/3 faults and achieve 3-round good-case latency (link:
Big update for Hydrangea! It now tolerates >33% faults (Byzantine or crash) and still commits in 2 rounds under certain parameterizations.
For n = 3f + 2c + k + 1, Hydrangea commits in 2 rounds when faults <= (c+k)/2 for some parameter k; otherwise commits in 3 rounds while tolerating f Byzantine faults and c crash faults simultaneously.
Tight lower bound also proven!
Paper Link: