Verifying Almost-Sure Termination for Randomized Distributed Algorithms

Read full text
Authors: Constantin Enea, Rupak Majumdar, Harshit J. Motwani, V. R. Sathiyanarayana
Cited by: 1
References: 43

Abstract

We present a technique for the verification of liveness properties of randomized distributed algorithms. Our technique gives SMT-based proofs for many common consensus algorithms, both for crash faults and for Byzantine faults. It is based on a sound proof rule for fair almost-sure termination of distributed systems that combines martingale-based techniques for almost-sure termination with reasoning about weak fairness. Our proof rule is able to handle parametrized protocols where the state grows unboundedly and every variant function is unbounded. These protocols were out of scope for previous approaches, which either relied on bounded variant functions or on reductions to (non-probabilistic) fairness. We have implemented our proof rules on top of Caesar, a program verifier for probabilistic programs. We use our proof rule to give SMT-based proofs for termination properties of randomized asynchronous consensus protocols, including Ben-Or’s protocol and graded binary consensus, for both crash and Byzantine faults. These protocols have notoriously difficult proofs of termination but fall within the scope of our proof rule.

Fields of Study & Subjects

Distributed systems and fault tolerance Formal Methods in Verification Complexity and Algorithms in Graphs

Publication details

Journal / source
Proceedings of the ACM on Programming Languages
Publisher
Association for Computing Machinery (ACM)
Volume
10
Issue
POPL
Pages
1412–1441
Publication date
8 January 2026
Language
EN