Best-Case Complexity of Asynchronous Byzantine Consensus

This paper establishes the first theorem relating resilience, time complexity and authentication in distributed computing. We study consensus algorithms that tolerate Byzantine failures and arbitrary long periods of asynchrony. We measure the ability of processes to reach a consensus decision in a minimal number of rounds of information exchange, as a function of (a) their ability to use authentication and (b) the number of actual process failures in those rounds, as well as of (c) the total number of failures tolerated and (d) the system constellation. The constellations considered distinguish different roles of processes, such that we can directly derive a meaningful bound on the time complexity of implementing robust general services using several replicas coordinated through consensus. To prove our theorem, we establish certain lower bounds and we give algorithms that match these bounds. The algorithms are all variants of the same generic asynchronous Byzantine consensus algorithm, which is interesting in its own right.

[1]  N. S. Barnett,et al.  Private communication , 1969 .

[2]  Adi Shamir,et al.  A method for obtaining digital signatures and public-key cryptosystems , 1978, CACM.

[3]  Leslie Lamport,et al.  Time, clocks, and the ordering of events in a distributed system , 1978, CACM.

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

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

[6]  Nancy A. Lynch,et al.  Impossibility of distributed consensus with one faulty process , 1983, PODS '83.

[7]  Sam Toueg,et al.  Asynchronous consensus and broadcast protocols , 1985, JACM.

[8]  Bowen Alpern,et al.  Defining Liveness , 1984, Inf. Process. Lett..

[9]  Philip M. Thambidurai,et al.  Interactive consistency with multiple failure modes , 1988, Proceedings [1988] Seventh Symposium on Reliable Distributed Systems.

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

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

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

[13]  Ronald L. Rivest,et al.  The MD5 Message-Digest Algorithm , 1992, RFC.

[14]  Gene Tsudik Message authentication with one-way hash functions , 1992, CCRV.

[15]  Michael K. Reiter,et al.  Secure agreement protocols: reliable and atomic group multicast in rampart , 1994, CCS '94.

[16]  Michael K. Reiter,et al.  How to securely replicate services , 1992, TOPL.

[17]  Michael K. Reiter,et al.  A high-throughput secure reliable multicast protocol , 1996, Proceedings 9th IEEE Computer Security Foundations Workshop.

[18]  Eli Gafni,et al.  Round-by-round fault detectors (extended abstract): unifying synchrony and asynchrony , 1998, PODC '98.

[19]  Leslie Lamport,et al.  The part-time parliament , 1998, TOCS.

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

[21]  Miguel Castro,et al.  Authenticated Byzantine Fault Tolerance Without Public-Key Cryptography , 1999 .

[22]  Rachid Guerraoui,et al.  The inherent price of indulgence , 2002, PODC '02.

[23]  Klaus Kursawe,et al.  Optimistic Byzantine agreement , 2002, 21st IEEE Symposium on Reliable Distributed Systems, 2002. Proceedings..

[24]  Rachid Guerraoui,et al.  Encapsulating Failure Detection: From Crash to Byzantine Failures , 2002, Ada-Europe.

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

[26]  Rachid Guerraoui,et al.  Deconstructing paxos , 2003, SIGA.

[27]  Roy Friedman,et al.  Simple and efficient oracle-based consensus protocols for asynchronous Byzantine systems , 2004, Proceedings of the 23rd IEEE International Symposium on Reliable Distributed Systems, 2004..

[28]  Lorenzo Alvisi,et al.  Fast Byzantine Paxos , 2004 .

[29]  Leslie Lamport,et al.  Lower bounds for asynchronous consensus , 2006, Distributed Computing.

[30]  Marcos K. Aguilera,et al.  Consensus with Byzantine Failures and Little System Synchrony , 2006, International Conference on Dependable Systems and Networks (DSN'06).