Optimal Good-case Latency for Byzantine Broadcast and State Machine Replication

This paper investigates Byzantine broadcast (BB) protocols with optimal good-case latency under synchrony and weaker variants of synchrony. One of them most important applications of BB is to implement Byzantine fault-tolerant (BFT) state machine replication (SMR), also known as blockchains recently. The traditional latency metric of BB focuses on the number of lock-step rounds needed in the worst case or expected case. We observe that the traditional latency metric fails to capture what's important in practice for two reasons. First, practical synchronous BFT SMR do not run in lock-step rounds. Second, practical SMR protocols make progress only when an honest leader is in charge. Thus, motivated by recent progress in synchronous BFT SMR, we study the \emph{good-case latency} of BB, i.e., the precise latency to commit measured in time (as opposed rounds) when the sender is honest. We propose the first synchronous BB protocol with optimal good-case latency. This closes the gap between the upper/lower bounds on good-case latency left open in the previous work by Abraham et al. \cite{synchotstuff}. To make the synchronous model more practical, we extend our protocol to handle two weaker network models, named mobile link failures and mobile sluggish faults. By providing a new lower bound in the mobile link failure model, we show that our protocols in these weak models also achieve optimal good-case latency. Finally, to demonstrate the applicability to the target application, we turn all our BB protocols into BFT SMR protocols with minimum modifications and guarantee the same good-case latency and tolerance to weaker synchrony variants.

[1]  Michael Ben-Or,et al.  Another advantage of free choice (Extended Abstract): Completely asynchronous agreement protocols , 1983, PODC '83.

[2]  Kartik Nayak,et al.  Sync HotStuff: Simple and Practical Synchronous State Machine Replication , 2020, 2020 IEEE Symposium on Security and Privacy (SP).

[3]  Ulrich Schmid,et al.  Formally verified Byzantine agreement in presence of link faults , 2002, Proceedings 22nd International Conference on Distributed Computing Systems.

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

[5]  Nancy A. Lynch,et al.  A Lower Bound for the Time to Assure Interactive Consistency , 1982, Inf. Process. Lett..

[6]  Martin Biely,et al.  Synchronous consensus under hybrid process and link failures , 2011, Theor. Comput. Sci..

[7]  Dominic Williams,et al.  DFINITY Technology Overview Series, Consensus System , 2018, ArXiv.

[8]  Ulrich Schmid,et al.  Consensus with written messages under link faults , 2001, Proceedings 20th IEEE Symposium on Reliable Distributed Systems.

[9]  Kartik Nayak,et al.  Synchronous Byzantine Agreement with Expected O(1) Rounds, Expected O(n2) Communication, and Optimal Resilience , 2019, IACR Cryptol. ePrint Arch..

[10]  Nicola Santoro,et al.  Time is Not a Healer , 1989, STACS.

[11]  Fred B. Schneider,et al.  Implementing fault-tolerant services using the state machine approach: a tutorial , 1990, CSUR.

[12]  Nancy A. Lynch,et al.  Consensus in the presence of partial synchrony , 1988, JACM.

[13]  Silvio Micali,et al.  Optimal algorithms for Byzantine agreement , 1988, STOC '88.

[14]  Jonathan Katz,et al.  On expected constant-round protocols for Byzantine agreement , 2006, J. Comput. Syst. Sci..

[15]  Leslie Lamport,et al.  The Byzantine Generals Problem , 1982, TOPL.

[16]  Elaine Shi,et al.  Synchronous, with a Chance of Partition Tolerance , 2019, IACR Cryptol. ePrint Arch..

[17]  Elaine Shi,et al.  Hybrid Consensus: Efficient Consensus in the Permissionless Model , 2016, DISC.

[18]  Danny Dolev,et al.  Authenticated Algorithms for Byzantine Agreement , 1983, SIAM J. Comput..

[19]  Michael O. Rabin,et al.  Randomized byzantine generals , 1983, 24th Annual Symposium on Foundations of Computer Science (sfcs 1983).

[20]  Elaine Shi,et al.  PiLi: An Extremely Simple Synchronous Blockchain , 2018, IACR Cryptol. ePrint Arch..

[21]  Danny Dolev,et al.  Dynamic fault-tolerant clock synchronization , 1995, JACM.

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

[23]  Idit Keidar,et al.  Impossibility Results and Lower Bounds for Consensus under Link Failures , 2008, SIAM J. Comput..