Brief Announcement: Revisiting Consensus Protocols through Wait-Free Parallelization (original) (raw)

Revisiting consensus protocols through wait-free parallelization

2019

The recent surge of blockchain systems has renewed the interest in traditional Byzantine fault-tolerant consensus protocols. Many such consensus protocols have a primary-backup design in which an assigned replica, the primary, is responsible for coordinating the consensus protocol. Although the primary-backup design leads to relatively simple and high performance consensus protocols, it places an unreasonable burden on a good primary and allows malicious primaries to substantially affect the system this http URL this paper, we propose a protocol-agnostic approach to improve the design of primary backup consensus protocols. At the core of our approach is a novel wait-free approach of running several instances of the underlying consensus protocol in parallel. To yield a high performance parallelized design, we present coordination-free techniques to order operations across parallel instances, deal with instance failures, and assign clients to specific instances. Consequently, the desi...

A Method of Parallelizing Consensuses for Accelerating Byzantine Fault Tolerance

IEICE Transactions on Information and Systems, 2014

We propose a new method that accelerates asynchronous Byzantine Fault Tolerant (BFT) protocols designed on the principle of state machine replication. State machine replication protocols ensure consistency among replicas by applying operations in the same order to all of them. A naive way to determine the application order of the operations is to repeatedly execute the BFT consensus to determine the next executed operation, but this may introduce inefficiency caused by waiting for the completion of the previous execution of the consensus protocol. To reduce this inefficiency, our method allows parallel execution of the consensuses while keeping consistency of the consensus results at the replicas. In this paper, we also prove the correctness of our method and experimentally compare it with the existing method in terms of latency and throughput. The evaluation results show that our method makes a BFT protocol three or four times faster than the existing one when some machines or message transmissions are delayed.

Distributed Consensus, revisited

Acta Informatica, 2007

We provide a novel model to formalize a well-known algorithm, by Chandra and Toueg, that solves Consensus among asynchronous distributed processes in the presence of a particular class of failure detectors (3S or, equivalently, Ω), under the hypothesis that only a minority of processes may crash. The model is defined as a global transition system that is unambigously generated by local transition rules. The model is syntax-free in that it does not refer to any form of programming language or pseudo code. We use our model to formally prove that the algorithm is correct. * The original publication is available at www.springerlink.com 1 Actually, the algorithm may easily reach system configurations in which, at a certain point in time, every process is coordinator in its current round, while all processes are in pairwise different rounds, by having every participant simply always suspect the respective coordinator. Analogously, the algorithm may easily reach moments in which none of the processes is the coordinator of its round. Moreover, in such a moment, it is impossible to predict, from a chronological point of view, which process will next become coordinator.

Good, Better, Best!-Unbeatable Protocols for Consensus and Set Consensus

While the very first consensus protocols for the synchronous model were designed to match the worst-case lower bound, deciding in exactly t + 1 rounds in all runs, it was soon realized that they could be strictly improved upon by early stopping protocols. These dominate the first ones, by always deciding in at most t + 1 rounds, but often much faster. A protocol is unbeatable if it can't be strictly dominated. Namely, if no protocol Q can decide strictly earlier than P against at least one adversary strategy, while deciding at least as fast as P in all cases. Unbeatability is often a much more suitable notion of optimality for distributed protocols than worst-case performance. Halpern, Moses and Waarts in [17], who introduced this notion, presented a general logic-based transformation of any consensus protocol to an unbeatable protocol that dominates it, and suggested a particular unbeatable consensus protocol. Their analysis is based on a notion of continual common knowledge, which is not easy to work with in practice. Using a more direct knowledge-based analysis, this paper studies unbeatability for both consensus and k-set consensus. We present unbeatable solutions to non-uniform consensus and k-set consensus, and uniform consensus in synchronous messagepassing contexts with crash failures. Our consensus protocol strictly dominates the one suggested in [17], showing that their protocol is in fact beatable. The k-set consensus problem is much more technically challenging than consensus, and its analysis has triggered the development of the topological approach to distributed computing. Worst-case lower bounds for this problem have required either techniques based on algebraic topology [13], or reduction-based proofs [1, 12]. Our proof of unbeatability is purely combinatorial, and is a direct, albeit nontrivial, generalization of the one for consensus. We also present an alternative topological unbeatability proof that allows to understand the connection between the connectivity of protocol complexes and the decision time of processes. All of our protocols make use of a notion of a hidden path of nodes relative to a process i at time m, in which a value unknown to i at m may be seen by others. This is a structure that can implicitly be found in lower bound proofs for consensus going back to the '80s [7]. Its use in our protocols sheds light on the mathematical structure underlying the consensus problem and its variants. For the synchronous model, only solutions to the uniform variant of k-set consensus have been offered. Based on our unbeatable protocols for uniform consensus and for non-uniform k-set consensus, we present a uniform k-set consensus protocol that strictly dominates all known solutions to this problem in the synchronous model.

