Paxos Consensus, Deconstructed and Abstracted [chapter]

Álvaro García-Pérez, Alexey Gotsman, Yuri Meshman, Ilya Sergey
2018 Lecture Notes in Computer Science  
Lamport's Paxos algorithm is a classic consensus protocol for state machine replication in environments that admit crash failures. Many versions of Paxos exploit the protocol's intrinsic properties for the sake of gaining better run-time performance, thus widening the gap between the original description of the algorithm, which was proven correct, and its real-world implementations. In this work, we address the challenge of specifying and verifying complex Paxos-based systems by (a) devising
more » ... posable specifications for implementations of Paxos's singledecree version, and (b) engineering disciplines to reason about protocolaware, semantics-preserving optimisations to single-decree Paxos. In a nutshell, our approach elaborates on the deconstruction of single-decree Paxos by Boichat et al. We provide novel non-deterministic specifications for each module in the deconstruction and prove that the implementations refine the corresponding specifications, such that the proofs of the modules that remain unchanged can be reused across different implementations. We further reuse this result and show how to obtain a verified implementation of Multi-Paxos from a verified implementation of single-decree Paxos, by a series of novel protocol-aware transformations of the network semantics, which we prove to be behaviour-preserving.
doi:10.1007/978-3-319-89884-1_32 fatcat:t5cqoiq6czayjps2r6eute4un4