Skip to main content

From Viewstamped Replication to Byzantine Fault Tolerance

  • Chapter
Replication

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 5959))

Abstract

The paper provides an historical perspective about two replication protocols, each of which was intended for practical deployment. The first is Viewstamped Replication, which was developed in the 1980’s and allows a group of replicas to continue to provide service in spite of a certain number of crashes among them. The second is an extension of Viewstamped Replication that allows the group to survive Byzantine (arbitrary) failures. Both protocols allow users to execute general operations (thus they provide state machine replication); both were developed in the Programming Methodology group at MIT.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 59.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 79.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Abd-El-Malek, M., Ganger, G.R., Goodson, G.R., Reiter, M.K., Wylie, J.J.: Fault-scalable Byzantine Fault-Tolerant Services. In: SOSP 2005, Brighton, United Kingdom (Oct. 2005)

    Google Scholar 

  2. Bernstein, P.A., Goodman, N.: The Failure and Recovery Problem for Replicated Databases. In: Second ACM Symposium on the Principles of Distributed Computing, Aug. 1983, pp. 114–122 (1983)

    Google Scholar 

  3. Bracha, G., Toueg, S.: Asynchronous Consensus and Broadcast Protocols. Journal of the ACM 32(4), 824–840 (1985)

    Article  MathSciNet  MATH  Google Scholar 

  4. Castro, M.: Practical Byzantine Fault Tolerance. Technical Report MIT-LCS-TR-817, Laboratory for Computer Science, MIT, Cambridge, ph.D. thesis (Jan. 2000)

    Google Scholar 

  5. Castro, M., Liskov, B.: Practical Byzantine Fault Tolerance. In: Proceedings of OSDI 1999, New Orleans, LA (Feb. 1999)

    Google Scholar 

  6. Castro, M., Liskov, B.: Proactive Recovery in a Byzantine-Fault-Tolerant System. In: Proceedings of the Fourth Symposium on Operating Systems Design and Implementation (OSDI), San Diego, CA (Oct. 2000)

    Google Scholar 

  7. Castro, M., Liskov, B.: Practical Byzantine Fault Tolerance and Proactive Recovery. ACM Transactions on Computer Systems 20(4), 398–461 (2002)

    Article  Google Scholar 

  8. Cowling, J., Myers, D., Liskov, B., Rodrigues, R., Shrira, L.: HQ Replication: A Hybrid Quorum Protocol for Byzantine Fault Tolerance. In: Proceedings of the Seventh Symposium on Operating Systems Design and Implementations (OSDI), Seattle, Washington (Nov. 2006)

    Google Scholar 

  9. Gifford, D.K.: Information Storage in a Decentralized Computer System. Technical Report CSL-81-8, Xerox Corporation, ph.D. thesis (Mar. 1983)

    Google Scholar 

  10. Gray, J.N.: Notes on database operating systems. In: Flynn, M.J., Jones, A.K., Opderbeck, H., Randell, B., Wiehle, H.R., Gray, J.N., Lagally, K., Popek, G.J., Saltzer, J.H. (eds.) Operating Systems. LNCS, vol. 60, pp. 393–481. Springer, Heidelberg (1978)

    Chapter  Google Scholar 

  11. Howard, J., Kazar, M., Menees, S., Nichols, D., Satyanarayanan, M., Sidebotham, R., West, M.: Scale and Performance in a Distributed File System. ACM Transactions on Computer Systems 6(1), 51–81 (1988)

    Article  Google Scholar 

  12. Kotla, R., Alvisi, L., Dahlin, M., Clement, A., Wong, E.: Zyzzyva: Speculative Byzantine Fault Tolerance. In: Proceedings of SOSP 2007, Stevenson, WA (October 2007)

    Google Scholar 

  13. Lamport, L.: Time, Clocks, and the Ordering of Events in a Distributed System. Comm. of the ACM 21(7), 558–565 (1978)

    Article  MATH  Google Scholar 

  14. Lamport, L.: The Part-Time Parliament. Research Report 49, Digital Equipment Corporation Systems Research Center, Palo Alto, CA (Sep. 1989)

    Google Scholar 

  15. Lamport, L.: The Part-Time Parliament. ACM Transactions on Computer Systems 10(2) (1998)

    Google Scholar 

  16. Li, J., Mazieres, D.: Beyond One-third Faulty Replicas in Byzantine Fault Tolerant Systems. In: Proceedings of the 4th NSDI, Apr. 2007, USENIX, Cambridge, MA, USA (2007)

    Google Scholar 

  17. Liskov, B.: Distributed Programming in Argus. Comm. of the ACM 31(3), 300–312 (1988)

    Article  MathSciNet  Google Scholar 

  18. Liskov, B., Ghemawat, S., Gruber, R., Johnson, P., Shrira, L., Williams, M.: Replication in the Harp File System. In: Proceedings of the Thirteenth ACM Symposium on Operating System Principles, Pacific Grove, California, pp. 226–238 (1991)

    Google Scholar 

  19. Liskov, B., Scheifler, R.W.: Guardians and Actions: Linguistic Support for Robust, Distributed Programs. ACM Transactions on Programming Languages and Systems 5(3), 381–404 (1983)

    Article  MATH  Google Scholar 

  20. Liskov, B., Snyder, A., Atkinson, R., Schaffert, J.C.: Abstraction Mechanisms in CLU. Comm. of the ACM 20(8), 564–576 (1977), also in Zdonik, S. and Maier, D. (eds.) Readings in Object-Oriented Database Systems

    Article  MATH  Google Scholar 

  21. Liskov, B., Zilles, S.: Programming with Abstract Data Types. In: Proceedings of the ACM SIGPLAN Conference on Very High Level Languages, vol. 9, Apr. 1974, pp. 50–59. ACM Press, New York (1974)

    Chapter  Google Scholar 

  22. Liskov, B., Zilles, S.: Specification Techniques for Data Abstractions. IEEE Transactions on Software Engineering 1(1) (1975)

    Google Scholar 

  23. Merkle, R.C.: A Digital Signature Based on a Conventional Encryption Function. In: Pomerance, C. (ed.) CRYPTO 1987. LNCS, vol. 293, pp. 369–378. Springer, Heidelberg (1988)

    Google Scholar 

  24. Mills, D.L.: Network time protocol (version 1) specification and implementation. DARPA-Internet Report RFC 1059 (Jul. 1988)

    Google Scholar 

  25. Oki, B., Liskov, B.: Viewstamped Replication: A New Primary Copy Method to Support Highly-Available Distributed Systems. In: Proc. of ACM Symposium on Principles of Distributed Computing, pp. 8–17 (1988)

    Google Scholar 

  26. Oki, B.M.: Viewstamped Replication for Highly Available Distributed Systems. Technical Report MIT-LCS-TR-423, Laboratory for Computer Science, MIT, Cambridge, MA, ph.D. thesis (May 1988)

    Google Scholar 

  27. Papadimitriou, C.H.: The Serializability of Concurrent Database Updates. Journal of the ACM 26(4), 631–653 (1979)

    Article  MathSciNet  MATH  Google Scholar 

  28. Rodrigues, R., Liskov, B., Castro, M.: BASE: Using Abstraction to Improve Fault Tolerance. ACM Transactions on Computer Systems 21(3) (2003)

    Google Scholar 

  29. Sandberg, R., et al.: Design and Implementation of the Sun Network Filesystem. In: Proceedings of the Summer 1985 USENIX Conference, Jun. 1985, pp. 119–130 (1985)

    Google Scholar 

  30. Schneider, F.: Implementing Fault-Tolerant Services using the State Machine Approach: a Tutorial. ACM Computing Surveys 22(4), 299–319 (1990)

    Article  Google Scholar 

  31. Shein, B., et al.: NFSSTONE - A Network File Server Performance Benchmark. In: USENIX Summer ’89 Conference Proceedings, pp. 269–274 (1989)

    Google Scholar 

  32. Vandiver, B., Liskov, B., Madden, S., Balakrishnan, H.: Tolerating Byzantine Faults in Database Systems using Commit Barrier Scheduling. In: Proceedings of SOSP 2007, Stevenson, WA (October 2007)

    Google Scholar 

  33. Wester, B., Cowling, J., Nightingale, E., Chen, P., Flinn, J., Liskov, B.: Tolerating Latency in Replicated State Machines through Client Speculation. In: Proceeding of the 6th NSDI, Boston, MA (April 2009)

    Google Scholar 

  34. Yin, J., Martin, J., Venkataramani, A., Alvisi, L., Dahlin, M.: Separating Agreement from Execution for Byzantine Fault Tolerant Services. In: Proceedings of the 19th ACM Symposium on Operating Systems Principles (Oct. 2003)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2010 Springer-Verlag Berlin Heidelberg

About this chapter

Cite this chapter

Liskov, B. (2010). From Viewstamped Replication to Byzantine Fault Tolerance. 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_7

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-11294-2_7

  • 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)

Publish with us

Policies and ethics