Formal Verification of Consensus Algorithms Tolerating Malicious Faults

Bernadette Charron-Bost, Henri Debrat, and Stephan Merz
Abstract
Consensus is the paradigmatic problem in fault-tolerant distributed computing: it requires network nodes that communicate by message passing to agree on common value even in the presence of (benign or malicious) faults. Several algorithms for solving Consensus exist, but few of them have been rigorously verified, much less so formally. The Heard-Of model proposes a simple, unifying framework for defining distributed algorithms in the presence of communication faults. Algorithms proceed in communication-closed rounds, and assumptions on the faults tolerated by the algorithm are stated abstractly in the form of communication predicates. Extending previous work on the case of benign faults, our approach relies on the fact that properties such as Consensus can be verified over a coarse-grained, round-based representation of executions. We have encoded the Heard-Of model in the interactive proof assistant Isabelle/HOL and have used this encoding to formally verify three Consensus algorithms based on synchronous and asynchronous assumptions. Our proofs give some new insights into the correctness of the algorithms, in particular with respect to transient faults.
© Springer-Verlag 2011
Available as: PDF
Reference
@InProceedings{charron:formal-malicious,
  author =       {Bernadette Charron-Bost and Henri Debrat and Stephan Merz},
  title =        {Formal Verification of Consensus Algorithms Tolerating Malicious Faults},
  booktitle = {13th Intl. Symp. Stabilization, Safety, and Security of Distributed Systems (SSS 2011)},
  pages =     {120-134},
  year =      2011,
  editor =    {Xavier D{\'e}fago and Franck Petit and Vincent Villain},
  volume =    6976,
  series =    {LNCS},
  address =   {Grenoble, France},
  publisher = {Springer},
}

Stephan Merz