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:
Two avenues to improve: (A) tolerate more crashes, (B) achieve better good-case latency when there are fewer Byzantine faults Avenue (A): tolerate more crashes Lower bound 3: We need n >= 3f + 2c + 1 to tolerate f Byzantine faults and c crash faults under partial synchrony (folklore?) Upper bound: Generalize any of the earlier mentioned protocols, e.g., PBFT, with quorum size 2f+c+1 instead of 2f+1 (folklore?)
Avenue (B): achieve better good-case latency when there are fewer Byzantine faults Lower bound 4: We need n >= 3f + 2p - 1 to tolerate f Byzantine faults and achieve a 2-round good-case latency when p <= f ( Upper bound: FaB, SBFT, Kudzu, Alpenglow, Minimmit (some of these set f = p ~= n/5) (
Combining avenues (A) and (B): Hydrangea, our new paper () with @nibeshrestha2 and @aniketpkate Lower bound 5: There exists no partially synchronous Byzantine broadcast protocol that tolerates f Byzantine faults and c crash faults for n = 3f + 2c + k + 1, and achieves an optimistic good-case latency of two rounds while tolerating more than p = (c+k+2) / 2 faulty parties (Byzantine or crash); k is a tunable parameter with some constraints. Upper bound: Hydrangea presents a protocol for n = 3f+2c+k+1 to tolerate f Byzantine faults, c crash faults, and we can obtain (i) an optimistic 2-round good-case latency while tolerating p = (c+k)/2 faults, and (ii) a 3-round good-case latency otherwise.
4,13K