9 research outputs found
Fair and trustworthy: Lock-free enhanced tendermint blockchain algorithm
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
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
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
Модифікація протоколів консенсусу для покращення масштабованості блокчейну
Метою даної кваліфікаційної роботи є модифікація протоколів консенсусу для покращення масштабованості блокчейну.
Завданням роботи є: дослідити протоколи консенсусу та проблеми масштабування протоколів консенсусу, модифікувати протоколи консенсусу для покращення масштабування.
Об’єктом дослідження є: інформаційні процеси в системах блокчейну.
Предметом дослідження є: властивість масштабування блокчейн протоколів консенсусу.
Результатом роботи є: Розподіл усіх вузлів на групи, використання довіреного середовища виконання, для зменшення кількості груп та учасників в кожній групі, використання передового алгоритму оптимізації обміну повідомленнями між комітетами.
Результат роботи може використовуватися при розробці нових блокчейн систем з можливістю масштабування.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
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