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

05/19/2019
by   Idan Berkovits, et al.
0

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.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
09/22/2020

A Formally Verified Protocol for Log Replication with Byzantine Fault Tolerance

Byzantine fault tolerant protocols enable state replication in the prese...
research
10/19/2017

Paxos Made EPR: Decidable Reasoning about Distributed Protocols

Distributed protocols such as Paxos play an important role in many compu...
research
06/22/2020

Verifying Accountability for Unbounded Sets of Participants

Little can be achieved in the design of security protocols without trust...
research
11/28/2022

Automating and Mechanizing Cutoff-based Verification of Distributed Protocols

Distributed protocols are generally parametric and can be executed on a ...
research
11/24/2020

New method of verifying cryptographic protocols based on the process model

A cryptographic protocol (CP) is a distributed algorithm designed to pro...
research
06/19/2013

Verifying the Steane code with Quantomatic

In this paper we give a partially mechanized proof of the correctness of...
research
03/08/2023

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