130 research outputs found

    Reconfigurable Lattice Agreement and Applications

    Get PDF
    Reconfiguration is one of the central mechanisms in distributed systems. Due to failures and connectivity disruptions, the very set of service replicas (or servers) and their roles in the computation may have to be reconfigured over time. To provide the desired level of consistency and availability to applications running on top of these servers, the clients of the service should be able to reach some form of agreement on the system configuration. We observe that this agreement is naturally captured via a lattice partial order on the system states. We propose an asynchronous implementation of reconfigurable lattice agreement that implies elegant reconfigurable versions of a large class of lattice abstract data types, such as max-registers and conflict detectors, as well as popular distributed programming abstractions, such as atomic snapshot and commit-adopt

    A Mixed Integer Linear Programming formulations for optimizing timing performance during the deployment phase in real-time systems design

    Get PDF
    Following the standard development methodologies for the real-time systems, the designer has to deploy functions exchanging signals information onto an execution platform. The deployment consists of the three stages i.e. (i) the placement of functions and signals on a distributed network of nodes, (ii) the partitioning of these functions and signals in fixed-priority tasks and messages, respectively, and (iii) the tasks and messages scheduling (i.e. tasks and messages priority assignment). As the design choices at each stage highly influence the timing performance of the system, in the present report, we are interested in supporting designers in their choices during the three stages. To achieve that, we use the Mixed Integer Linear Programming (MILP) technique. Therefore, we first give a MILP formulation which deals with the three stages at the same time; it is called one-step MILP formulation. Then, we face the high complexity of the one-step MILP formulation by decomposing it into two less complex MILP formulations; we call that two-step MILP formulation. The first MILP formulation treats the placement of functions and exchanged signals to nodes and buses, respectively. The second MILP formulation determines the partitioning of functions (resp. signals) in tasks (resp. messages) and assigns priorities to each partition

    On Finality in Blockchains

    Get PDF
    This paper focuses on blockchain finality, which refers to the time when it becomes impossible to remove a block that has previously been appended to the blockchain. Blockchain finality can be deterministic or probabilistic, immediate or eventual. To favor availability against consistency in the face of partitions, most blockchains only offer probabilistic eventual finality: blocks may be revoked after being appended to the blockchain, yet with decreasing probability as they sink deeper into the chain. Other blockchains favor consistency by leveraging the immediate finality of Consensus - a block appended is never revoked - at the cost of additional synchronization. The quest for "good" deterministic finality properties for blockchains is still in its infancy, though. Our motivation is to provide a thorough study of several possible deterministic finality properties and explore their solvability. This is achieved by introducing the notion of bounded revocation, which informally says that the number of blocks that can be revoked from the current blockchain is bounded. Based on the requirements we impose on this revocation number, we provide reductions between different forms of eventual finality, Consensus and Eventual Consensus. From these reductions, we show some related impossibility results in presence of Byzantine processes, and provide non-trivial results. In particular, we provide an algorithm that solves a weak form of eventual finality in an asynchronous system in presence of an unbounded number of Byzantine processes. We also provide an algorithm that solves eventual finality with a bounded revocation number in an eventually synchronous environment in presence of less than half of Byzantine processes. The simplicity of the arguments should better guide blockchain designs and link them to clear formal properties of finality

    Accountability and Reconfiguration: Self-Healing Lattice Agreement

    Get PDF
    An accountable distributed system provides means to detect deviations of system components from their expected behavior. It is natural to complement fault detection with a reconfiguration mechanism, so that the system could heal itself, by replacing malfunctioning parts with new ones. In this paper, we describe a framework that can be used to implement a large class of accountable and reconfigurable replicated services. We build atop the fundamental lattice agreement abstraction lying at the core of storage systems and cryptocurrencies. Our asynchronous implementation of accountable lattice agreement ensures that every violation of consistency is followed by an undeniable evidence of misbehavior of a faulty replica. The system can then be seamlessly reconfigured by evicting faulty replicas, adding new ones and merging inconsistent states. We believe that this paper opens a direction towards asynchronous "self-healing" systems that combine accountability and reconfiguration

    On Fairness in Committee-Based Blockchains

    Get PDF
    Committee-based blockchains are among the most popular alternatives of proof-of-work based blockchains, such as Bitcoin. They provide strong consistency (no fork) under classical assumptions, and avoid using energy-consuming mechanisms to add new blocks in the blockchain. For each block, these blockchains use a committee that executes Byzantine-fault tolerant distributed consensus to decide the next block they will add in the blockchain. Unlike Bitcoin, where there is only one creator per block, in committee-based blockchain any block is cooperatively created. In order to incentivize committee members to participate in the creation of new blocks, rewarding schemes have to be designed. In this paper, we study the fairness of rewarding in committee-based blockchains and we provide necessary and sufficient conditions on the system communication under which it is possible to have a fair reward mechanism

    Correctness of Tendermint-Core Blockchains

    Get PDF
    Tendermint-core blockchains (e.g. Cosmos) are considered today one of the most viable alternatives for the highly energy consuming proof-of-work blockchains such as Bitcoin and Ethereum. Their particularity is that they aim at offering strong consistency (no forks) in an open system combining two ingredients (i) a set of validators that generate blocks via a variant of Practical Byzantine Fault Tolerant (PBFT) consensus protocol and (ii) a selection strategy that dynamically selects nodes to be validators for the next block via a proof-of-stake mechanism. The exact assumptions on the system model under which Tendermint underlying algorithms are correct and the exact properties Tendermint verifies, however, have never been formally analyzed. The contribution of this paper is as follows. First, while formalizing Tendermint algorithms we precisely characterize the system model and the exact problem solved by Tendermint, then, we prove that in eventual synchronous systems a modified version of Tendermint solves (i) under additional assumptions, a variant of one-shot consensus for the validation of one single block and (ii) a variant of the repeated consensus problem for multiple blocks. These results hold even if the set of validators is hit by Byzantine failures, provided that for each one-shot consensus instance less than one third of the validators is Byzantine

    Consensus en Présence de Participants Rationnels et Byzantins

    Get PDF
    International audienceNous étudions les comportements des participants d'un protocole de consensus lorsqu'ils présentent des comportements rationnels ou Byzantins. Nous nous inspirons des protocoles de blockchains tolérantes aux fautes Byzantines (comme Tendermint). Dans ces protocoles, les participants proposent des blocs et s'échangent des messages. Un bloc est accepté si une majorité de participants envoie le message correspondant à ce bloc (un vote), et les votants sont récompensés. Dans ce travail, nous étudions les conditions sous lesquelles ce protocole satisfait les deux propriétés suivantes : la terminaison (le système converge vers une décision) et la validité (toute décision est valide), quand certains participants sont rationnels et les autres Byzantins. Nous supposons que les participants Byzantins ont le comportement infligeant le plus de dégâts au système, tandis que les stratégies des participants rationnels forment un équilibre Bayésien parfait. Nous considérons les paramètres suivant : (i) le nombre de votes nécessaires, ν, pour qu'un bloc soit considéré comme accepté, et (ii) le nombre de participants Byzantins, noté f , dans le système. Nous obtenons les résultats suivants : Quand f ≥ ν, les blocs invalides sont acceptés, et donc la validité ne peut être garantie ; Quand f < ν, il existe un équilibre où la validité et la terminaison sont toutes deux satisfaites, par contre, il existe d'autres équilibres où la terminaison, et dans quelques cas la validité, ne sont pas satisfaites. Cela nous permet de conclure à l'existence de problèmes de coordination dans les protocoles étudiés

    Rational Behavior in Committee-Based Blockchains

    Get PDF
    We study the rational behaviors of participants in committee-based blockchains. Committee-based blockchains rely on specific blockchain consensus that must be guaranteed in presence of rational participants. We consider a simplified blockchain consensus algorithm based on existing or proposed committee-based blockchains that encapsulates the main actions of the participants: voting for a block, and checking its validity. Knowing that those actions have costs, and achieving the consensus gives rewards to committee members, we study using game theory how strategic players behave while trying to maximizing their gains. We consider different reward schemes, and found that in each setting, there exist equilibria where blockchain consensus is guaranteed; in some settings however, there can be coordination failures hindering consensus. Moreover, we study equilibria with trembling participants, which is a novelty in the context of committee-based blockchains. Trembling participants are rational that can do unintended actions with a low probability. We found that in presence of trembling participants, there exist equilibria where blockchain consensus is guaranteed; however, when only voters are rewarded, there also exist equilibria where validity can be violated

    RandSolomon: Optimally Resilient Random Number Generator with Deterministic Termination

    Get PDF
    Multi-party random number generation is a key building-block in many practical protocols. While straightforward to solve when all parties are trusted to behave correctly, the problem becomes much more difficult in the presence of faults. This paper presents RandSolomon, a partially synchronous protocol that allows a system of N processes to produce an unpredictable common random number shared by correct participants. The protocol is optimally resilient, as it allows up to f = ?(N-1)/3? of the processes to behave arbitrarily, ensures deterministic termination and, contrary to prior solutions, does not, at any point, expect faulty processes to be responsive
    corecore