ABSTRACT
Raft is widely known as one of the distributed consensus protocols and is used to build highly available and strongly consistent services. Using Maude, we formally specify the leader election in Raft and conduct model checking to check whether the protocol enjoys the Election Safety Property that at most one leader can be elected in each logical time, which is one of the properties that Raft is expected to guarantee. Our model checking experiments show that the protocol enjoys the property under the condition that we limit the logical time and the number of servers. We also aim to promote understanding of the leader election in Raft.
- Diego Ongaro and John Ousterhout. 2014. In search of an understandable consensus algorithm. In Proceedings of the 2014 USENIX conference on USENIX Annual Technical Conference (USENIX ATC'14). USENIX Association, USA, 305–320. https://dl.acm.org/doi/10.5555/2643634.2643666Google Scholar
- etcd. [n.d.]. https://etcd.io.Google Scholar
- CockroachDB. [n.d.]. https://github.com/cockroachdb/cockroach.Google Scholar
- YugabyteDB. [n.d.]. https://github.com/yugabyte/yugabyte-db.Google Scholar
- TiKV. [n.d.]. https://github.com/pingcap/tidb.Google Scholar
- Yves Bertot and Pierre Castéran. 2013. Interactive theorem proving and program development: Coq'Art: the calculus of inductive constructions. Springer Science & Business Media.Google Scholar
- M. Clavel, , Ed., All About Maude, ser. Lecture Notes in Computer Science. Springer, 2007, vol. 4350.Google Scholar
- Saksham Chand, Yanhong A Liu, and Scott D Stoller. Formal verification of multi-paxos for distributed consensus. In International Symposium on Formal Methods, pages 119–136. Springer, 2016.Google Scholar
- Lamport, L. Specifying Systems, The TLA+ Language and Tools for Hardware and Software Engineers. Addison-Wesley, 2002.Google Scholar
- Diego Ongaro. 2014. Consensus: Bridging Theory and Practice. Ph.D. Dissertation. Stanford University. https://web.stanford.edu/∼ouster/cgi-bin/papers/OngaroPhD.pdfGoogle Scholar
- Doug Woos, James R. Wilcox, Steve Anton, Zachary Tatlock, Michael D. Ernst, and Thomas Anderson. 2016. Planning for change in a formal verification of the raft consensus protocol. In Proceedings of the 5th ACM SIGPLAN Conference on Certified Programs and Proofs (CPP 2016). Association for Computing Machinery, New York, NY, USA, 154–165. https://doi.org/10.1145/2854065.2854081Google ScholarDigital Library
Index Terms
- Formal Specification and Model Checking of Raft Leader Election in Maude*
Recommendations
A way to find counterexamples located at deep positions with domain knowledge of authentication protocols
ICSCA '23: Proceedings of the 2023 12th International Conference on Software and Computer ApplicationsWe have model checked that a revised version of the RFC 8120 authentication protocol for HTTP enjoys the four security properties under the assumption that once a password is used for a protocol run, it is leaked to the intruder, such as the intruder, ...
Semantics, distributed implementation, and formal analysis of KLAIM models in Maude
Emerging distributed systems such as cloud-based services are characterized by computations over different explicit localities, moving code and data, and a high degree of concurrency. KLAIM is a well-established language that can naturally describe such ...
A Formal Framework for ASTRAL Intralevel Proof Obligations
ASTRAL is a formal specification language for real-time systems. It is intended to support formal software development, and therefore has been formally defined. This paper focuses on how to formally prove the mathematical correctness of ASTRAL ...
Comments