Fast Leaderless Byzantine Total Order Broadcast
Matteo Monti, Martina Camaioni, Pierre-Louis Roman
TL;DR
The paper addresses Byzantine fault-tolerant total-order broadcast with leaderless, signature-free protocols, introducing Blink as a Representative Binary Consensus and Flutter as a leaderless Total-Order Broadcast built on Blink. Blink achieves a fast path in the good case via a one-step, all-to-all suggestion phase and Representative Validity, enabling decisions in $Δ$ when all correct servers agree. Flutter leverages Bets attached to client messages and Overseen by Representative Binary Consensus to deliver in a good-case latency of $2Δ+ε$, a quasi-optimal bound, significantly improving over leader-based schemes. The work provides formal correctness sketches and latency analyses, compares to related work (e.g., Bosco, FaB Paxos), and discusses limitations such as denial-of-service considerations and avenues for future optimization and hardware acceleration.
Abstract
This paper presents the Byzantine fault-tolerant agreement protocols Flutter and Blink. Both algorithms are deterministic, leaderless and signature-free; both assume partial synchrony and at least $(5f + 1)$ servers, where $f$ bounds the number of faults. The main contribution, Flutter, is a Total-Order Broadcast implementation that achieves faster broadcast-to-delivery latency by removing the extra message delay associated with serializing messages through a leader. In the "good case" where all processes are correct, the network is synchronous, and local clocks are well-synchronized, Flutter delivers client requests in $(2Δ+ ε)$ time units, $Δ$ being the message delay and $ε$ an arbitrarily small constant. Under the same conditions, state-of-the-art protocols require $3Δ$ time units. Flutter's good-case latency is quasi-optimal, meaning it cannot be improved upon by any finite amount. Under the hood, Flutter builds upon Blink, a (Representative) Binary Consensus implementation whose fast path enables decisions in $Δ$ time units when all correct servers propose the same value. Blink generalizes the existing Binary Consensus solution Bosco from the $(7f + 1)$ to the $(5f + 1)$ setting.
