11 research outputs found

    Paxos Consensus, Deconstructed and Abstracted

    Get PDF
    Lamport’s Paxos algorithm is a classic consensus protocol for state machine replication in environments that admit crash failures. Many versions of Paxos exploit the protocol’s intrinsic properties for the sake of gaining better run-time performance, thus widening the gap between the original description of the algorithm, which was proven correct, and its real-world implementations. In this work, we address the challenge of specifying and verifying complex Paxos-based systems by (a) devising composable specifications for implementations of Paxos’s single-decree version, and (b) engineering disciplines to reason about protocol-aware, semantics-preserving optimisations to single-decree Paxos. In a nutshell, our approach elaborates on the deconstruction of single-decree Paxos by Boichat et al. We provide novel non-deterministic specifications for each module in the deconstruction and prove that the implementations refine the corresponding specifications, such that the proofs of the modules that remain unchanged can be reused across different implementations. We further reuse this result and show how to obtain a verified implementation of Multi-Paxos from a verified implementation of single-decree Paxos, by a series of novel protocol-aware transformations of the network semantics, which we prove to be behaviour-preserving

    Paxos Consensus, Deconstructed and Abstracted (Extended Version)

    Get PDF
    Lamport's Paxos algorithm is a classic consensus protocol for state machine replication in environments that admit crash failures. Many versions of Paxos exploit the protocol's intrinsic properties for the sake of gaining better run-time performance, thus widening the gap between the original description of the algorithm, which was proven correct, and its real-world implementations. In this work, we address the challenge of specifying and verifying complex Paxos-based systems by (a) devising composable specifications for implementations of Paxos's single-decree version, and (b) engineering disciplines to reason about protocol-aware, semantics-preserving optimisations to single-decree Paxos. In a nutshell, our approach elaborates on the deconstruction of single-decree Paxos by Boichat et al. We provide novel non-deterministic specifications for each module in the deconstruction and prove that the implementations refine the corresponding specifications, such that the proofs of the modules that remain unchanged can be reused across different implementations. We further reuse this result and show how to obtain a verified implementation of Multi-Paxos from a verified implementation of single-decree Paxos, by a series of novel protocol-aware transformations of the network semantics, which we prove to be behaviour-preserving.Comment: Accepted for publication in the 27th European Symposium on Programming (ESOP'18

    A Review of Consensus Protocols in Permissioned Blockchains

    Get PDF
    Consensus protocols are used for the distributed management of large databases in an environment without trust among participants. The choice of a specific protocol depends on the purpose and characteristics of the system itself. The subjects of the paper are consensus protocols in permissioned blockchains. The objective of this paper is to identify functional advantages and disadvantages of observed protocol. The analysis covers a total of six consensus protocols for permissioned blockchains. The following characteristics were compared: security, trust among participants, throughput and scalability. The results show that no protocol shows absolute dominance in all aspects of the comparison. Paxos and Raft are intended for systems in which there is no suspicion of unreliable users, but only the problem of a temporary shutdown. Practical Byzantine Fault Tolerance is intended for systems with a small number of nodes. Federated Byzantine Fault Tolerance shows better scalability and is more suitable for large systems, but can withstand a smaller number of malicious nodes. Proof-of-authority can withstand the largest number of malicious nodes without interfering with the functioning of the system. When choosing a consensus protocol for a blockchain application, one should take into account priority characteristics

    State Machine Replication Is More Expensive Than Consensus

    Get PDF
    Consensus and State Machine Replication (SMR) are generally considered to be equivalent problems. In certain system models, indeed, the two problems are computationally equivalent: any solution to the former problem leads to a solution to the latter, and vice versa. In this paper, we study the relation between consensus and SMR from a complexity perspective. We find that, surprisingly, completing an SMR command can be more expensive than solving a consensus instance. Specifically, given a synchronous system model where every instance of consensus always terminates in constant time, completing an SMR command does not necessarily terminate in constant time. This result naturally extends to partially synchronous models. Besides theoretical interest, our result also corresponds to practical phenomena we identify empirically. We experiment with two well-known SMR implementations (Multi-Paxos and Raft) and show that, indeed, SMR is more expensive than consensus in practice. One important implication of our result is that - even under synchrony conditions - no SMR algorithm can ensure bounded response times

    Impact of Blockchain-Technology on business models: Formulation of a procedural model using the example of intermediary players

    Get PDF
    Seit ihrer erstmaligen Vorstellung im Zusammenhang mit der Bitcoin-Blockchain gilt die Blockchain-Technologie als eine der Zukunftstechnologien, die einen großen Einfluss auf Unternehmen und ihre bestehenden GeschĂ€ftsmodelle haben wird. Trotz der offensichtlich hohen Relevanz dieser Technologie fĂŒr die Planung und den Fortbestand solcher Unternehmen, finden sich bisher nur wenige wirtschaftswissenschaftliche AnsĂ€tze zur Analyse und Strukturierung der Effekte der Technologie aus einer Managementperspektive. Insbesondere stehen die GeschĂ€ftsmodelle solcher Unternehmen im Fokus, die als IntermediĂ€re agieren. Unternehmen benötigen einen strukturierten Ansatz, um ihre GeschĂ€ftsmodelle auf die Auswirkungen der Implementation einer Blockchain-Infrastruktur im eigenen Unternehmen oder im Unternehmensumfeld zu ĂŒberprĂŒfen. Zu diesem Zweck wird ein Vorgehensmodells entwickelt, welches eine vierphasige Vorgehensweise, basierend auf einer Kombination und Erweiterung bestehender wirtschaftswissenschaftlicher Grundlagen und Managementmethoden postuliert. Die Teilschritte und Instrumente der Phasen werden inhaltlich entwickelt und anschließend in einer integrierten Illustrations-Mehrfallstudie anhand von vier exemplarischen FĂ€llen intermediĂ€rer Unternehmen erprobt und die Vorgehensweise demonstriert.Since its first presentation in the context of the Bitcoin blockchain, Blockchain-Technology has been regarded as one of the technologies of the future that will have a major impact on companies and their existing business models. Despite the obvious high relevance of this technology for the planning and continued existence of such companies, only a few economic approaches to analyze and structure the effects of the technology from a management perspective can be found so far. In particular, the focus is on the business models of such companies that act as intermediaries. Companies need a structured approach to examine their business models for the effects of implementing a blockchain infrastructure in their own company or in the corporate environment. For this purpose, a procedural model is developed that postulates a four-phase approach based on a combination and extension of existing economic principles and management methods. The sub-steps and instruments of the phases are developed in terms of content and then tested in an integrated illustrative multi-case study using four exemplary cases of intermediary companies to demonstrate the approach

    Safe Programming Over Distributed Streams

    Get PDF
    The sheer scale of today\u27s data processing needs has led to a new paradigm of software systems centered around requirements for high-throughput, distributed, low-latency computation.Despite their widespread adoption, existing solutions have yet to provide a programming model with safe semantics -- and they disagree on basic design choices, in particular with their approach to parallelism. As a result, naive programmers are easily led to introduce correctness and performance bugs. This work proposes a reliable programming model for modern distributed stream processing, founded in a type system for partially ordered data streams. On top of the core type system, we propose language abstractions for working with streams -- mechanisms to build stream operators with (1) type-safe compositionality, (2) deterministic distribution, (3) run-time testing, and (4) static performance bounds. Our thesis is that viewing streams as partially ordered conveniently exposes parallelism without compromising safety or determinism. The ideas contained in this work are implemented in a series of open source software projects, including the Flumina, DiffStream, and Data Transducers libraries

    Space in Ancient Greek Literature

    Get PDF
    The third volume of the Studies in Ancient Greek narrative deals with the narratological category of space: how is space, including objects which function as 'props', presented in narrative texts and what are its functions (thematic, symbolic, psychologising, or characterising).; Readership: All those interested in ancient Greek literature, narrative theory, literary history, comparative literature
    corecore