An Optimal Probabilistic Algorithm For Synchronous Byzantine Agreement

The problem of Byzantine agreement (BA) was introduced by Pease, Shostak and Lamport [Pease, Shostak and Lamport 1980]. It may be the most important problem in distributed computation among fallible processors. Processor faults may range from simple mistakes to total breakdown to skillful adversarial intent. Trying to maintain a common view of the world is difficult when one does not know whom to trust. BA is a key step in this direction: it enables all good processors (those that follow the protocol) to coordinate themselves. Consider a situation in which each processor holds an initial value. Informally, for any set of initial values, BA should give us the following properties:

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

[2]  Josh Benaloh,et al.  Secret Sharing Homomorphisms: Keeping Shares of A Secret Sharing , 1986, CRYPTO.

[3]  James L. Massey,et al.  Review of 'Error-Correcting Codes, 2nd edn.' (Peterson, W. W., and Weldon, E. J., Jr.; 1972) , 1973, IEEE Trans. Inf. Theory.

[4]  W. W. Peterson,et al.  Error-Correcting Codes. , 1962 .

[5]  Adi Shamir,et al.  How to share a secret , 1979, CACM.

[6]  Brian A. Coan,et al.  Achieving consensus in fault-tolerant distributed computer systems: protocols, lower bounds, and simulations , 1987 .

[7]  Sam Toueg,et al.  Resilient consensus protocols , 1983, PODC '83.

[8]  Cynthia Dwork,et al.  Flipping persuasively in constant expected time , 1986, 27th Annual Symposium on Foundations of Computer Science (sfcs 1986).

[9]  Silvio Micali,et al.  The Knowledge Complexity of Interactive Proof Systems , 1989, SIAM J. Comput..

[10]  Baruch Awerbuch,et al.  Verifiable secret sharing and achieving simultaneity in the presence of faults , 1985, 26th Annual Symposium on Foundations of Computer Science (sfcs 1985).

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

[12]  David Chaum,et al.  Multiparty unconditionally secure protocols , 1988, STOC '88.

[13]  Danny Dolev,et al.  The Byzantine Generals Strike Again , 1981, J. Algorithms.

[14]  Nancy A. Lynch,et al.  An Efficient Algorithm for Byzantine Agreement without Authentication , 1982, Inf. Control..

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

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

[17]  David B. Shmoys,et al.  Simple constant-time consensus protocols in realistic failure models , 1989, JACM.

[18]  Paul Feldman,et al.  A practical scheme for non-interactive verifiable secret sharing , 1987, 28th Annual Symposium on Foundations of Computer Science (sfcs 1987).

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

[20]  Gabriel Bracha,et al.  An O(log n) expected rounds randomized byzantine generals protocol , 1987, JACM.

[21]  Brian A. Coan,et al.  A Simple and Efficient Randomized Byzantine Agreement Algorithm , 1985, IEEE Transactions on Software Engineering.

[22]  Avi Wigderson,et al.  Completeness theorems for non-cryptographic fault-tolerant distributed computation , 1988, STOC '88.

[23]  G. R. BLAKLEY Safeguarding cryptographic keys , 1979, 1979 International Workshop on Managing Requirements Knowledge (MARK).

[24]  Silvio Micali,et al.  Byzantine agreement in constant expected time , 1985, 26th Annual Symposium on Foundations of Computer Science (sfcs 1985).

[25]  Brian A. Coan,et al.  Extending Binary Byzantine Agreement to Multivalued Byzantine Agreement , 1984, Inf. Process. Lett..

[26]  Silvio Micali,et al.  Proofs that yield nothing but their validity and a methodology of cryptographic protocol design , 1986, 27th Annual Symposium on Foundations of Computer Science (sfcs 1986).

[27]  Gabriel Bracha,et al.  An O(lg n) expected rounds randomized Byzantine generals protocol , 1985, STOC '85.