Verifying Almost-Sure Termination for Randomized Distributed Algorithms

  • Constantin Enea
  • , Rupak Majumdar
  • , Harshit Jitendra Motwani
  • , V. R. Sathiyanarayana

Research output: Contribution to journalArticlepeer-review

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.

Original languageEnglish
Pages (from-to)1412-1441
Number of pages30
JournalProceedings of the ACM on Programming Languages
Volume10
DOIs
Publication statusPublished - 8 Jan 2026

Keywords

  • almost-sure termination
  • probabilistic programs
  • proof rules

Fingerprint

Dive into the research topics of 'Verifying Almost-Sure Termination for Randomized Distributed Algorithms'. Together they form a unique fingerprint.

Cite this