Home

High-Level View

News

Industrial Use

Learning

The Toolbox

Tools

Advanced Topics

More Stuff

ccc

Mechanically Checked Safety Proof of a Byzantine Paxos Algorithm

Leslie Lamport

Last modified on 25 July 2020


This web page links to the formal PlusCal specifications of the algorithms, and the machine-checked TLA+ proofs of their correctness, that are presented informally in the paper Byzantizing Paxos by Refinement.  That paper describes an algorithm BPCon that abstracts and generalizes the consensus algorithm at the heart of the algorithm described in the seminal paper Practical Byzantine Fault Tolerance and Proactive Recovery by Miguel Castro and Barbara Liskov (ACM Transactions on Computer Systems 20, 4 (2002), pages 398-461).  BPCon also admits two other implementations: a simple one that employs digital signatures and a previously unpublished one that, like the Castro-Liskov algorithm, relies only on message authenticators.  It is derived by Byzantizing algorithm PCon, a variant of the classic Paxos consensus algorithm first published in The Part-Time Parliament by Leslie Lamport, (ACM Transactions on Computer Systems 16, 2 (1998), pages 133-169).  (Paxos also appeared without proof in Brian Oki's Ph.D. thesis.)  Although never presented in this form, PCon was essentially used as part of two previous algorithms: Vertical Paxos and an unpublished (but patented) version of Cheap Paxos.

What We've Done       [show]

The Specifications       [show]

Verifying the Refinements       [show]


This page can be found by searching the Web for the 23-letter string uidlamportbyzpaxosproof.  Please do not put this string in any document that could wind up on the web--including email messages and Postscript and Word documents.  You can refer to it in Web documents as the string obtained by removing the - from uid-lamportbyzpaxosproof.