Abstract
We give randomized agreement algorithms with constant expected running time in asynchronous systems subject to process failures, where up to a minority of processes may fail. We consider three types of process failures: crash, omission, and Byzantine. For crash or omission failures, we solve consensus assuming private channels or a public-key infrastructure, respectively. For Byzantine failures, we solve weak Byzantine agreement assuming a public-key infrastructure and a broadcast primitive called weak sequenced broadcast. We show how to obtain weak sequenced broadcast using a minimal trusted platform module. The presented algorithms are simple, have optimal resilience, and have optimal asymptotic running time. They work against a sophisticated adversary that can adaptively schedule messages, processes, and failures based on the messages seen by faulty processes.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Abraham, I., Dolev, D., Halpern, J.Y.: An almost-surely terminating polynomial protocol for asynchronous byzantine agreement with optimal resilience. In: ACM Symposium on Principles of Distributed Computing, pp. 405–414. ACM, New York (2008)
Attiya, H., Welch, J.: Distributed Computing: Fundamentals, Simulations and Advanced Topics, 2nd edn. John Wiley Interscience, Chichester (March 2004)
Ben-Or, M.: Another advantage of free choice (extended abstract): Completely asynchronous agreement protocols. In: ACM Symposium on Principles of Distributed Computing, pp. 27–30. ACM, New York (1983)
Berman, P., Garay, J.A.: Randomized distributed agreement revisited. In: FTCS, pp. 412–419 (1993)
Bracha, G.: An asynchronous [(n - 1)/3]-resilient consensus protocol. In: ACM Symposium on Principles of Distributed Computing, pp. 154–162. ACM, New York (1984)
Cachin, C., Kursawe, K., Lysyanskaya, A., Strobl, R.: Asynchronous verifiable secret sharing and proactive cryptosystems. In: CCS ’02: Proceedings of the 9th ACM Conference on Computer and Communications Security, pp. 88–97. ACM, New York (2002)
Cachin, C., Kursawe, K., Petzold, F., Shoup, V.: Secure and efficient asynchronous broadcast protocols. In: Kilian, J. (ed.) CRYPTO 2001. LNCS, vol. 2139, pp. 524–541. Springer, Heidelberg (2001)
Cachin, C., Kursawe, K., Shoup, V.: Random oracles in constantipole: practical asynchronous byzantine agreement using cryptography (extended abstract). In: ACM Symposium on Principles of Distributed Computing, pp. 123–132. ACM, New York (2000)
Canetti, R., Rabin, T.: Fast asynchronous byzantine agreement with optimal resilience. In: ACM Symposium on Theory of Computing, pp. 42–51. ACM, New York (1993)
Chandra, T.D., Toueg, S.: Unreliable failure detectors for reliable distributed systems. Journal of the ACM 43(2), 225–267 (1996)
Chor, B., Merritt, M., Shmoys, D.B.: Simple constant-time consensus protocols in realistic failure models. J. ACM 36(3), 591–614 (1989)
Chun, B.-G., Maniatis, P., Shenker, S., Kubiatowicz, J.: Attested append-only memory: making adversaries stick to their word. In: SOSP ’07: Proceedings of twenty-first ACM SIGOPS symposium on Operating systems principles, pp. 189–204. ACM, New York (2007)
Correia, M., Neves, N.F., Lung, L.C., Veríssimo, P.: Low complexity byzantine-resilient consensus. Distrib. Comput. 17(3), 237–249 (2005)
Dolev, D., Dwork, C., Stockmeyer, L.: On the minimal synchronism needed for distributed consensus. J. ACM 34(1), 77–97 (1987)
Dolev, D., Strong, H.R.: Polynomial algorithms for multiple processor agreement. In: ACM Symposium on Theory of Computing, pp. 401–407. ACM, New York (1982)
Dwork, C., Lynch, N.A., Stockmeyer, L.: Consensus in the presence of partial synchrony. J. ACM 35(2), 288–323 (1988)
Feldman, P.: Asynchronous byzantine agreement in constant expected time (copy availbale from M. Ben-Or) (1989) (unpublished)
Feldman, P., Micali, S.: Optimal algorithms for byzantine agreement. In: ACM Symposium on Theory of Computing, pp. 148–161 (1988)
Feldman, P., Micali, S.: An optimal probabilistic protocol for synchronous byzantine agreement. SIAM J. Comput. 26(4), 873–933 (1997)
Fischer, M.J., Lynch, N.A., Merritt, M.: Easy impossibility proofs for distributed consensus problems. Distributed Computing 1(1), 26–39 (1986)
Fischer, M.J., Lynch, N.A., Paterson, M.S.: Impossibility of distributed consensus with one faulty processor. J. ACM 32(2), 374–382 (1985)
Haber, S., Stornetta, W.S.: How to time-stamp a digital document. Journal of Cyptology 3(2), 99–111 (1991)
Hadzilacos, V., Toueg, S.: A modular approach to fault-tolerant broadcasts and related problems. Technical Report 94-1425, Computer Science Department, Cornell University, Ithaca, New York (May 1994)
Katz, J., Koo, C.-Y.: On expected constant-round protocols for byzantine agreement. In: Dwork, C. (ed.) CRYPTO 2006. LNCS, vol. 4117, pp. 445–462. Springer, Heidelberg (2006)
Kotla, R., Roy, I.: Personal Communication (2010)
Lamport, L.: The weak byzantine generals problem. J. ACM 30(3), 668–676 (1983)
Levin, D., Douceur, J.R., Lorch, J.R., Moscibroda, T.: Trinc: small trusted hardware for large distributed systems. In: NSDI’09: Proceedings of the 6th USENIX symposium on Networked systems design and implementation, pp. 1–14. USENIX Association, Berkeley (2009)
Lynch, N.A.: Distributed Algorithms. Morgan Kaufmann Publishers, Inc., San Francisco (1996)
Patra, A., Choudhary, A., Rangan, C.P.: Simple and efficient asynchronous byzantine agreement with optimal resilience. In: PODC, pp. 92–101. ACM, New York (2009)
Stadler, M.: Publicly verifiable secret sharing. In: Maurer, U.M. (ed.) EUROCRYPT 1996. LNCS, vol. 1070, pp. 190–199. Springer, Heidelberg (1996)
http://www.trustedcomputinggroup.org/resources/tpm_main_specification (February 2010)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2010 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Abraham, I., Aguilera, M.K., Malkhi, D. (2010). Fast Asynchronous Consensus with Optimal Resilience. In: Lynch, N.A., Shvartsman, A.A. (eds) Distributed Computing. DISC 2010. Lecture Notes in Computer Science, vol 6343. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-15763-9_3
Download citation
DOI: https://doi.org/10.1007/978-3-642-15763-9_3
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-15762-2
Online ISBN: 978-3-642-15763-9
eBook Packages: Computer ScienceComputer Science (R0)