In Search for a Linear Byzantine Agreement

The long-standing byzantine agreement problem gets more attention in recent years due to the increasing demand for scalable geo-replicated Byzantine state machine replication (SMR) systems (e.g., Blockchains). To date, the key bottleneck of such systems is the communication cost of the byzantine agreement they employ as a building block, which motivates many researchers to search for low-communication byzantine agreement protocols. The conventional approach is to design deterministic protocols in the eventually synchronous communication model that are optimized to reduce the communication cost after the global stabilization time (GST). In this paper, we challenge the conventional approach and argue it is not the best fit for scalable SMR systems since it might induce an unbounded communication cost during asynchronous periods before GST, which we prove to be inherent. Instead, we forgo eventual synchrony and propose a different approach that hopes for the best (synchrony) but prepares for the worst (asynchrony). Accordingly, we design an optimistic protocol that first tries to reach an agreement via an efficient deterministic algorithm that relies on synchrony for termination, and then, only if an agreement was not reached due to asynchrony, the protocol uses a randomized asynchronous algorithm for fallback that guarantees termination with probability $1$. Although randomized asynchronous algorithms are considered to be costly, we design our solution to pay this cost only when an equivalent cost has already been paid while unsuccessfully trying the synchronous protocol. Moreover, we formally prove that our protocol achieves optimal communication complexity under all network conditions and failure scenarios.

[1]  Leslie Lamport,et al.  Reaching Agreement in the Presence of Faults , 1980, JACM.

[2]  Alexey Gotsman,et al.  Federated Byzantine Quorum Systems , 2018, OPODIS.

[3]  Alysson Neves Bessani,et al.  State Machine Replication for the Masses with BFT-SMART , 2014, 2014 44th Annual IEEE/IFIP International Conference on Dependable Systems and Networks.

[4]  Nancy A. Lynch,et al.  Impossibility of distributed consensus with one faulty process , 1985, JACM.

[5]  Miguel Oom Temudo de Castro,et al.  Practical Byzantine fault tolerance , 1999, OSDI '99.

[6]  Victor Shoup,et al.  Secure and Efficient Asynchronous Broadcast Protocols , 2001, CRYPTO.

[7]  Marko Vukolic,et al.  Non-determinism in Byzantine Fault-Tolerant Replication , 2016, OPODIS.

[8]  Yoram Moses,et al.  Fully polynomial Byzantine agreement in t + 1 rounds , 1993, STOC.

[9]  Danny Dolev,et al.  Early stopping in Byzantine agreement , 1990, JACM.

[10]  Elaine Shi,et al.  The Honey Badger of BFT Protocols , 2016, CCS.

[11]  Ramakrishna Kotla,et al.  Zyzzyva , 2007, SOSP.

[12]  Petr Kuznetsov,et al.  Zeno: Eventually Consistent Byzantine-Fault Tolerance , 2009, NSDI.

[13]  Danny Dolev,et al.  Byzantine Agreement with Optimal Early Stopping, Optimal Resilience and Polynomial Complexity , 2015, STOC.

[14]  Ittai Abraham,et al.  Asymptotically Optimal Validated Asynchronous Byzantine Agreement , 2019, PODC.

[15]  Ethan Buchman,et al.  The latest gossip on BFT consensus , 2018, ArXiv.

[16]  Jared Saia,et al.  Breaking the O(n2) bit barrier: scalable byzantine agreement with an adaptive adversary , 2010, PODC.

[17]  Alexander Spiegelman,et al.  ACE: Abstract Consensus Encapsulation for Liveness Boosting of State Machine Replication , 2019, OPODIS.

[18]  O. Naor,et al.  Cogsworth: Byzantine View Synchronization. , 2019 .

[19]  Benny Pinkas,et al.  SBFT: A Scalable and Decentralized Trust Infrastructure , 2018, 2019 49th Annual IEEE/IFIP International Conference on Dependable Systems and Networks (DSN).

[20]  Victor Shoup,et al.  Random Oracles in Constantinople: Practical Asynchronous Byzantine Agreement Using Cryptography , 2000, Journal of Cryptology.

[21]  Michel Raynal,et al.  DBFT: Efficient Leaderless Byzantine Consensus and its Application to Blockchains , 2018, 2018 IEEE 17th International Symposium on Network Computing and Applications (NCA).

[22]  Jared Saia,et al.  Byzantine Agreement in Expected Polynomial Time , 2016, J. ACM.

[23]  Idit Keidar,et al.  A simple proof of the uniform consensus synchronous lower bound , 2003, Inf. Process. Lett..

[24]  Kartik Nayak,et al.  Flexible Byzantine Fault Tolerance , 2019, CCS.

[25]  Ittai Abraham,et al.  HotStuff: BFT Consensus with Linearity and Responsiveness , 2019, PODC.