Verification of Threshold-Based Distributed Algorithms by Decomposition to Decidable Logics

by   Idan Berkovits, et al.

Verification of fault-tolerant distributed protocols is an immensely difficult task. Often, in these protocols, thresholds on set cardinalities are used both in the process code and in its correctness proof, e.g., a process can perform an action only if it has received an acknowledgment from at least half of its peers. Verification of threshold-based protocols is extremely challenging as it involves two kinds of reasoning: first-order reasoning about the unbounded state of the protocol, together with reasoning about sets and cardinalities. In this work, we develop a new methodology for decomposing the verification task of such protocols into two decidable logics: EPR and BAPA. Our key insight is that such protocols use thresholds in a restricted way as a means to obtain certain properties of "intersection" between sets. We define a language for expressing such properties, and present two translations: to EPR and BAPA. The EPR translation allows verifying the protocol while assuming these properties, and the BAPA translation allows verifying the correctness of the properties. We further develop an algorithm for automatically generating the properties needed for verifying a given protocol, facilitating fully automated deductive verification. Using this technique we have verified several challenging protocols, including Byzantine one-step consensus, hybrid reliable broadcast and fast Byzantine Paxos.


page 1

page 2

page 3

page 4


A Formally Verified Protocol for Log Replication with Byzantine Fault Tolerance

Byzantine fault tolerant protocols enable state replication in the prese...

Paxos Made EPR: Decidable Reasoning about Distributed Protocols

Distributed protocols such as Paxos play an important role in many compu...

Verifying Accountability for Unbounded Sets of Participants

Little can be achieved in the design of security protocols without trust...

Automating and Mechanizing Cutoff-based Verification of Distributed Protocols

Distributed protocols are generally parametric and can be executed on a ...

New method of verifying cryptographic protocols based on the process model

A cryptographic protocol (CP) is a distributed algorithm designed to pro...

Verifying the Steane code with Quantomatic

In this paper we give a partially mechanized proof of the correctness of...

Automatic verification of transparency protocols (extended version)

We introduce new features in ProVerif, an automatic tool for verifying s...

Please sign up or login with your details

Forgot password? Click here to reset