This Article 
   
 Share 
   
 Bibliographic References 
   
 Add to: 
 
Digg
Furl
Spurl
Blink
Simpy
Google
Del.icio.us
Y!MyWeb
 
 Search 
   
Simple and Efficient Oracle-Based Consensus Protocols for Asynchronous Byzantine Systems
January-March 2005 (vol. 2 no. 1)
pp. 46-56
This paper is on the Consensus problem in asynchronous distributed systems where (up to f) processes (among n) can exhibit a Byzantine behavior, i.e., can deviate arbitrarily from their specification. One way to solve the Consensus problem in such a context consists of enriching the system with additional oracles that are powerful enough to cope with the uncertainty and unpredictability created by the combined effect of Byzantine behavior and asynchrony. This paper presents two kinds of Byzantine asynchronous Consensus protocols using two types of oracles, namely, a common coin that provides processes with random values and a failure detector oracle. Both allow the processes to decide in one communication step in favorable circumstances. The first is a randomized protocol for an oblivious scheduler model that assumes n>5f. The second one is a failure detector-based protocol that assumes n>6f. These protocols are designed to be particularly simple and efficient in terms of communication steps, the number of messages they generate in each step, and the size of messages. So, although they are not optimal in the number of Byzantine processes that can be tolerated, they are particularly efficient when we consider the number of communication steps they require to decide and the number and size of the messages they use. In that sense, they are practically appealing.

[1] J. Aspnes, “Lower Bounds for Distributed Coin Flipping and Randomized Consensus,” J. ACM, vol. 45, no. 3, pp. 415-450, 1998.
[2] R. Baldoni and J.-M. Helary, “Strengthening Distributed Protocols to Handle Tougher Failures,” Research Report #1477, IRISA, Univ. de Rennes 1, France, 2002.
[3] M. Ben-Or, “Another Advantage of Free Choice: Completely Asynchronous Agreement Protocols,” Proc. Second ACM Symp. Principles of Distributed Computing (PODC '83), pp. 27-30, 1983.
[4] P. Berman and J.A. Garay, “Cloture Voting: $n/4{\hbox{-}}\rm Resilient$ Distributed Consensus in $t+1$ Rounds,” Math. System Theory, vol. 26, no. 1, pp. 3-19, 1993.
[5] P. Berman and J.A. Garay, “Randomized Distributed Agreement Revisited,” Proc. Int'l Conf. Fault-Tolerant Computing (FTCS-23), pp. 412-419, 1993.
[6] G. Bracha, “An Asynchronous $(n - 1)/3{\hbox{-}}\rm Resilient$ Consensus Protocol,” Proc. Third ACM Symp. Principles of Distributed Computing (PODC '84), pp. 154-162, 1984.
[7] G. Bracha, “An $O(\lg n)$ Expected Rounds Randomized Byzantine Generals Protocol,” Proc. 17th Ann. ACM Symp. Theory of Computing (STOC), pp. 316-326, 1985.
[8] C. Cachin, K. Kursawe, and V. Shoup, “Random Oracles in Constantinople: Practical Asynchronous Byzantine Agreement Using Cryptography,” Proc. 19th ACM Symp. Principles of Distributed Computing (PODC '00), pp. 123-132, 2000.
[9] R. Canetti and T. Rabin, “Fast Asynchronous Byzantine Agreement with Optimal Resilience,” Proc. 25th Ann. ACM Symp. Theory of Computing (STOC '93), pp. 42-51, 1993.
[10] T.D. Chandra and S. Toueg, “Unreliable Failure Detectors for Reliable Distributed Systems,” J. ACM, vol. 43, no. 2, pp. 225-267, 1996.
[11] B. Chor, M. Merritt, and D.B. Shmoys, “Simple Constant-Time Consensus Protocols in Realistic Failure Models,” J. ACM, vol. 36, no. 3, pp. 591-614, 1989.
[12] M. Correia, N.F. Neves, L.C. Lung, and P. Veríssimo, “Low Complexity Byzantine-Resilient Consensus,” Distributed Computing, vol. 17, 2004.
[13] A. Doudou, B. Garbinato, and R. Guerraoui, “Encapsulating Failure Detection: From Crash to Byzantine Failures,” Proc. Int'l Conf. Reliable Software Technologies, 2002.
[14] A. Doudou, B. Garbinato, R. Guerraoui, and A. Schiper, “Muteness Failure Detectors: Specification and Implementation,” Proc. Third European Dependable Computing Conf. (EDCC '99), pp. 71-87, 1999.
[15] A. Doudou and A. Schiper, “Muteness Detectors for Consensus with Byzantine Processes,” Proc. 17th ACM Symp. Principles of Distributed Computing (PODC '98), p. 315 1998.
[16] P. Felman and S. Micali, “Optimal Algorithms for Byzantine Agreement,” Proc. 20th Ann. ACM Symp. Theory of Computing (STOC '88), pp. 148-161, 1988.
[17] M.J. Fischer, N. Lynch, and M.S. Paterson, “Impossibility of Distributed Consensus with One Faulty Process,” J. ACM, vol. 32, no. 2, pp. 374-382, 1985.
[18] A. Gallenni and D. Powell, “Consensus and Membership in Synchronous and Asynchronous Distributed Systems,” LAAS Report #96104, 1996.
[19] J.A. Garay and Y. Moses, “Fully Polynomial Byzantine Agreement for $n>3t$ Processes in $t+1$ Rounds,” SIAM J. Computing, vol. 27, no. 1, pp. 247-290, 1998.
[20] M. Hurfin, A. Mostefaoui, and M. Raynal, “A Versatile Family of Consensus Protocols Based on Chandra-Toueg's Unreliable Failure Detectors,” IEEE Trans. Computers, vol. 51, no. 4, pp. 395-408, 2002.
[21] K.P. Kihlstrom, L.E. Moser, and P.M. Melliar-Smith, “Solving Consensus in a Byzantine Environment Using an Unreliable Fault Detector,” Proc. Int'l Conf. Principles of Distributed Systems (OPODIS), pp. 61-75, 1997.
[22] L. Lamport, R. Shostak, and L. Pease, “The Byzantine General Problem,” ACM Trans. Programming Languages and Systems, vol. 4, no. 3, pp. 382-401, 1982.
[23] R. Motwani and P. Raghavan, Randomized Algorithms. Cambridge Univ. Press, 1995.
[24] L. Pease, R. Shostak, and L. Lamport, “Reaching Agreement in Presence of Faults,” J. ACM, vol. 27, no. 2, pp. 228-234, 1980.
[25] M. Rabin, “Randomized Byzantine Generals,” Proc. 24th IEEE Symp. Foundations of Computer Science (FOCS '83), pp. 403-409, 1983.
[26] F.B. Schneider, “Implementing Fault-Tolerant Services Using the State Machine Approach: A Tutorial,” ACM Computing Surveys, vol. 22, no. 4, pp. 299-319, 1990.
[27] S. Toueg, “Randomized Byzantine Agreement,” Proc. Third ACM Symp. Principles of Distributed Computing (PODC '84), pp. 163-178, 1984.

Index Terms:
Asynchronous distributed system, Byzantine process, distributed algorithm, fault tolerance, random oracle, randomized protocol, unreliable failure detector.
Citation:
Roy Friedman, Achour Mostefaoui, Michel Raynal, "Simple and Efficient Oracle-Based Consensus Protocols for Asynchronous Byzantine Systems," IEEE Transactions on Dependable and Secure Computing, vol. 2, no. 1, pp. 46-56, Jan.-March 2005, doi:10.1109/TDSC.2005.13
Usage of this product signifies your acceptance of the Terms of Use.