Formal Verification of a Distributed Dynamic Reconfiguration Protocol

09/24/2021
by   William Schultz, et al.
0

We present a formal, machine checked TLA+ safety proof of MongoRaftReconfig, a distributed dynamic reconfiguration protocol. MongoRaftReconfig was designed for and implemented in MongoDB, a distributed database whose replication protocol is derived from the Raft consensus algorithm. We present an inductive invariant for MongoRaftReconfig that is formalized in TLA+ and formally proved using the TLA+ proof system (TLAPS). We also present a formal TLAPS proof of two key safety properties of MongoRaftReconfig, LeaderCompleteness and StateMachineSafety. To our knowledge, these are the first machine checked inductive invariant and safety proof of a dynamic reconfiguration protocol for a Raft based replication system.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
02/23/2021

Design and Verification of a Logless Dynamic Reconfiguration Protocol in MongoDB Replication

We present a novel dynamic reconfiguration protocol for the MongoDB repl...
research
03/27/2018

Modeling a Cache Coherence Protocol with the Guarded Action Language

We present a formal model built for verification of the hardware Tera-Sc...
research
08/19/2021

Towards an Automatic Proof of Lamport's Paxos

Lamport's celebrated Paxos consensus protocol is generally viewed as a c...
research
03/07/2019

Invariant Safety for Distributed Applications

We study a proof methodology for verifying the safety of data invariants...
research
06/02/2020

On the Significance of Consecutive Ballots in Paxos

In this paper we examine the Paxos protocol and demonstrate how the disc...
research
02/20/2018

CASPaxos: Replicated State Machines without logs

CASPaxos is a replicated state machine (RSM) protocol, an extension of S...
research
05/13/2020

Stabilizing Congestion in Decentralized Record-Keepers

We argue that recent developments in proof-of-work consensus mechanisms ...

Please sign up or login with your details

Forgot password? Click here to reset