Abstract
This chapter gives an introduction to protocols for state-machine replication in groups that are connected by asynchronous networks and whose members are subject to arbitrary or “Byzantine” faults. It explains the principles of such protocols and covers the following topics: broadcast primitives, distributed cryptosystems, randomized Byzantine consensus protocols, and atomic broadcast protocols.
Keywords
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsPreview
Unable to display preview. Download preview PDF.
References
Ben-Or, M.: Another advantage of free choice: Completely asynchronous agreement protocols. In: Proc. 2nd ACM Symposium on Principles of Distributed Computing (PODC), pp. 27–30 (1983)
Bracha, G.: Asynchronous Byzantine agreement protocols. Information and Computation 75, 130–143 (1987)
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 Constantinople: Practical asynchronous Byzantine agreement using cryptography. Journal of Cryptology 18(3), 219–246 (2005)
Cachin, C., Poritz, J.A.: Secure intrusion-tolerant replication on the Internet. In: Proc. International Conference on Dependable Systems and Networks (DSN-DCCS), Jun. 2002, pp. 167–176 (2002)
Cachin, C., Samar, A.: Secure distributed DNS. In: Proc. International Conference on Dependable Systems and Networks (DSN-DCCS), Jun. 2004, pp. 423–432 (2004)
Castro, M., Liskov, B.: Practical Byzantine fault tolerance and proactive recovery. ACM Transactions on Computer Systems 20(4), 398–461 (2002)
Cowling, J., Myers, D., Liskov, B., Rodrigues, R., Shrira, L.: HQ replication: A hybrid quorum protocol for Byzantine fault tolerance. In: Proc. 8th Symp. Operating Systems Design and Implementation (OSDI) (2006)
Défago, X., Schiper, A., Urbán, P.: Total order broadcast and multicast algorithms: Taxonomy and survey. ACM Computing Surveys 36(4), 372–421 (2004)
Desmedt, Y.: Threshold cryptography. European Transactions on Telecommunications 5(4), 449–457 (1994)
Fischer, M.J., Lynch, N.A., Paterson, M.S.: Impossibility of distributed consensus with one faulty process. Journal of the ACM 32(2), 374–382 (1985)
Hadzilacos, V., Toueg, S.: Fault-tolerant broadcasts and related problems. In: Mullender, S.J. (ed.) Distributed Systems, Addison-Wesley, Reading (1993)
Katz, J., Lindell, Y.: Introduction to Modern Cryptography: Principles and Protocols. Chapman and Hall, Boca Raton (2007)
Kotla, R., Alvisi, L., Dahlin, M., Clement, A., Wong, E.: Zyzzyva: Speculative Byzantine fault tolerance. In: Proc. 21st ACM Symposium on Operating System Principles (SOSP) (2007)
Kursawe, K., Shoup, V.: Optimistic asynchronous atomic broadcast. In: Caires, L., Italiano, G.F., Monteiro, L., Palamidessi, C., Yung, M. (eds.) ICALP 2005. LNCS, vol. 3580, pp. 204–215. Springer, Heidelberg (2005)
Lamport, L.: Time, clocks, and the ordering of events in a distributed system. Communications of the ACM 21(7), 558–565 (1978)
Lamport, L.: The part-time parliament. ACM Transactions on Computer Systems 16(2), 133–169 (1998)
Lamport, L.: Paxos made simple. SIGACT News 32(4), 51–58 (2001)
Malkhi, D., Reiter, M.K.: Byzantine quorum systems. Distributed Computing 11(4), 203–213 (1998)
Malkhi, D., Reiter, M.K.: An architecture for survivable coordination in large distributed systems. IEEE Transactions on Knowledge and Data Engineering 12(2), 187–202 (2000)
Martin, J.P., Alvisi, L.: Fast Byzantine consensus. IEEE Transactions on Dependable and Secure Computing 3(3), 202–215 (2006)
Menezes, A.J., van Oorschot, P.C., Vanstone, S.A.: Handbook of Applied Cryptography. CRC Press, Boca Raton (1997)
Moniz, H., Neves, N.F., Correia, M., Veríssimo, P.: Randomized intrusion-tolerant asynchronous services. In: Proc. International Conference on Dependable Systems and Networks (DSN-DCCS), pp. 568–577 (2006)
Pease, M., Shostak, R., Lamport, L.: Reaching agreement in the presence of faults. Journal of the ACM 27(2), 228–234 (1980)
Potter Kihlstrom, K., Moser, L.E., Melliar-Smith, P.M.: The SecureRing group communication system. ACM Transactions on Information and System Security 4(4), 371–406 (2001)
Rabin, M.O.: Randomized Byzantine generals. In: Proc. 24th IEEE Symposium on Foundations of Computer Science (FOCS), pp. 403–409 (1983)
Ramasamy, H.V., Cachin, C.: Parsimonious asynchronous byzantine-fault-tolerant atomic broadcast. In: Anderson, J.H., Prencipe, G., Wattenhofer, R. (eds.) OPODIS 2005. LNCS, vol. 3974, pp. 88–102. Springer, Heidelberg (2006)
Ramasamy, H.V., Seri, M., Sanders, W.H.: Brief announcement: The CoBFIT toolkit. In: Proc. 26th ACM Symposium on Principles of Distributed Computing (PODC), pp. 350–351 (2007)
Reiter, M.K.: Secure agreement protocols: Reliable and atomic group multicast in Rampart. In: Proc. 2nd ACM Conference on Computer and Communications Security, pp. 68–80 (1994)
Reiter, M.K., Birman, K.P.: How to securely replicate services. ACM Transactions on Programming Languages and Systems 16(3), 986–1009 (1994)
Schneider, F.B.: Byzantine generals in action: Implementing fail-stop processors. ACM Transactions on Computer Systems 2(2), 145–154 (1984)
Schneider, F.B.: Implementing fault-tolerant services using the state machine approach: A tutorial. ACM Computing Surveys 22(4), 299–319 (1990)
Shamir, A.: How to share a secret. Communications of the ACM 22(11), 612–613 (1979)
Shoup, V.: Practical threshold signatures. In: Preneel, B. (ed.) EUROCRYPT 2000. LNCS, vol. 1807, pp. 207–220. Springer, Heidelberg (2000)
Shoup, V., Gennaro, R.: Securing threshold cryptosystems against chosen ciphertext attack. Journal of Cryptology 15(2), 75–96 (2002)
Smart, N.: Cryptography — An Introduction. McGraw-Hill, London (2003)
Toueg, S.: Randomized Byzantine agreements. In: Proc. 3rd ACM Symposium on Principles of Distributed Computing (PODC), pp. 163–178 (1984)
Yin, J., Martin, J.P., Alvisi, A.V.L., Dahlin, M.: Separating agreement from execution in Byzantine fault-tolerant services. In: Proc. 19th ACM Symposium on Operating System Principles (SOSP), pp. 253–268 (2003)
Zhou, L., Schneider, F.B., van Renesse, R.: COCA: A secure distributed online certification authority. ACM Transactions on Computer Systems 20(4), 329–368 (2002)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2010 Springer-Verlag Berlin Heidelberg
About this chapter
Cite this chapter
Cachin, C. (2010). State Machine Replication with Byzantine Faults. In: Charron-Bost, B., Pedone, F., Schiper, A. (eds) Replication. Lecture Notes in Computer Science, vol 5959. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-11294-2_9
Download citation
DOI: https://doi.org/10.1007/978-3-642-11294-2_9
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-11293-5
Online ISBN: 978-3-642-11294-2
eBook Packages: Computer ScienceComputer Science (R0)