Modeling the Raft Distributed Consensus Protocol in LNT

04/28/2020
by   Hugues Evrard, et al.
0

Consensus protocols are crucial for reliable distributed systems as they let them cope with network and server failures. For decades, most consensus protocols have been designed as variations of the seminal Paxos, yet in 2014 Raft was presented as a new, "understandable" protocol, meant to be easier to implement than the notoriously subtle Paxos family. Raft has since been used in various industrial projects, e.g. Hashicorp's Consul or etcd (used by Google's Kubernetes). The correctness of Raft is established via a manual proof, based on a TLA+ specification of the protocol. This paper reports our experience in modeling Raft in the LNT process algebra. We found a couple of issues with the original TLA+ specification of Raft, which has been corrected since. More generally, this exercise offers a great opportunity to discuss how to best use the features of the LNT formal language and the associated CADP verification toolbox to model distributed protocols, including network and server failures.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
10/05/2020

Specification of the Giskard Consensus Protocol

The Giskard consensus protocol is used to validate transactions and comp...
research
05/19/2023

Specification and Runtime Checking of Derecho, A Protocol for Fast Replication for Cloud Services

Reliable distributed systems require replication and consensus among dis...
research
03/08/2019

Certifying Safety when Implementing Consensus

Ensuring the correctness of distributed system implementations remains a...
research
02/23/2022

Compositional Model Checking of Consensus Protocols Specified in TLA+ via Interaction-Preserving Abstraction

Consensus protocols are widely used in building reliable distributed sof...
research
01/24/2023

Quorum Tree Abstractions of Consensus Protocols

Distributed algorithms solving agreement problems like consensus or stat...
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
07/27/2020

Bernoulli Meets PBFT: Modeling BFT Protocols in the Presence of Dynamic Failures

The publication of the pivotal state machine replication protocol PBFT l...

Please sign up or login with your details

Forgot password? Click here to reset