Both in the design and deployment of blockchain solutions many performance-impacting configuration choices need to be made. We introduce BlockSim, a framework and software tool to build and simulate discrete-event dynamic systems models for blockchain systems. BlockSim is designed to support the analysis of a large variety of blockchains and blockchain deployments as well as a wide set of analysis questions. At the core of BlockSim is a Base Model, which contains the main model constructs common across various blockchain systems organized in three abstraction layers (network, consensus and incentives layer). The Base Model is usable for a wide variety of blockchain systems and can be extended easily to include system or deployment particulars. The BlockSim software tool provides a simulator that implements the Base Model in Python. This paper describes the Base Model, the simulator implementation, and the application of BlockSim to Bitcoin, Ethereum and other consensus algorithms. We validate BlockSim simulation results by comparison with performance results from actual systems and from other studies in the literature. We close the paper by a BlockSim simulation study of the impact of uncle blocks rewards on mining decentralization, for a variety of blockchain configurations.
Maher Alharby, Roben Castagna Lunardi, Amjad Aldweesh, Aad van Moorsel
In proof-of-work based blockchains such as Ethereum, verification of blocks is an integral part of establishing consensus across nodes. However, in Ethereum, miners do not receive a reward for verifying. This implies that miners face the Verifier's Dilemma: use resources for verification, or use them for the more lucrative mining of new blocks? We provide an extensive analysis of the Verifier's Dilemma, using a data-driven model-based approach that combines closed-form expressions, machine learning techniques and discrete-event simulation. We collect data from over 300,000 smart contracts and experimentally obtain their CPU execution times. Gaussian Mixture Models and Random Forest Regression transform the data into distributions and inputs suitable for the simulator. We show that, indeed, it is often economically rational not to verify, in particular for miners with less hashing power. We consider two approaches to mitigate the implications of the Verifier's Dilemma, namely parallelization and active insertion of invalid blocks, both will be shown to be effective.
Distributed ledgers are a new type of database technology that allows open access to data stored across distributed, decentralised, publicly maintained infrastructures. Current implementations of the such ledgers expect competition between participants, are often energy hungry, poor in maintaining the natural structure of data and suffer from scalability constraints. The aim of my research work is to develop a distributed ledger-based middleware for data modelling and collection on household energy generation and use, while addressing scalability and energy inefficiency concerns of the ledger for this particular application domain. The energy data collected and made available through this middleware will be used for digital energy service delivery (e.g., automated peer to peer energy trading, topological estimations, etc.). The middleware also provides a platform for a consumer focused digital energy service delivery, as well as service model evaluation. The model evaluation will enable the prospective service users to evaluate the suitability of the given service for their needs before making a decision of service subscription.
Blockchain is a new technology for processing complex and disordered information with respect to business and other industrial applications. This work is aimed at studying the consensus algorithm of blockchain to improve the performance of blockchain. Despite their advantages, the proof of stake (POS) algorithm and the practical Byzantine fault tolerance (PBFT) algorithm have high latency, low throughput, and poor scalability. In this paper, a blockchain hybrid consensus algorithm which combines advantages of the POS and PBFT algorithms is proposed, and the algorithm is divided into two stages: sortition and witness. The proposed algorithm reduces the number of consensus nodes to a constant value by verifiable pseudorandom sortition and performs transaction witness between nodes. The algorithm is improved and optimized from three dimensions: throughput, latency, and scalability. The experimental results show that the improved hybrid consensus algorithm is significantly superior to the previous single algorithms for its excellent scalability, high throughput, and low latency.
An increasing number of industries rely on Internet-of-Things devices to track physical resources. Blockchain technology provides primitives to represent these resources as digital assets on a secure distributed ledger. Due to the proliferation of blockchain-based assets, there is an increasing need for a generic mechanism to trade assets between isolated platforms. To date, there is no such mechanism without reliance on a trusted third party. In this work, we address this shortcoming and present XChange. Unlike existing approaches for decentralized asset trading, we decouple trade management and the actual exchange of assets. XChange mediates trade of any digital asset between isolated blockchain platforms while limiting the fraud conducted by adversarial parties. We first describe a generic, five-phase trading protocol that establishes and executes trade between individuals. This protocol accounts full trade specifications on a separate blockchain. We then devise a lightweight system architecture, composed of all required components for a generic asset marketplace. We implement XChange and conduct real-world experimentation. We leverage an existing, lightweight blockchain, TrustChain, to account all orders and full trade specifications. By deploying XChange on multiple low-resource devices, we show that a full trade completes within half a second. To quantify the scalability of our mechanism, we conduct further experiments on our compute cluster. We conclude that the throughput of XChange, in terms of trades per second, scales linearly with the system load. Furthermore, we find that XChange exhibits superior throughput and order fulfil latency compared to related decentralized exchanges, BitShares and Waves.
Yibin Xu, Yangyu Huang, Jianhua Shao, George Theodorakopoulos
Blockchain Sharding is a blockchain performance enhancement approach. By splitting a blockchain into several parallel-run committees (shards), it helps increase transaction throughput, reduce resources required, and increase reward expectation for participants. Recently, several flexible sharding methods that can tolerate up to $n/2$ Byzantine nodes ($n/2$ security level) have been proposed. However, these methods suffer from two main drawbacks. First, in a non-sharding blockchain, nodes can have different weight (power or stake) to create a consensus. So an adversary needs to control half of the overall weight of the system in order for a piece of faulty information to be accepted into the blockchain ($p/2$ security level). In blockchain sharding, all nodes carry the same weight. Thus, it is only under the assumption that the honest participants are creating as many nodes as they can that a $n/2$ security level blockchain sharding reaches the $p/2$ security level. Secondly, when some nodes leave the system, other nodes need to be reassigned, frequently, from shard to shard in order to maintain the security level of the system. In this paper, we present Multichain MWPoW, a $p/2$ security level blockchain sharding architecture that does not require honest participants to create multiple nodes and requires less node reassignment when some nodes leave the system. It combines the Multiple Winners Proof of Work consensus protocol (MWPoW) with the flexibility of $n/2$ blockchain sharding. Our experiments show that Multichain MWPoW outperforms existing blockchain sharding approaches in terms of security, transaction throughput and flexibility.
Tobias Sund, Claes Lööf, Simin Nadjm‐Tehrani, Mikael Asplund
One of the major areas of interest for deployment of blockchains is in the supply chain sector where decentralisation combined with immutability is expected to enhance the transparency and robustness of transaction processing drastically. In this work we contribute to a feasibility study for permissioned blockchains in the context of a major international retail company. First, we characterise the types, relationships, and volumes of events that are created in the life cycle of a product from creation to ownership transfer. We use the created event model and the data from the company operations to identify the load that such an event processing system would have to manage. Then we create a prototype based on Quorum that deals with a significant subset of the events and expose the blockchain-based prototype to variations in load to identify the maximum throughput and average transaction processing time. This system can then form the basis of understanding the bottlenecks, configuration settings and platform choices needed in future potential deployment.
Eder J. Scheid, Daniel Lakic, Bruno Rodrigues, Burkhard Stiller
Due to the growing interest in the blockchain (BC), several applications are being developed, taking advantage of the benefits that such technology promises to deliver, such as removal of Trust Third Parties (TTP) to verify transactions and data immutability. However, these applications require certain aspects, such as high transaction throughput or data privacy, that early BC implementations (e.g., Bitcoin) did not provide. Thus, a myriad of novel BC implementations was developed, which introduced the issue of choosing the right implementation for a specific use-case. This paper presents a framework, called PleBeuS, to address this selection issue by allowing users to specify policies that rule the automatic selection of the BC that data will be stored. The selection process relies on a cost-aware approach and considers both public and private implementations and their technical characteristics. Moreover, PleBeuS communicates with a BC-agnostic interoperability API to enforce transactions. The evaluation of the PleBeuS prototype showed that it is possible to automatically select a BC-based on user policies, considering cost thresholds and technical details (e.g., BC throughput, deployment), and reduce manual interaction.
Ahmed Taha, Ahmed Zakaria, Dong‐Seong Kim, Neeraj Suri
Cloud computing offers a model where resources (storage, applications, etc.) are abstracted and provided “as-a- service” in a remotely accessible manner. Although there are numerous claimed benefits of the Cloud to ensure confidentiality, integrity, and availability of the stored data, the number of security breaches is still on the rise. The lack of security assurance and transparency prevented customers/enterprises from trusting the Cloud Service Providers (CSPs). Unless the customer’s security requirements are identified and documented by the CSPs, customers can not be assured that the CSPs will satisfy their requirements. Furthermore, the customer’s compensation upon a violation is a manual time intensive process. In this paper we address the aforementioned challenges by proposing a decentralized customer-based monitoring approach running over Ethereum blockchain. The proposed approach allows the customer(s) to validate the compliance of CSP(s) to the contracted services in the Service Level Agreements (SLAs) and “autonomsly” compensate customers in case of security breaches. At the same time, the proposed approach prevents customers from misreporting for financial gain. The approach builds upon the Ethereum blockchain infrastructure in order to securely store monitoring logs and incorporate SLAs as smart contracts. The compliance validation framework is implemented and its functionality is evaluated on Amazon EC2 and Ethereum Blockchain.
The limitation with smart contracts is that they cannot access external data which might be required to control the execution of business logic. Oracles can be used to provide external data to smart contracts. An oracle is an interface that delivers data from external data outside the blockchain to a smart contract to consume. Oracle can deliver different types of data depending on the industry and requirements. In this paper, we study and describe the widely used blockchain oracles. Then, we elaborate on his potential role, technical architecture, and design patterns. Finally, we discuss the human oracle and his key role in solving the truth problem by reaching a consensus about a certain inquiry and tasks.
Consensus protocols are currently the bottlenecks that prevent blockchain systems from scaling. However, we argue that transaction execution is also important to the performance and security of blockchains. In other words, there are ample opportunities to speed up and further secure blockchains by reducing the cost of transaction execution. Our goal is to understand how much we can speed up blockchains by exploiting transaction concurrency available in blockchain workloads. To this end, we first analyze historical data of seven major public blockchains, namely Bitcoin, Bitcoin Cash, Litecoin, Dogecoin, Ethereum, Ethereum Classic, and Zilliqa. We consider two metrics for concurrency, namely the single-transaction conflict rate per block, and the group conflict rate per block. We find that there is more concurrency in UTXO-based blockchains than in account-based ones, although the amount of concurrency in the former is lower than expected. Another interesting finding is that some blockchains with larger blocks have more concurrency than blockchains with smaller blocks. Next, we propose an analytical model for estimating the transaction execution speed-up given an amount of concurrency. Using results from our empirical analysis, the model estimates that 6x speed-ups in Ethereum can be achieved if all available concurrency is exploited.
Onno W. Purbo, Sriyanto Sriyanto, Suhendro Suhendro, RZ Abdul Aziz · 5 authors
In this paper, we report the benchmarking results of Hyperledger, a Distributed Ledger, which is the derivation Blockchain Technology. Method to evaluate Hyperledger in a limited infrastructure is developed. Themeasured infrastructure consists of 8 nodes with a load of up to 20000 transactions/second. Hyperledger consistently runs all evaluation, namely, for 20,000 transactions, the run time 74.30s, latency 73.40ms latency, and 257 tps. The benchmarking of Hyperledger shows better than a database system in a high workload scenario. We found that the maximum size data volume in one transaction on the Hyperledger network is around ten (10) times of MySQL. Also, the time spent on processing a single transaction in the blockchain network is 80-200 times faster than MySQL. This initial analysis can provide an overview for practitioners in making decisions about the adoption of blockchain technology in their IT systems.
Friedrich-Alexander-Universität Erlangen-Nürnberg, Lehrstuhl für Wirtschaftsinformatik, insb. im Dienstleistungsbereich, Nürnberg, Germany, Philipp Klinger, Freimut Bodendorf
Cross-organizational business processes involving multiple participants are choreographed, thus rely on mutual trust of collaborators or need to be coordinated by a central instance.Using Smart Contracts, business processes can be executed without a mutually trusted and centralized orchestrating authority.Former Blockchain-based execution framework proposals focus on orchestration diagrams as a basis for execution.Contrary, this work focuses on BPMN process collaboration diagrams as implementation basis and makes additional transformation steps obsolete.With the herein proposed framework for execution of cross-organizational process collaborations, another approach for the implementation and execution of interorganizational processes on a Blockchain is presented, including a voting mechanism for process deployment as well as a subscription service to facilitate process handovers between participants more efficiently.The framework is exemplified and evaluated with a use case from a large German industrial manufacturing company.
Blockchain and smart contract technologies were recently introduced. Due to their short histories, many issues have emerged but are not solved yet. In this article, we summarize the currently concentrated issues under developing with regards to smart contracts: vulnerability and cost optimization. We introduce other issues never considered but essential for successful commercialization of the smart contract technology. Also, we verify that the optimized code of smart contracts can significantly save transactions costs. Finally, we address that the cost-optimized design is affected by the platform type of blockchain systems. So, the vulnerability and cost analysis of smart contracts must consider the blockchain platform to be deployed.
A blockchain, such as Bitcoin, is an append-only, secure, transparent, distributed ledger. A fair blockchain is expected to have healthy metrics; high honest mining power, low processing latency, i.e., low wait times for transactions and stable price of consumption, i.e., the minimum transaction fee required to have a transaction processed. As Bitcoin matures, the influx of transactions increases and the block rewards become insignificant. We show that under these conditions, it becomes hard to maintain the health of the blockchain. In Bitcoin, under these mature operating conditions (MOC), the miners would find it challenging to cover their mining costs as there would be no more revenue from merely mining a block. It may cause miners not to continue mining, threatening the blockchain's security. Further, as we show in this paper using simulations, the cost of acting in favor of the health of the blockchain, under MOC, is very high in Bitcoin, causing all miners to process transactions greedily. It leads to stranded transactions, i.e., transactions offering low transaction fees, experiencing unreasonably high processing latency. To make matters worse, a compounding effect of these stranded transactions is the rising price of consumption. Such phenomena not only induce unfairness as experienced by the miners and the users but also deteriorate the health of the blockchain. We propose BitcoinF transaction processing protocol, a simple, yet highly effective modification to the existing Bitcoin protocol to fix these issues of unfairness. BitcoinF resolves these issues of unfairness while preserving the ability of the users to express urgency and have their transactions prioritized.
The future of renewable energy transportation and distribution is dynamic and complex, with distributed renewable resources in required distributed control. It is suggested that Distributed Ledger Technology (DLT) is a timely innovation with the potential to facilitate this future. The transition to full renewable energy requires an infrastructure capable of handling intermittent production that has a low marginal cost. This requires a distributed control logic where devices with embedded intelligence coordinate local production, a decentralized energy market where prices are not primarily based on production, and an underlying digital infrastructure to enable both. Simulations and experiments have demonstrated great potential in such a digital infrastructure, but real-life tests have identified scalability as a remaining challenge. In this paper, we propose a DLT-based architecture for the energy grid with the development of existing solution concepts by implementing scalability solutions. To this end, we derive energy market components as a framework for building efficient microgrid. Then, we discuss the microgrid as a case study of such a market according to the required components within energy production, transmission, and distribution; distributed ledger platform operations, IoT device manufacturing,; software development; and research in IoT, edge and cloud computing, and energy systems.
The traditional method of blockchain retrieval is to search the “Block File” in sequence from the “tail” to the “head” of the blockchain, which always takes a lot of time. How to reduce the retrieval time has been a hot issue in blockchain research. This paper proposes a fast retrieval method for the Multi-Transaction Mode Consortium Blockchain (MTMCB). Firstly, we create a “User Set” and “Block Name Set” cached in Redis. Then, according to the transaction participants and “Block Name Set”, we can get the relevant “Block Name List”, and quickly obtain the corresponding block files. On this basis, in order to meet the needs of rapid retrieval in large-scale systems, an improved retrieval algorithm based on a B+-tree data structure is proposed. Firstly, the block file information is put into different ordered sets according to the transaction participants, and the B+-tree index is established to quickly get the information of relevant block files by participants. Experimental results show that the improved method of Redis cache retrieval in this paper can greatly increase the efficiency of blockchain retrieval, and can settle some crucial problem in the blockchain application and popularization.
John Kolb, Moustafa AbdelBaky, Randy H. Katz, David Culler
Blockchains are a topic of immense interest in academia and industry, but their true nature is often obscured by marketing and hype. In this tutorial, we explain the fundamental elements of blockchains. We discuss their ability to achieve availability, consistency, and data integrity as well as their inherent limitations. Using Ethereum as a case study, we describe the inner workings of blockchains in detail before comparing blockchains to traditional distributed systems. In the second part of our tutorial, we discuss the major challenges facing blockchains and summarize ongoing research and commercial offerings that seek to address these challenges.
This paper presents a new blockchain network simulator that uses bitcoin's original reference implementation as its main application. The proposed simulator leverages the use of lightweight virtualization technology to build a fine tuned local testing network. To enable fast simulation of a large scale network without disabling mining service, the simulator can adjust the bitcoin mining difficulty level to below the default minimum value. In order to assess the performance of blockchain under different network conditions, the simulator allows to define different network topologies, and integrates Linux kernel traffic control (tc) tool to apply distinct delay or packet loss on the network nodes. Moreover, to validate the efficiency of our simulator we conduct a set of experiments and study the impact of the computation power and network delay on the network's consistency in terms of number of forks and mining revenues. The impact of applying different mining difficulty levels is also studied and the block time as well as fork occurrences are evaluated. Furthermore, a comprehensive survey and taxonomy of existing blockchain simulators are provided along with a discussion justifying the need of new simulator. As part of our contribution, we have made the simulator available on Github (https://github.com/noureddinel/core-bitcoin-net-simulator) for the community to use and improve it.
In many typical application scenarios, it is necessary to revoke the incorrect account operations caused by user mis-operation, financial fraud, illegal hacking, etc. Unfortunately, users often blur the lines between the concept of "transaction state revocable" and "business status revocable", which result in revocable transaction not universally supported in blockchain systems at present. In this work, we propose GateChain , a blockchain that support revocable transaction model (RTM) on distributed ledger. Specifically, based on the state-of-the-art blockchain technologies, GateChain can safely withdraw the account status change operations by leveraging an improved account model and extra designed transaction types. On that basis, GateChain exploit the characteristics of functional completeness, easy to deployment and lower complexity.
Abstract Blockchain and cryptocurrency are a hot topic in today’s digital world. In this paper, we create a game theoretic model in continuous time. We consider a dynamic game model of the bitcoin market, where miners or players use mining systems to mine bitcoin by investing electricity into the mining system. Although this work is motivated by BTC, the work presented can be applicable to other mining systems similar to BTC. We propose three concepts of dynamic game theoretic solutions to the model: Social optimum , Nash equilibrium and myopic Nash equilibrium . Using the model that a player represents a single “miner” or a “mining pool”, we develop novel and interesting results for the cryptocurrency world.
Lin Chen, Lei Xu, Zhimin Gao, Sunny, Ahmed · 6 authors
Recent advances in the blockchain research have been made in two important directions. One is refined resilience analysis utilizing game theory to study the consequences of selfish behaviors of users (miners), and the other is the extension from a linear (chain) structure to a non-linear (graphical) structure for performance improvements, such as IOTA and Graphcoin. The first question that comes to people's minds is what improvements that a blockchain system would see by leveraging these new advances. In this paper, we consider three major metrics for a blockchain system: full verification, scalability, and finality-duration. We { establish a formal framework and} prove that no blockchain system can achieve full verification, high scalability, and low finality-duration simultaneously. We observe that classical blockchain systems like Bitcoin achieves full verification and low finality-duration, Harmony and Ethereum 2.0 achieve low finality-duration and high scalability. As a complementary, we design a non-linear blockchain system that achieves full verification and scalability. We also establish, for the first time, the trade-off between scalability and finality-duration.
With the recent popularity of Blockchain and other Distributed Ledger Technologies (DLT), blockchain enabled smart contract applications has attracted increased research focus. However, the immutability of the blocks, where the smart contracts are stored, causes conflicts with the traditional Software Development Life Cycle (SDLC) models usually followed by software engineers. This clearly shows the unsuitability of the application of SDLC in designing blockchain enabled smart contract based applications. This research article addresses this current problem by first exploring the six traditional SDLC models, clearly identifying the conflicts in a table with the application of smart contracts and advocates that there is an urgent need to develop new standard model(s) to address the arising issues. The concept of both block immutability and contract is introduced. This is further set in a historical context from legacy smart contracts and blockchain enabled smart contracts extending to the difference between "shallow smart contracts" and "deep smart contracts". To conclude, the traditional SDLC models are unsuitable for blockchain enabled smart contract-based applications.
In recent years, blockchain technology has received unparalleled attention from academia, industry, and governments all around the world. It is considered a technological breakthrough anticipated to disrupt several application domains. This has resulted in a plethora of blockchain systems for various purposes. However, many of these blockchain systems suffer from serious shortcomings related to their performance and security, which need to be addressed before any wide-scale adoption can be achieved. A crucial component of any blockchain system is its underlying consensus algorithm, which in many ways, determines its performance and security. Therefore, to address the limitations of different blockchain systems, several existing as well novel consensus algorithms have been introduced. A systematic analysis of these algorithms will help to understand how and why any particular blockchain performs the way it functions. However, the existing studies of consensus algorithms are not comprehensive. Those studies have incomplete discussions on the properties of the algorithms and fail to analyse several major blockchain consensus algorithms in terms of their scopes. This article fills this gap by analysing a wide range of consensus algorithms using a comprehensive taxonomy of properties and by examining the implications of different issues still prevalent in consensus algorithms in detail. The result of the analysis is presented in tabular formats, which provides a visual illustration of these algorithms in a meaningful way. We have also analysed more than hundred top crypto-currencies belonging to different categories of consensus algorithms to understand their properties and to implicate different trends in these crypto-currencies. Finally, we have presented a decision tree of algorithms to be used as a tool to test the suitability of consensus algorithms under different criteria.