Bolt-On Strong Consistency: Specification, Implementation, and Verification
Nicholas V. Lewchenko, Gowtham Kaki, Bor-Yuh Evan Chang
Abstract
and Amazon, USA Strongly-consistent replicated data stores are a popular foundation for many kinds of online services, but their implementations are very complex. Strong replication is not available under network partitions, and so achieving a functional degree of fault-tolerance requires correctly implementing consensus algorithms like Raft and Paxos. These algorithms are notoriously difficult to reason about, and many data stores implement custom variations to support unique performance tradeoffs, presenting an opportunity for automated verification tools. Unfortunately, existing tools that have been applied to distributed consensus demand too much developer effort, a problem stemming from the low-level programming model in which consensus and strong replication are implemented-asynchronous message passing-which thwarts decidable automation by exposing the details of asynchronous communication.
In this paper, we consider the implementation and automated verification of strong replication systems as applications of weak replicated data stores. Weak stores, being available under partition, are a suitable foundation for performant distributed applications. Crucially, they abstract asynchronous communication and allow us to derive local-scope conditions for the verification of consensus safety. To evaluate this approach, we have developed a verified-programming framework for the weak replicated state model, called Super-V. This framework enables SMT-based verification based on local-scope artifacts called stable update preconditions, replacing standard-practice global inductive invariants. We have used our approach to implement and verify a strong replication system based on an adaptation of the Raft consensus algorithm.
Ask about this paper
Your agent reads all of it.
Lune indexed this paper to the last equation, along with the top-tier papers that cite it. Ask a question and the answer quotes them.
Your agent calls
Luneget_paper_fulltext
Free to start. No credit card required.
Terminal
Install the CLIlune papers fulltext 9bc07a21-b2b9-4c3a-b9f5-a625ed20333eCited by top-tier papers2
- PRDTs: Composable Design and Verification of Consensus Protocols using Replicated Data TypesJulian Haas, Ragnar Mogk, Annette Bieniusa, Mira MeziniOOPSLA 2026 · 1 citation
- Effectively Propositional Higher-Order Functional ProgrammingNicholas V. Lewchenko, Kunha Kim, Bor-Yuh Evan Chang, Gowtham KakiOOPSLA 2026
Builds on3
- Verifying replicated data types with typeclass refinements in Liquid HaskellYiyun Liu, James Parker, Patrick Redmond, Lindsey Kuper et al.OOPSLA 2020 · 24 citations
- Type-Checking CRDT ConvergenceGeorge Zakhour, Pascal Weisenburger, Guido SalvaneschiPLDI 2023 · 16 citations
- Refinement for Structured Concurrent ProgramsBernhard Kragl, Shaz Qadeer, Thomas A. HenzingerCAV 2020 · 10 citations
Related papers
- LSM-Raft: Optimizing Raft for LSM-tree StoreXiaojian Zhang, Xinyu Tan, Shaoxu Song, Xiangdong Huang et al.SIGMOD 2026 · 1 citation
- Mostly Automated Verification of Liveness Properties for Distributed Protocols with Ranking FunctionsJianan Yao, Runzhou Tao, Ronghui Gu, Jason NiehPOPL 2024 · 12 citations
- Adore: atomic distributed objects with certified reconfigurationWolf Honoré, Ji-Yong Shin, Jieung Kim, Zhong ShaoPLDI 2022 · 9 citations
- Bandle: Asynchronous State Machine Replication Made EfficientBo Wang, Shengyun Liu, He Dong, Xiangzhe Wang et al.EuroSys 2024 · 4 citations
- DuoAI: Fast, Automated Inference of Inductive Invariants for Verifying Distributed ProtocolsJianan Yao, Runzhou Tao, Ronghui Gu, Jason NiehOSDI 2022 · 50 citations