A Performance Study of Consensus Algorithms in Omission and Crash-Recovery Scenarios

2014 22nd Euromicro International Conference on Parallel, Distributed, and Network-Based Processing, 2014

We investigate the performance of the Chandra-Toueg and Paxos consensus algorithms, using as case study TrustedPals, a smartcard-based framework which allows to implement security policies in distributed systems. The current architecture of TrustedPals uses the Chandra-Toueg consensus algorithm adapted to the omission failure model. In this work, we propose to alternatively use the Paxos consensus algorithm, in order to extend the applicability of the framework to the crash-recovery failure model as well. We have performed simulations to compare these two consensus algorithms under different failure scenarios. Our results show that Paxos is more efficient than Chandra-Toueg if the first process which coordinates or leads a round suffers a failure, while both algorithms perform similarly when there are no failures.

Spin One's Wheels? Byzantine Fault Tolerance with a Spinning Primary

… Systems, 2009. SRDS' …, 2009

Most Byzantine fault-tolerant state machine replication (BFT) algorithms have a primary replica that is in charge of ordering the clients requests. Recently it was shown that this dependence allows a faulty primary to degrade the performance of the system to a small fraction of what the environment allows. In this paper we present Spinning, a novel BFT algorithm that mitigates such performance attacks by changing the primary after every batch of pending requests is accepted for execution. This novel mode of operation deals with those attacks at a much lower cost than previous solutions, maintaining a throughput equal or better to the algorithm that is usually considered to be the baseline in the area, Castro and Liskov's PBFT.

Version Vector Weighted Voting protocol: efficient and fault-tolerant commitment for weakly connected replicas

Concurrency and Computation: Practice and Experience, 2007

Mobile and other loosely coupled environments call for decentralized optimistic replication protocols that provide highly available access to shared objects, while ensuring eventual consistency. We propose a protocol based on epidemic weighted voting for achieving such a goal with better availability than traditional primary commit approaches. We improve previous epidemic weighted voting solutions by allowing commitment of multiple, happened-before related updates at a single distributed election round. We demonstrate that our protocol, in contrast to basic weighted voting solutions, achieves similar update commitment ratios to the primary commit alternative. The improvement over basic weighted voting is especially amplified with weaker replica connectivity, as in mobile and other loosely coupled environments. We support such claims by presenting comparison performance results obtained from sideby-side execution of reference protocols in a simulated environment.

An Efficient and Fault-Tolerant Update Commitment Protocol for Weakly Connected Replicas

Lecture Notes in Computer Science, 2005

Mobile and other loosely-coupled environments call for decentralized optimistic replication protocols that provide highly available access to shared objects, while ensuring eventual convergence towards a strongly consistent state. In this paper we propose a novel epidemic weighted voting protocol for achieving such goal. Epidemic weighted voting approaches eliminate the single point of failure limitation of primary commit approaches. Our protocol introduces a significant improvement over other epidemic weighted voting solutions by allowing multiple, happened-before related updates to be committed at a single distributed election round. We demonstrate that our protocol is especially advantageous with the weak connectivity levels that characterize mobile and other loosely-coupled networks. We support such claims by presenting comparison results obtained from side-by-side execution of reference protocols in a simulated environment.

Scrooge: Reducing the costs of fast Byzantine replication in presence of unresponsive replicas

2010 IEEE/IFIP International Conference on Dependable Systems & Networks (DSN), 2010

Byzantine-Fault-Tolerant (BFT) state machine replication is an appealing technique to tolerate arbitrary failures. However, Byzantine agreement incurs a fundamental trade-off between being fast (i.e. optimal latency) and achieving optimal resilience (i.e. 2f + b + 1 replicas, where f is the bound on failures and b the bound on Byzantine failures [10]). Achieving fast Byzantine replication despite f failures requires at least f + b − 2 additional replicas . In this paper we show, maybe surprisingly, that fast Byzantine agreement despite f failures is practically attainable using only b − 1 additional replicas, which is independent of the number of crashes tolerated. This makes our approach particularly appealing for systems that must tolerate many crashes (large f ) and few Byzantine faults (small b). The core principle underlying our approach is to have the correct replicas agree on a quorum of responsive replicas before agreeing on requests. This is key to circumventing the resilience lower bound of fast Byzantine agreement .