Making Reads in BFT State Machine Replication Fast, Linearizable, and Live

07/23/2021
by   Christian Berger, et al.
0

Practical Byzantine Fault Tolerance (PBFT) is a seminal state machine replication protocol that achieves a performance comparable to non-replicated systems in realistic environments. A reason for such high performance is the set of optimizations introduced in the protocol. One of these optimizations is read-only requests, a particular type of client request which avoids running the three-step agreement protocol and allows replicas to respond directly, thus reducing the latency of reads from five to two communication steps. Given PBFT's broad influence, its design and optimizations influenced many BFT protocols and systems that followed, e.g., BFT-SMaRt. We show, for the first time, that the read-only request optimization introduced in PBFT more than 20 years ago can violate its liveness. Notably, the problem affects not only the optimized read-only operations but also standard, totally-ordered operations. We show this weakness by presenting an attack in which a malicious leader blocks correct clients and present two solutions for patching the protocol, making read-only operations fast and correct. The two solutions were implemented on BFT-SMaRt and evaluated in different scenarios, showing their effectiveness in preventing the identified attack.

READ FULL TEXT
research
10/26/2017

Exploiting Commutativity For Practical Fast Replication

Traditional approaches to replication require client requests to be orde...
research
02/04/2022

Alea-BFT: Practical Asynchronous Byzantine Fault Tolerance

Traditional Byzantine Fault Tolerance (BFT) state machine replication pr...
research
04/12/2019

ezBFT: Decentralizing Byzantine Fault-Tolerant State Machine Replication

We present ezBFT, a novel leaderless, distributed consensus protocol cap...
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
09/14/2021

Egalitarian Byzantine Fault Tolerance

Minimizing end-to-end latency in geo-replicated systems usually makes it...
research
06/13/2019

Mir-BFT: High-Throughput BFT for Blockchains

This paper presents Mir-BFT (or, simply, Mir), a robust asynchronous Byz...
research
10/13/2020

Microsecond Consensus for Microsecond Applications

We consider the problem of making apps fault-tolerant through replicatio...

Please sign up or login with your details

Forgot password? Click here to reset