Myoungwon Oh, Sujin Ha, Jin Hyuk Yoon, KangâWon Lee ¡ 6 authors
Distributed ledger technology faces scalability problems due to a long commit time despite recent successes for cryptocurrency. Small group consensus studies have improved this scalability of distributed ledgers. However, they still have problems of the consensus process itself. For example, most blockchain systems perform serialized block proposal and consensus processing, guarantee the finality with high overhead, and handle byzantine nodes inefficiently. To address these problems, we propose a consensus system, named graph learning byzantine fault tolerance (GL BFT), which offers high parallelism and low latency under Byzantine fault. To do this, we enable a parallel pipelined agreement by separating the block proposal and the consensus process. Second, we devise two techniques of merging blocks and commit learning to guarantee the finality with little overhead. Finally, we present a path learning approach which chooses optimal paths to handle Byzantine fault. The proposed GL BFT can achieve instant finality with low message overhead among a small group of nodes even if Byzantine nodes exit. Also, we evaluate its performance on an open source blockchain protocol. Experimental results show that our design reduces data traffic required by the consensus up to 30%, one transaction is finalized within a few seconds, and optimal performance is maintained.
Current permissionless cryptocurrencies such as Bitcoin suffer from a limited transaction rate and slow confirmation time, which hinders further adoption. Payment channels are one of the most promising solutions to address these problems, as they allow the parties of the channel to perform arbitrarily many payments in a peer-to-peer fashion while uploading only two transactions on the blockchain. This concept has been generalized into payment channel networks where a path of payment channels is used to settle the payment between two users that might not share a direct channel between them. However, this approach requires the active involvement of each user in the path, making the system less reliable (they might be offline), more expensive (they charge fees per payment), and slower (intermediaries need to be actively involved in the payment). To mitigate this issue, recent work has introduced the concept of virtual channels (IEEE S&Pâ19), which involve intermediaries only in the initial creation of a bridge between payer and payee, who can later on independently perform arbitrarily many off-chain transactions. Unfortunately, existing constructions are only available for Ethereum, as they rely on its account model and Turing-complete scripting language. The realization of virtual channels in other blockchain technologies with limited scripting capabilities, like Bitcoin, was so far considered an open challenge.In this work, we present the first virtual channel protocols that are built on the UTXO-model and require a scripting language supporting only a digital signature scheme and a timelock functionality, being thus backward compatible with virtually every cryptocurrency, including Bitcoin. We formalize the security properties of virtual channels as an ideal functionality in the Universal Composability framework and prove that our protocol constitutes a secure realization thereof. We have prototyped and evaluated our protocol on the Bitcoin blockchain, demonstrating its efficiency: for n sequential payments, they require an off-chain exchange of 9+2n transactions or a total of 3524+695n bytes, with no on-chain footprint in the optimistic case. This is a substantial improvement compared to routing payments in a payment channel network, which requires 8n transactions with a total of 3026n bytes to be exchanged.
Bitcoin users can offer fees to the miners who record transactions on the blockchain. We document the blockchain rarely runs at capacity, even though there appears to be excess demand and higher fee orders are not always prioritized. We show this is inconsistent with competitive mining, but is consistent with miners exercising market power. If users believe that only high fee transactions will be executed expeditiously then we show how strategic capacity management can be used to increase fee revenue. Using a novel data set, we present evidence consistent with strategic capacity management. We show that mining pools facilitate collusion, and estimate that they have extracted least 300 million USD a year in excess fees by making processing capacity artificially scarce.
Distributed Ledger Technology (DLT) enables data storage in a decentralized manner among collaborating parties. The software architecture of such solutions encompasses models placed in the relevant architectural views. A lot of research is devoted to smart contracts and consensus algorithms, which are realized by distributed applications and can be positioned within the Logical view. However, we see the need to provide modeling support for the Deployment view of distributed ledger solutions. Especially since the chosen DLT framework has a significant impact on implementation and deployment. Besides, consistency between models and configuration deployment scripts should be ensured. So, we have applied Model-Driven Engineering (MDE) that allows on the transformation of models into more detailed models, source code, or tests. We have proposed Unified Modeling Language (UML) stereotypes and tagged values for distributed ledger deployment modeling and placed them in the UML Profile for Distributed Ledger Deployment. We have also designed the UML2Deployment model-to-code transformation for the R3 Corda DLT framework. A UML Deployment model is the source whereas a Gradle Groovy deployment script is the target of the transformation. We have provided the complete solution by incorporating the transformation into the Visual Paradigm modeling tool. Furthermore, we have designed a dedicated plug-in to validate generated deployment scripts. In the paper, we have shown how to design transformation for generating deployment scripts for the R3 Corda DLT framework with the ability to switch to another one.
We present the main concepts, components, and usage of GASOL, a Gas AnalysiS and Optimization tooL for Ethereum smart contracts. GASOL offers a wide variety of cost models that allow inferring the gas consumption associated to selected types of EVM instructions and/or inferring the number of times that such types of bytecode instructions are executed. Among others, we have cost models to measure only storage opcodes, to measure a selected family of gas-consumption opcodes following the Ethereum's classification, to estimate the cost of a selected program line, etc. After choosing the desired cost model and the function of interest, GASOL returns to the user an upper bound of the cost for this function. As the gas consumption is often dominated by the instructions that access the storage, GASOL uses the gas analysis to detect under-optimized storage patterns, and includes an (optional) automatic optimization of the selected function. Our tool can be used within an Eclipse plugin for Solidity which displays the gas and instructions bounds and, when applicable, the gas-optimized Solidity function.
Abstract Distributed ledger technologies will play an important role in the communication and data integrity of internet of things (IoT) devices in the future. IOTA is a public distributed ledger that can serve as a scalable, secure and feeless settlement layer for IoT transactions. It enables microâtransactions for smart devices and offers a highly scalable architecture for network consensus and overcomes the inefficiencies of existing distributed ledgers. Like most miningâbased ledgers, IOTA also require solving a computational puzzle for every request to the ledger to avoid unwanted (ie, spam) content added to the ledger. We propose a system architecture that consumes the available computational resources of public volunteer devices for solving the expensive computational puzzles. We show that our proposed architecture can integrate with the global data and network layer of the IOTA ledger and acts as a middleware for providing computational resources from public volunteer devices to the IOTA network.
The blockchain data structure maintained via the longest-chain ruleâpopularized by Bitcoinâis a powerful algorithmic tool for consensus algorithms. Such algorithms achieve consistency for blocks in the chain as a function of their depth from the end of the chain. While the analysis of Bitcoin guarantees consistency with error 2âk for blocks of depth O(k), the state-of-the-art of proof-of-stake (PoS) blockchains suffers from a quadratic dependence on k: these protocols, exemplified by Ouroboros (Crypto 2017), Ouroboros Praos (Eurocrypt 2018) and Sleepy Consensus (Asiacrypt 2017), can only establish that depth Î(k2) is sufficient. Whether this quadratic gap is an intrinsic limitation of PoSâdue to issues such as the nothing-at-stake problemâhas been an urgent open question, as deployed PoS blockchains further rely on consistency for protocol correctnes. We give an axiomatic theory of blockchain dynamics that permits rigorous reasoning about the longest-chain rule and achieve, in broad generality, Î(k) dependence on depth in order to achieve consistency error 2âk In particular, for the first time we show that PoS protocols can match proof-of-work protocols for linear consistency. We analyze the associated stochastic process, give a recursive relation for the critical functionals of this process, and derive tail bounds in both i.i.d. and martingale settings via associated generating functions.
A blockchain is a Distributed Ledger Technology that has been defined as a ââŹĹdistributed, shared, encrypted database that serves as an irreversible and incorruptible repository of information. Blockchain can be defined as a peer-to-peer distributed ledger that is cryptographically secure, append-only, immutable and updatable only via consensus or agreement among peers. In blockchain platforms, each transaction in the public ledger is verified by consensus of the majority of the system participants in a transparent and secure way. The consensus algorithm refers to the process of attaining an unified agreement on the state of the network in a decentralized way and to facilitate the verification and validation of information being added to the blockchain. This paper aims at providing a comparison between most of the recent consensus algorithms regarding the scalability of the algorithm; the type of blockchain, node identity, the performance of the algorithm (in terms of throughput & latency) and Adversial Tolerance and to deliver a solid basis for discussions about current statistics. In this research, we also presented a new category of the Blockchain consensus algorithms, which consist of three groups as follows; the proof based on Hardware, the proof based on stake, and the proof based on voting.
There are many consensus algorithms that exist in parallel computing that involve multiple computing units like virtual machines which make use of available resources and arrive at a single agreeable state for the combined system. This is done on the basis of voting which itself branches into several arrangements like voting, functions of central tendencies, weighted functions of central tendencies etc. Some applications that consensus algorithms try to cover are: deciding on transaction operations (read, write, commit); deciding on node leaders of a system; maintaining replicas in the state of a machine (also called a state machine) and creating consistency between them. Some common algorithms of this type are Proof of Work algorithm (PoW), the practical Byzantine fault tolerance algorithm (PBFT), the proof-of-stake algorithm (PoS) and the delegated proof-of-stake algorithm (DPoS), Paxos algorithm and the Raft consensus algorithm.
Cryptocurrency networks, such as Bitcoin, have emerged as a distributed alternative to traditional centralized financial transaction networks. However, there are major challenges in scaling up the throughput of such networks. Lightning network and Spider network are alternates that build bidirectional payment channels on top of cryptocurrency networks using smart contracts, to enable fast transactions that bypass the Blockchain. In this article, we study the problem of routing transactions in such a payment processing network. We first propose a Stochastic model to study such a system, as opposed to a fluid model that is studied in the literature. Each link in such a model is a two-sided queue, and unlike classical queues, such queues are not stable unless there is an external control. We propose a notion of stability for the payment processing network consisting of such two-sided queues using the notion of on-chain rebalancing. We then characterize the capacity region and propose a throughput optimal algorithm that stabilizes the system under any load within the capacity region. The stochastic model enables us to study closed-loop policies, which typically have better queuing/delay performance than the open-loop policies (or static split rules) studied in the literature. We investigate this through simulations.
The goal of this article is to extend the ideas concerning Bracha-Toueg asynchronous Byzantine Fault Tolerant consensus algorithm and Baird's Hashgraph consensus. We propose a family of atomic broadcast algorithms, which Hashgraph consensus is closely related to. We also do preliminary comparative algorithm speed analysis which shows that some members of the family seriously outperform Hashgraph consensus. These algorithms can also be readily used as a base of proof-of-stake consensuses. In appendix we provide an extension of Hashgraph gossip protocol, which efficiently handles byzantine fault information exchange between nodes.
The blockchain technology introduced in Satoshi Nakamoto's paper "Bitcoin: A Peer-to-Peer Electronic Cash System" bring a realistic distributed way of transaction to this world. The alternative blockchain Ethereum improved some demerits of Bitcoin. However, the major problem still exists - hash-based proof-of-work requires heavy computing power and hurts the scalability. In this paper, we propose a lightweight blockchain called ZeroCalo. It constructs thousands of miner nodes into DHT (Distributed Hash Table) structure. Efficient message broadcast and key lookup are developed. With them, a consensus-based proof-of-work algorithm for distributed ledger is fulfilled. The evaluation shows that a transaction requires O(logN) of time and O(N) of bandwidth consumption. ZeroCalo consumes very little energy while providing good TPS. This property makes it possible to be deployed on IOT device network or low-end hosts in cloud environment.
Michael Neuder, Daniel J. Moroz, Rithvik Rao, David C. Parkes
Proof-of-Stake consensus protocols give rise to complex modeling challenges. We analyze the Babylon update (October 2019) to the Proof-of-Stake protocol on the Tezos blockchain, and demonstrate that, under certain conditions, rational participants are incentivized to behave dishonestly. In doing so, we provide a theoretical analysis of the feasibility and profitability of a block stealing attack that we call selfish endorsing, a concrete instance of an attack previously only theoretically considered. We propose and analyze a simple change to the Tezos protocol which significantly reduces the (already small) profitability of this dishonest behavior, and introduce a new delay and reward scheme that is provably secure against length-1 and length-2 selfish endorsing attacks. Our framework provides a template for analyzing other Proof-of-Stake protocols for the possibility of selfish behavior.
Vero Estrada-Galiùanes, Racin Nygaard, Viktor Trón, Rodrigo Q. Saramago ¡ 6 authors
Blockchain is the driving force behind a myriad of decentralized applications (dapps) that promise to transform the Internet. The next generation Internet, or web3, introduces a "universal state layer" to store data in p2p networks. Swarm, a native layer of the Ethereum web3 stack, aims at providing redundant storage for dapp code, data, as well as, blockchain and state data. Based on a diploma verification dapp use case, we share insights on the role of redundancy strategies in designing a reliable storage layer. Our proof-of-concept improves Swarm's resilience to failures by balancing repairs and storage, with a slightly added latency.
Ăscar Lage, Santiago de Diego, Borja Urkizu, Eneko GĂłmez ¡ 5 authors
Blockchain has been widely known thanks to Bitcoin and the cryptocurrencies. In this chapter, we analyze different aspects that relate to the application of blockchain with techniques commonly used in the field of cybersecurity. Beginning by introducing the use of blockchain technology as a secure infrastructure, the document delves into how blockchain can be useful to achieve several security requirements, common to most applications. The document has been focused on some specific cybersecurity disciplines to maintain simplicity: backup and recovery, threat intelligence and content delivery networks. As illustrated, some projects and initiatives are in the process of joining these two fields to provide solutions to existing problems.
Dec 1, 2019¡2019 IEEE Intl Conf on Parallel & Distributed Processing with Applications, Big Data & Cloud Computing, Sustainable Computing & Communications, Social Computing & Networking (ISPA/BDCloud/SocialCom/SustainCom)
Anping Song, Jing Wang, Wenjing Yu, Yi Dai ¡ 5 authors
Consortium blockchain is the preferred implementation form of blockchain for cooperation between enterprises. As an indispensable underlying technology of consortium blockchain, the Byzantine fault tolerant protocol guarantees that the replicas in network reach agreement even when there are arbitrary faults of a fraction of the replicas. Byzantine fault tolerant protocols that currently exist for consortium blockchain fail to meet the requirements of practical applications, such as satisfying low algorithm complexity, robustness and dynamic scalability at the same time. In this paper, a new Fast, Dynamic and Robust Byzantine Fault Tolerance (FDRBFT) protocol is proposed to address this problem. It applies random threshold signature consensus scheme, unique cryptographic algorithm and proactive recovery scheme to achieve fast agreement, dynamic scalability and robust system. FDRBFT protocol is implemented on Hyperledger Fabric and its performance is compared with existing widely accepted protocols. Experimental results show that FDRBFT achieves competitive throughput, dynamic scalability and better robustness.
The access efficiency of traceability information has always been one of the main challenges faced by blockchain tracking schemes. At present, the tracking scheme based on blockchain mainly uses the open source Ethereum to realize the record of data flows and the query about transaction information. It causes the consumption of consensus resource high and the transaction query slow, which makes it difficult to meet the need of data tracking. To solve the above problems, this paper proposes a blockchain data provenance scheme based on grouping consensus and B-M tree. Firstly, a grouping consensus mechanism is constructed based on PBFT mechanism to improve the speed of transaction confirmation and complete the fast record of flow information. Then, a B-M transaction tree is designed based on AVL tree and Merkle tree to achieve the efficient query of traceability information under the ensuring that the transaction information can't be tampered. Finally, the correctness, security and simulation results show that the scheme has certain advantages over the traditional blockchain traceability scheme in record and query.
Golam Dastoger Bashar, Graham L. Hill, Subroto Singha, Praneeth Babu Marella ¡ 6 authors
Consensus protocols are mechanisms that enable a group of entities to reach an agreement on a specific subject. In blockchain systems, consensus protocols are the cornerstone of achieving security and scalability. They not only enable nodes in the network to agree on the valid information that can be added to the ledger while keeping all nodes synchronized, they also establish the sequence of order in which blocks (and consequently transactions) are affixed. In this paper, we provide a comprehensive review of the working principles of the most commonly used consensus protocols in blockchain-based cryptocurrencies. We categorize them based on their permission requirements and perform a thorough comparative evaluation. More specifically, we identify computational difficulty, barrier for entry, platform utilization, and weaknesses in terms of scalability and fairness.
In this paper, we propose a novel consensus mechanism utilizing the quantum properties of qubits. This move from classical computing to quantum computing is shown to theoretically enhance the scalability and speed of distributed consensus as well as improve security and be a potential solution for the problem of blockchain interoperability. Using this method may circumvent the common problem known as the Blockchain Trilemma, enhancing scalability and speed without sacrificing de-centralization or byzantine fault tolerance [1]. Consensus speed and scalability is shown by removing the need for multicast responses and exploiting quantum properties to ensure that only a single multicast is required. We also leverage work done on the E91 quantum key distribution protocol [2] to securely transmit values and prevent a man-in-the-middle attack or system disturbance, enhancing confidentiality and integrity of transmitted information. Distributed ledger interoperability is explored by proposing a system to achieve a verifiable bridge for private transactions between a small private network and its corresponding consortium network. A proof-of-concept using IBMâs Qskit is shown from which initial results appear to show a strong sensitivity to non-consensus which could be useful in many applications. The present practical feasibility of the above is shown and future work is explored.
Blockchain, the concept from Bitcoin created by Satoshi Nakamoto, has the potential to decentralise traditionally centralised systems. Blockchain is a distributed ledger for recording information, stored by many nodes without a central organization through distributed systems and cryptography. The consensus algorithm is a protocol that guarantees the consistency of all data in a blockchain system. It is a key for building a blockchain system and an important part that affects the performance of the blockchain system. In this paper, we firstly compare the usage scenarios of different consensus algorithms, their advantages and disadvantages. After that, we present a new consensus algorithm in permissioned blockchain based on consistent hashing. For blockchain system construction, we propose a new design of the hash ring. The pseudo-randomness of the hash operation is used to ensure the randomness of the electoral leadership node in the blockchain system. It avoids the security risk of the fixed leadership node model. Our algorithm is applicable to blockchain systems containing Byzantine nodes and has a high throughput, low delay and many other advantages. Its communication complexity is O(n), significantly better than that of the practical Byzantine fault tolerance algorithm whose communication complexity is O(n2).
With the development of blockchain, more and more blockchain types emerge: public blockchain, consortium blockchain and private blockchain. Because of the node trust in some consortium blockchain and private blockchain, a no byzantine fault tolerance algorithm KRaft(Kademlia-Raft) algorithm with high throughput and high scalability is proposed. KRaft consensus algorithm is a Raft-like consensus algorithm that preserves the logic of part of Raft consensus algorithm. It optimized leader election and consensus process of the Raft consensus algorithm through the established K-Bucket node relationships in the Kademlia protocol, improved leader election speed and throughput. Firstly, the KRaft algorithm uses the K-bucket established by Kademlia protocol to achieve stable and efficient leader election process for the candidate node split vote problem and the low voting efficiency caused by the increase of the Follower node in the Raft algorithm. Secondly, aiming at the low efficiency and load imbalance of the leader single-node log replication in the Raft algorithm consensus process, a parallel log replication scheme with multiple candidate nodes for balancing the leader node load is proposed to improve the throughput and the scalability of the algorithm. Finally, as a Raft-like consensus algorithm, KRaft consensus algorithm satisfied the safety and liveness requirements of Raft consensus algorithm. KRaft consensus algorithm and Raft consensus algorithm were evaluated with local cluster simulation. The experimental results show that the KRaft consensus algorithm has a 41% improvement in transaction throughput and has a 67% improvement in the leader election speed.