9 research outputs found

    Fair and trustworthy: Lock-free enhanced tendermint blockchain algorithm

    Get PDF
    Blockchain Technology is exclusively used to make online transactions secure by maintaining a distributed and decentralized ledger of records across multiple computers. Tendermint is a general-purpose blockchain engine that is composed of two parts; Tendermint Core and the blockchain application interface. The application interface makes Tendermint suitable for a wide range of applications. In this paper, we analyze and improve Practical Byzantine Fault Tolerant (PBFT), a consensus-based Tendermint blockchain algorithm. In order to avoid negative issues of locks, we first propose a lock-free algorithm for blockchain in which the proposal and voting phases are concurrent whereas the commit phase is sequential. This consideration in the algorithm allows parallelism. Secondly, a new methodology is used to decide the size of the voter set which is a subset of blockchain nodes, further investigating the block sensitivity and trustworthiness of nodes. Thirdly, to fairly select the voter set nodes, we employ the random walk algorithm. Fourthly, we imply the wait-freedom property by using a timeout due to which all blocks are eventually committed or aborted. In addition, we have discussed voting conflicts and consensuses issues that are used as a correctness property, and provide some supportive techniques

    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

    The Easiest Way of Turning your Relational Database into a Blockchain -- and the Cost of Doing So

    Full text link
    Blockchain systems essentially consist of two levels: The network level has the responsibility of distributing an ordered stream of transactions to all nodes of the network in exactly the same way, even in the presence of a certain amount of malicious parties (byzantine fault tolerance). On the node level, each node then receives this ordered stream of transactions and executes it within some sort of transaction processing system, typically to alter some kind of state. This clear separation into two levels as well as drastically different application requirements have led to the materialization of the network level in form of so-called blockchain frameworks. While providing all the "blockchain features", these frameworks leave the node level backend flexible or even left to be implemented depending on the specific needs of the application. In the following paper, we present how to integrate a highly versatile transaction processing system, namely a relational DBMS, into such a blockchain framework. As framework, we use the popular Tendermint Core, now part of the Ignite/Cosmos eco-system, which can run both public and permissioned networks and combine it with relational DBMSs as the backend. This results in a "relational blockchain", which is able to run deterministic SQL on a fully replicated relational database. Apart from presenting the integration and its pitfalls, we will carefully evaluate the performance implications of such combinations, in particular, the throughput and latency overhead caused by the blockchain layer on top of the DBMS. As a result, we give recommendations on how to run such a systems combination efficiently in practice

    Модифікація протоколів консенсусу для покращення масштабованості блокчейну

    Get PDF
    Метою даної кваліфікаційної роботи є модифікація протоколів консенсусу для покращення масштабованості блокчейну. Завданням роботи є: дослідити протоколи консенсусу та проблеми масштабування протоколів консенсусу, модифікувати протоколи консенсусу для покращення масштабування. Об’єктом дослідження є: інформаційні процеси в системах блокчейну. Предметом дослідження є: властивість масштабування блокчейн протоколів консенсусу. Результатом роботи є: Розподіл усіх вузлів на групи, використання довіреного середовища виконання, для зменшення кількості груп та учасників в кожній групі, використання передового алгоритму оптимізації обміну повідомленнями між комітетами. Результат роботи може використовуватися при розробці нових блокчейн систем з можливістю масштабування.The purpose of this qualification is to modify consensus protocols to improve blockchain scalability. The job is to: explore consensus protocols and the problems of scaling consensus protocols, modify consensus protocols to improve scaling. The object of the study is: scaling consensus protocol blockchain property. The result is: Division of all nodes into committees, use of trusted execution environment, to reduce the number of committees and participants in each committee, use of advanced algorithm for optimizing messaging between shards. The result of the work can be used in the development of new blockchain systems with scalabilityЦелью данной квалификационной работы является модификация протоколов консенсуса для улучшения масштабируемости блокчейну. Задачей работы является: исследовать протоколы консенсуса и проблемы масштабирования протоколов консенсуса, модифицировать протоколы консенсуса для улучшения масштабирования. Объектом исследования являются: информационные процессы в системе блокчейн. Предметом исследования: проблемы масштабирования блокчейну. Результатом работы являются: Распределение всех узлов на группы, использование доверенной среды выполнения, для уменьшения количества грепп и участников в каждой группе, использование передового алгоритма оптимизации обмена сообщениями между комитетами. Результат работы может использоваться при разработке новых блокчейн систем с возможностью масштабировани

    Correctness and Fairness 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. However,the exact assumptions on the system model under which Tendermint underlying algorithms are correct and the exact properties Tendermint verifies have never been formally analyzed. The contribution of this paper is two-fold. First, while formalizing Tendermint algorithms we precisely characterize the system model and the exact problem solved by Tendermint. 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. Our second contribution relates to the fairness of the rewarding mechanism. It is common knowledge that in permisionless blockchain systems the main threat is the tragedy of commons that may yield the system to collapse if the rewarding mechanism is not adequate. Ad minimum the rewarding mechanism must be fair, i.e.distributing the rewards in proportion to the merit of participants. We prove, for the first time in blockchain systems, that in repeated-consensus based blockchains there exists an (eventual) fair rewarding mechanism if and only if the system is (eventual) synchronous. We also show that the original Tendermint rewarding is not fair, however, a modification of the original protocol makes it eventually fair
    corecore