Validating Labelled State Transition and Message Production Systems: A Theory for Modelling Faulty Distributed Systems
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.
- In: ACM symposium on Operating systems principles, pp. 45–58.
- https://doi.org/10.5281/zenodo.10391528.
- In: Symposium on Principles of Distributed Computing, pp. 301–308.
- David Gries (1981): The Science of Programming. Springer, 10.1007/978-1-4612-5983-1.
- 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.
- Leslie Lamport, Robert Shostak & Marshall Pease (1982): The Byzantine Generals Problem. ACM Transactions on Programming Languages and Systems 4(3), pp. 382–401.
- 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.
- Satoshi Nakamoto (2014): Bitcoin: A Peer-to-Peer Electronic Cash System. https://bitcoin.org/bitcoin.pdf.
- The Coq Development Team (2023): The Coq Proof Assistant. https://doi.org/10.5281/zenodo.1003420.
- 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.
Paper Prompts
Sign up for free to create and run prompts on this paper using GPT-5.
Top Community Prompts
Collections
Sign up for free to add this paper to one or more collections.