Conference Paper

Bosco: One-Step Byzantine Asynchronous Consensus

DOI: 10.1007/978-3-540-87779-0_30 Conference: Distributed Computing, 22nd International Symposium, DISC 2008, Arcachon, France, September 22-24, 2008. Proceedings
Source: DBLP


Asynchronous Byzantine consensus algorithms are an important primitive for building Byzantine fault-tolerant systems. Algorithms for Byzantine consensus typically require at least two communication steps for decision; in many systems, this imposes a significant performance overhead. In this paper, we show that it is possible to design Byzantine fault-tolerant consensus algorithms that decide in one message latency under contention-free scenarios and still provide strong consistency guarantees when contention occurs. We define two variants of one-step asynchronous Byzantine consensus and show a lower bound on the number of processors needed for each. We present a Byzantine consensus algorithm, Bosco, for asynchronous networks that meets these bounds, even in the face of a strong network adversary.

Download full-text


Available from: Robbert Van Renesse, Dec 19, 2013
  • Source
    • "Pseudo-code for Fast Consensus [32] "
    [Show abstract] [Hide abstract]
    ABSTRACT: The robustness of distributed systems is usually phrased in terms of the number of failures of certain types that they can withstand. However, these failure models are too crude to describe the different kinds of trust and expectations of participants in the modern world of complex, integrated systems extending across different owners, networks, and administrative domains. Modern systems often exist in an environment of heterogeneous trust, in which different participants may have different opinions about the trustworthiness of other nodes, and a single participant may consider other nodes to differ in their trustworthiness. We explore how to construct distributed protocols that meet the requirements of all participants, even in heterogeneous trust environments. The key to our approach is using lattice-based information flow to analyse and prove protocol properties. To demonstrate this approach, we show how two earlier distributed algorithms can be generalized to work in the presence of heterogeneous trust: first, Heterogeneous Fast Consensus, an adaptation of the earlier Bosco Fast Consensus protocol; and second, Nysiad, an algorithm for converting crash-tolerant protocols to be Byzantine-tolerant. Through simulations, we show that customizing a protocol to a heterogeneous trust configuration yields performance improvements over the conventional protocol designed for homogeneous trust.
    Preview · Article · Dec 2014
  • Source
    • "Such an additional power can be obtained by randomization (e.g., [3] [9] [13] [21] [24]), failure detectors (e.g., [13] [15]), additional synchrony assumptions (e.g., [10] [16]), or even the assumption that there is a binary consensus algorithm that is given for free by the underlying system (e.g., [6] [9] [18] [22] [25]). "
    [Show abstract] [Hide abstract]
    ABSTRACT: Providing application processes with strong agreement guarantees despite failures is a fundamental problem of fault-tolerant distributed computing. Correct processes have not to be “polluted” by the erroneous behavior of faulty processes. This paper considers the consensus agreement problem in a setting where some processes can behave arbitrarily (Byzantine behavior). In such a context it is possible that Byzantine processes collude to direct the correct processes to decide on a “bad” value (a value proposed only by faulty processes). The paper has several contributions. It presents a family of consensus algorithms in which no bad value is ever decided by correct processes. These processes always decide a value they have proposed (and this is always the case when they all propose the same value) or a default value \(\bot\). These algorithms are called intrusion-free consensus algorithms. To that end, each consensus algorithm is based on an appropriate underlying broadcast algorithm. One of these abstractions, called validated broadcast is new and allows the design of a resilience-optimal consensus algorithm (i.e., it copes with up to t < n/3 faulty processes where n is the total number of processes). All proposed consensus algorithms assume the underlying system is enriched with additional computational power provided by a binary Byzantine consensus algorithm. The paper presents also a resilience-optimal randomized binary consensus algorithm based on the validated broadcast abstraction. An important feature of all these algorithms lies in the fact that they are signature-free (and hence particularly efficient).
    Full-text · Article · Dec 2010
  • Source
    • "[8]. Recently, [15] has proposed a consensus algorithm for Byzantine faults that ensures strong validity, in which the decision is possible in the first round. "
    [Show abstract] [Hide abstract]
    ABSTRACT: The paper considers the consensus problem in a partially synchronous system with Byzantine pro- cesses. In this context, the literature distinguishes (1) authenticated Byzantine faults, where messages can be signed by the sending process (with the assump- tion that the signature cannot be forged by any other process), and (2) Byzantine faults, where there is no mechanism for signatures (but the receiver of a mes- sage knows the identity of the sender). The paper proposes an abstraction called weak interactive con- sistency (WIC) that unifies consensus algorithms with and without signed messages. WIC can be imple- mented with and without signatures. The power of WIC is illustrated on two seminal Byzantine consensus algorithms: the Castro-Liskov PBFT algorithm (no signatures) and the Martin-Alvisi FaB Paxos algorithms (signatures). WIC allows a very concise expression of these two algorithms. More- over, using a implementation of WIC without signa- tures allows us to derive a signature-free variant of FaB Paxos.
    Preview · Article ·
Show more