Papers
Topics
Authors
Recent
Search
2000 character limit reached

Validating Labelled State Transition and Message Production Systems: A Theory for Modelling Faulty Distributed Systems

Published 25 Feb 2022 in cs.DC and cs.LO | (2202.12662v4)

Abstract: Modeling and formally reasoning about distributed systems with faults is a challenging task. To address this problem, we propose the theory of Validating Labeled State transition and Message production systems (VLSMs). The theory of VLSMs provides a general approach to describing and verifying properties of distributed protocols whose executions are subject to faults, supporting a correct-by-construction system development methodology. The central focus of our investigation is equivocation, a mode of faulty behavior that we formally model, reason about, and then show how to detect from durable evidence that may be available locally to system components. Equivocating components exhibit behavior that is inconsistent with single-trace system executions, while also only interacting with other components by sending and receiving valid messages. Components of system are called validators for that system if their validity constraints validate that the messages they receive are producible by the system. Our main result shows that for systems of validators, the effect that Byzantine components can have on honest validators is precisely identical to the effect that equivocating components can have on non-equivocating validators. Therefore, for distributed systems of potentially faulty validators, replacing Byzantine components with equivocating components has no material analytical consequences, and forms the basis of a sound alternative foundation to Byzantine fault tolerance analysis. All of the results and examples in the paper have been formalised and checked in the Coq proof assistant.

Definition Search Book Streamline Icon: https://streamlinehq.com
References (10)
  1. In: ACM symposium on Operating systems principles, pp. 45–58.
  2. https://doi.org/10.5281/zenodo.10391528.
  3. In: Symposium on Principles of Distributed Computing, pp. 301–308.
  4. David Gries (1981): The Science of Programming. Springer, 10.1007/978-1-4612-5983-1.
  5. Alexander Jaffe, Thomas Moscibroda & Siddhartha Sen (2012): On the price of equivocation in Byzantine agreement. In: Symposium on Principles of Distributed Computing, pp. 309–318.
  6. Leslie Lamport, Robert Shostak & Marshall Pease (1982): The Byzantine Generals Problem. ACM Transactions on Programming Languages and Systems 4(3), pp. 382–401.
  7. Mads F. Madsen & Søren Debois (2020): On the subject of non-equivocation: defining non-equivocation in synchronous agreement systems. In: Symposium on Principles of Distributed Computing, pp. 159–168.
  8. Satoshi Nakamoto (2014): Bitcoin: A Peer-to-Peer Electronic Cash System. https://bitcoin.org/bitcoin.pdf.
  9. The Coq Development Team (2023): The Coq Proof Assistant. https://doi.org/10.5281/zenodo.1003420.
  10. Vlad Zamfir, Nate Rush, Aditya Asgaonkar & Georgios Piliouras (2019): Introducing the “Minimal CBC Casper” Family of Consensus Protocols. https://github.com/cbc-casper/cbc-casper-paper.
Citations (1)

Summary

No one has generated a summary of this paper yet.

Paper to Video (Beta)

No one has generated a video about this paper yet.

Whiteboard

No one has generated a whiteboard explanation for this paper yet.

Open Problems

We haven't generated a list of open problems mentioned in this paper yet.

Continue Learning

We haven't generated follow-up questions for this paper yet.

Collections

Sign up for free to add this paper to one or more collections.

Tweets

Sign up for free to view the 2 tweets with 8 likes about this paper.