ChonkyBFT: Consensus Protocol of ZKsync
Bruno França, Denis Kolegov, Igor Konnov, Grzegorz Prusak
TL;DR
ChonkyBFT presents a practical Byzantine fault-tolerant consensus protocol tailored for ZKsync, achieving single-round finality under partial synchrony with $n\ge5f+1$ by combining ideas from FaB Paxos, Fast-HotStuff, and HotStuff-2. It relies on CommitQC and TimeoutQC to guarantee safety and progress, even in the presence of Byzantine leaders or network delays, and includes a re-proposal mechanism to preserve chain consistency. The authors formalize the protocol in Quint, verify safety with inductive invariants, and supplement with model checking via Apalache and randomized simulations, addressing edge cases that often undermine BFT proofs. Empirical evaluation demonstrates scalable performance (up to 100 validators) with competitive block rates and latencies, supported by formal verification to bolster deployment confidence.
Abstract
We present ChonkyBFT, a partially-synchronous Byzantine fault-tolerant (BFT) consensus protocol used in the ZKsync system. The proposed protocol is a hybrid protocol inspired by FAB Paxos, Fast-HotStuff, and HotStuff-2. It is a committee-based protocol with only one round of voting, single slot finality, quadratic communication, and n >= 5f + 1 fault tolerance. This design enables its effective application within the context of the ZKsync rollup, achieving its most critical goals: simplicity, low transaction latency, and reduced system complexity. The target audience for this paper is the ZKsync community and others worldwide who seek assurance in the safety and security of the ZKsync protocols. The described consensus protocol has been implemented, analyzed, and tested using formal methods.
