Early stopping in Byzantine agreement

Two different kinds of Byzantine Agreement for distributed systems with processor faults are defined and compared. The first is required when coordinated actions may be performed by each participant at different times. This kind is called Simultaneous Byzantine Agreement (SBA). This paper deals with the number of rounds of message exchange required to reach Byzantine Agreement of either kind (BA). If an algorithm allows its participants to reach Byzantine agreement in every execution in which at most <italic>t</italic> participants are faulty, then the algorithm is said to tolerate <italic>t</italic> faults. It is well known that any BA algorithm that tolerates <italic>t</italic> faults (with <italic>t</italic> < <italic>n</italic> - 1 where <italic>n</italic> denotes the total number of processors) must run at least <italic>t</italic> + 1 rounds in some execution. However, it might be supposed that in executions where the number <italic>f</italic> of actual faults is small compared to <italic>t</italic>, the number of rounds could be correspondingly small. A corollary of our first result states that (when <italic>t</italic> < <italic>n</italic> - 1) any algorithm for SBA must run <italic>t</italic> + 1 rounds in some execution where there are no faults. For EBA (with <italic>t</italic> < <italic>n</italic> - 1), a lower bound of min(<italic>t</italic> + 1,<italic>f</italic> + 2) rounds is proved. Finally, an algorithm for EBA is presented that achieves the lower bound, provided that <italic>t</italic> is on the order of the square root of the total number of processors.

[1]  Journal of the Association for Computing Machinery , 1961, Nature.

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

[3]  Danny Dolev,et al.  Unanimity in an unknown and unreliable environment , 1981, 22nd Annual Symposium on Foundations of Computer Science (sfcs 1981).

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

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

[6]  Danny Dolev,et al.  'Eventual' is earlier than 'immediate' , 1982, 23rd Annual Symposium on Foundations of Computer Science (sfcs 1982).

[7]  Nancy A. Lynch,et al.  Simple and efficient Byzantine generals algorithm , 1982 .

[8]  Danny Dolev,et al.  Polynomial algorithms for multiple processor agreement , 1982, STOC '82.

[9]  Danny Dolev,et al.  Requirements for Agreement in a Distributed System , 1982, DDB.

[10]  Nancy A. Lynch,et al.  Cryptographic protocols , 1982, STOC '82.

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

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

[13]  Danny Dolev,et al.  DISTRIBUTED COMMIT WITH BOUNDED WAITING , 1982 .

[14]  Leslie Lamport,et al.  The Weak Byzantine Generals Problem , 1983, JACM.

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

[16]  Fred B. Schneider,et al.  Byzantine generals in action: implementing fail-stop processors , 1984, TOCS.

[17]  Leslie Lamport,et al.  Using Time Instead of Timeout for Fault-Tolerant Distributed Systems. , 1984, TOPL.

[18]  D. Dolev,et al.  Bounds on information exchange for Byzantine agreement , 1985, JACM.

[19]  P. M. Melliar-Smith,et al.  Synchronizing clocks in the presence of faults , 1985, JACM.

[20]  Brian A. Coan,et al.  A communication-efficient canonical form for fault-tolerant distributed protocols , 1986, PODC '86.

[21]  Yoram Moses,et al.  Knowledge and Common Knowledge in a Byzantine Environment I: Crash Failures , 1986, TARK.

[22]  Yoram Moses,et al.  Knowledge and common knowledge in a Byzantine environment I: crash failures , 1986 .

[23]  Sam Toueg,et al.  Fast Distributed Agreement , 1987, SIAM J. Comput..

[24]  Yoram Moses,et al.  Coordinated traversal: (t+1)-round Byzantine agreement in polynomial time , 1988, [Proceedings 1988] 29th Annual Symposium on Foundations of Computer Science.