×

Asynchronous byzantine agreement protocols. (English) Zbl 0622.68032

A consensus protocol enables a system of n asynchronous processes, some of them faulty, to reach agreement. Both the processes and the message system are capable of cooperating to prevent the correct processes from reaching decision. A protocol is t-resilient if in the presence of up to t faulty processes it reaches agreement with probability 1. Byzantine processes are faulty processes can be deviate arbitrarily from the protocol; Fail-Stop processes can just stop participating in it. In a recent paper, t-resilient randomized consensus protocols were presented for \(t<n/5\). We improve this to \(t<n/3\), thus matching the known lower bound on the number of correct processes necessary for consensus. The protocol uses a general technique in which the behavior of the Byzantine processes is restricted by the use of a broadcast protocol that filters some of the messages. The apparent behavior of the byzantine processes, filtered by the broadcast protocol, is similar to that of fail-stop processes. Plugging the broadcast protocol as a communicating primitive into an agreement protocol for fail-stop processes gives the result. This technique, of using broadcast protocols to reduce the power of the faulty processes and then using them as communication primitives in algorithms designed for weaker failure models, was used successfully in other contexts.

MSC:

68N25 Theory of operating systems
Full Text: DOI

References:

[1] Ben-Or, M., Another advantage of free choice: Completely asynchronous agreement protocols, (Proceedings 2nd ACM Symposium on Principles of Distributed Computing. Proceedings 2nd ACM Symposium on Principles of Distributed Computing, Montreal, Canada, August 1983 (1983)), 27-30
[2] Bracha, G.; Toueg, S., Resilient consensus protocols, J. Assoc. Comput. Mach., 32, No. 2, 824-840 (1985) · Zbl 0628.68024
[3] Bracha, G., An \(n3\) resilient consensus protocol, (Proceedings, 3rd Symposium on Principles of Distributed Computing (1984)), 157-164
[4] Fischer, M. J.; Lynch, N. A.; Paterson, M. S., Impossibility of distributed consensus with one faulty process, J. Assoc. Comput. Mach., 32, No. 2, 374-382 (1985) · Zbl 0629.68027
[5] Lamport, L.; Shostak, R.; Pease, M., the Byzantine Generals problem, ACM Transactions on Programming Languages and Systems, vol. 4, no. 3, 382-401 (1982), July 1982 · Zbl 0483.68021
[6] Pease, M.; Shostak, R.; Lamport, L., Reaching agreement in the presence of faults, J. Assoc. Comput. Mach., 27, No. 2, 228-234 (1980) · Zbl 0434.68031
[7] Rabin, M., Randomized Byzantine Generals, (Proceedings, 24th Symposium on Foundations of Computer Science. Proceedings, 24th Symposium on Foundations of Computer Science, Tuscon, Arizona, Nov. 1983 (1983)), 403-409
[8] Srikanth, T. K.; Toueg, S., (Byzantine Agreement Made Simple: Simulating Authenthication without Signatures (1984), Department of Computer Science, Cornell University: Department of Computer Science, Cornell University Ithaca, New York), July
[9] Toueg, S., Randomized asynchronous Byzantine agreement, (Proceedings, 3rd Symposium on Principles of Distributed Computing. Proceedings, 3rd Symposium on Principles of Distributed Computing, Vancouver, Canada, August 1984 (1984)), 163-178
[10] Toueg, S.; Perry, K. J.; Srikanth, T. K., A simple and efficient Byzantine Generals algorithm with early stopping, (Proceedings, 4th Symposium on Principles of Distributed Computing. Proceedings, 4th Symposium on Principles of Distributed Computing, Canada, August 1985 (1985))
This reference list is based on information provided by the publisher or from digital mathematics libraries. Its items are heuristically matched to zbMATH identifiers and may contain data conversion errors. In some cases that data have been complemented/enhanced by data from zbMATH Open. This attempts to reflect the references listed in the original paper as accurately as possible without claiming completeness or a perfect matching.