Skip to main content

Mechanical verification of a generalized protocol for Byzantine fault tolerant clock synchronization

  • Session 4A
  • Conference paper
  • First Online:

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 571))

Abstract

Schneider [Sch87] generalizes a number of protocols for Byzantine fault-tolerant clock synchronization and presents a uniform proof for their correctness. We present a mechanical verification of Schneider's protocol leading to several significant clarifications and revisions. The verification was carried out with the Ehdm system [RvHO91] developed at the SRI Computer Science Laboratory. The mechanically checked proofs include the verification that the egocentric mean function used in Lamport and Melliar-Smith's Interactive Convergence Algorithm [LMS85] satisfies the requirements of Schneider's protocol. Our mechanical verification raises a number of issues regarding the verification of fault-tolerant, distributed, real-time protocols that are germane to the design of a special-purpose logic for such problems.

This work was supported by NASA Contract NAS1-18226. John Rushby, Friedrich von Henke, Fred Schneider, and Rick Butler provided considerable guidance and encouragement. I also thank Paul Miner (NASA Langley Research Center) and the referees for their comments and clarifications.

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

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. R. Alur and T. A. Henzinger. A really temporal logic. In 30th IEEE Symp. on Foundations of Computer Science, 1989.

    Google Scholar 

  2. W. R. Bevier and W. D. Young. Machine checked proofs of the design and implementation of a fault-tolerant circuit. NASA Contractor Report 182099, Computational Logic, Inc., 1990.

    Google Scholar 

  3. E. M. Clarke and O. Grumberg. Research on automatic verication of finite state concurrent systems. In Annual Review of Computer Science, pages 269–290. Annual Reviews, Inc., 1987.

    Google Scholar 

  4. E. A. Emerson, A. K. Mok, A. P. Sistla, and J. Srinivasan. Quantitative temporal reasoning. In Computer-Aided Verification, 1989.

    Google Scholar 

  5. R. Koymans. Specifiying message passing and time-critical systems with temporal logic. PhD thesis, Eindhoven Univ. of Technology, 1989.

    Google Scholar 

  6. J. Lundelius and N. A. Lynch. A new fault-tolerant algorithm for clock synchronization. In Proc. of the Third ACM Symp. on Principles of Distributed Computing, pages 75–88, 1984.

    Google Scholar 

  7. L. Lamport and P.M. Melliar-Smith. Synchronizing clocks in the presence of faults. Journal of the ACM, 32(1):52–78, January 1985.

    Google Scholar 

  8. Leslie Lamport, Robert Shostak, and Marshall Pease. The Byzantine generals problem. ACM TOPLAS, 4(3):382–401, July 1982.

    Google Scholar 

  9. A. Pnueli. The temporal logic of programs. In Proc. 18th Ann. IEEE Symp. on Foundations of Computer Science, pages 46–57, 1977.

    Google Scholar 

  10. John Rushby. Formal specification and verification of a fault-masking and transient-recovery model for digital flight-control systems. Technical Report SRI-CSL-91-3, Computer Science Laboratory, SRI International, Menlo Park, CA, January 1991. Also available as NASA Contractor Report 4384, and to appear in Proceedings of the Symposium on Formal Techniques in Real Time and Fault Tolerant Systems, Nijmegen, Netherlands, January 1992.

    Google Scholar 

  11. John Rushby and Friedrich von Henke. Formal verification of the interactive convergence clock synchronization algorithm using Ehdm. Technical Report SRI-CSL-89-3R, Computer Science Laboratory, SRI International, Menlo Park, CA, February 1989 (Revised August 1991). Also available as NASA Contractor Report 4239.

    Google Scholar 

  12. John Rushby, Friedrich von Henke, and Sam Owre. An introduction to formal specification and verification using Ehdm. Technical Report SRI-CSL-91-2, Computer Science Laboratory, SRI International, Menlo Park, CA, February 1991.

    Google Scholar 

  13. Fred B. Schneider. Understanding protocols for Byzantine clock synchronization. Technical Report 87-859, Department of Computer Science, Cornell University, Ithaca, NY, August 1987.

    Google Scholar 

  14. Natarajan Shankar. Mechanical verification of a schematic Byzantine clock synchronization algorithm. Nasa contractor report 4386, June 1991.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Jan Vytopil

Rights and permissions

Reprints and permissions

Copyright information

© 1991 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Shankar, N. (1991). Mechanical verification of a generalized protocol for Byzantine fault tolerant clock synchronization. In: Vytopil, J. (eds) Formal Techniques in Real-Time and Fault-Tolerant Systems. FTRTFT 1992. Lecture Notes in Computer Science, vol 571. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-55092-5_12

Download citation

  • DOI: https://doi.org/10.1007/3-540-55092-5_12

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-55092-1

  • Online ISBN: 978-3-540-46692-5

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics