Mohammad Javad Amiri, Divyakant Agrawal, Amr El Abbadi
Despite recent intensive research, existing blockchain systems do not adequately address all the characteristics of distributed applications. In particular, distributed applications collaborate with each other following service level agreements (SLAs) to provide different services. While collaboration between applications, e.g., cross-application transactions, should be visible to all applications, the internal data of each application, e.g, internal transactions, might be confidential . In this paper, we introduce CAPER , a permissioned blockchain system to support both internal and cross-application transactions of collaborating distributed applications. In CAPER, the blockchain ledger is formed as a directed acyclic graph where each application accesses and maintains only its own view of the ledger including its internal and all cross-application transactions. CAPER also introduces three consensus protocols to globally order cross-application transactions between applications with different internal consensus protocols. The experimental results reveal the efficiency of CAPER in terms of performance and scalability.
Yaodong Huang, Jiarui Zhang, Jun Duan, Bin Xiao · 6 authors
Edge devices with sensing, storage, and communication resources are penetrating our daily lives. These resources make it possible for edge devices to conduct data transactions (e.g., micro-payments, micro-access control). The blockchain technology can be used to ensure transaction unmodifiable and undeniable. In this paper, we propose a blockchain system that adapts to the limitations of edge devices. The new blockchain system can fairly and efficiently allocate storage resources on edge devices, which makes it scalable. We find the optimal peer nodes for transaction data storage in the blockchain, and propose a recent block storage allocation scheme for quick retrieval of missing blocks. The proposed blockchain system can also reach mining consensus with low energy consumption in edge devices with a new Proof of Stake mechanism. Extensive simulations show that our proposed blockchain system works efficiently in edge environments. On average, the new system uses 15% less time and consumes 64% less battery power when compared with traditional blockchain systems.
Emmanuel Nyaletey, Reza M. Parizi, Qi Zhang, Kim‐Kwang Raymond Choo
The Interplanetary File System (IPFS) is a distributed file system that seeks to decentralize the web and to make it faster and more efficient. It incorporates well-known technologies, including BitTorrent and Git, to create a swarm of computing systems that share information. Since its introduction in 2016, IPFS has seen great improvements and adoption from both individuals and enterprise organizations. Its distributed network allows users to share files and information across the globe. IPFS works well with large files that may consume or require large bandwidth to upload and/or download over the Internet. The rapid adoption of this distributed file system is in part because IPFS is designed to operate on top of different protocols, such as FTP and HTTP. However, there are underpinning concerns relating to security and access control, for example lack of traceability on how the files are accessed. The aim of this paper is to complement IPFS with blockchain technology, by proposing a new approach (BlockIPFS) to create a clear audit trail. BlockIPFS allows us to achieve improved trustworthiness of the data and authorship protection, and provide a clear route to trace back all activities associated with a given file using blockchain as a service.
Lan N. Nguyen, Truc Nguyen, Thang N. Dinh, My T. Thai
A major challenge in blockchain sharding protocols is that more than 95% transactions are cross-shard. Not only those cross-shard transactions degrade the system throughput but also double the confirmation time, and exhaust an already scarce network bandwidth. Are cross-shard transactions imminent for sharding schemes? In this paper, we propose a new sharding paradigm, called OptChain, in which cross-shard transactions are minimized, resulting in almost twice faster confirmation time and throughput. By treating transactions as a stream of nodes in an online graph, OptChain utilizes a lightweight and on-the-fly transaction placement method to group both related and soon-related transactions into the same shards. At the same time, OptChain maintains a temporal balance among shards to guarantee the high parallelism. Our comprehensive and large-scale simulation using Oversim P2P library confirms a significant boost in performance with up to 10 folds reduction in cross-shard transactions, more than twice reduction in confirmation time, and 50% increase in throughput. When combined with Omniledger sharding protocol, OptChain delivers a 6000 transactions per second throughput with 10.5s confirmation time.
As a promising method to enable fast and scalable Bitcoin transactions, Bitcoin Lightning Network (LN) has experienced rapid development since the end of 2017. LN utilizes the so-called "payment channels" to provide fast off-chain transactions, thereby offloading on-chain burden and enabling instant payments. With many new protocols proposed to improve the performance of LN, little is known about the current state of the network such as its topology, channel characteristics and application performance. In this paper, we conduct a systematic measurement on LN based on the data collected over a period of fifteen months. This measurement allows us to draw a network graph to study the payment routing success rate and the level of decentralization. We also analyze payment channels regarding their functions. Our work provides an in-depth understanding of network mechanisms and helps to explore future implications of LN.
The main advantage of the Bitcoin-style blockchain systems is immutability of data and decentralized authority. Despite its success, Bitcoin suffers from scalability issues. The potential of the blockchain technology cannot be fully realized unless it is made more scalable. We extend previous analysis on a fundamental trade-off between the throughput and forking rate of the blockchain system. We further propose FastChain to increase the throughput of the blockchain system by reducing the block propagation time. FastChain adopts bandwidth-informed neighbor selection. Miners disconnect from bandwidth-limited neighbors and favor the nodes with higher bandwidth. We build a Blockchain Dynamics Simulator (BDSim) to evaluate the performance of FastChain. FastChain improves the throughput by 20%~40% in the normal operations.
Carlos Henrique Fernandes de Faria, Miguel Correia
A blockchain is a distributed ledger in which participants that do not fully trust each other agree on the ledger's content by running a consensus algorithm. This technology is raising a lot of interest both in academia and industry, but the lack of tools to evaluate design and implementation decisions may hamper fast progress. To address this issue, this paper presents a discrete-event simulator that is flexible enough to evaluate different blockchain implementations. These blockchains can be rapidly modeled and simulated by extending existing models. Running Bitcoin and Ethereum simulations allowed us to change conditions and answer different questions about their performance. For example, we concluded that doubling the number of transactions per block has a low impact on the block propagation delay (10ms) and that encrypting communication has a high impact in that delay (more than 25%).
Blockchain networks which employ Proof-of-Work in their consensus mechanism may face inconsistencies in the form of forks. These forks are usually resolved through the application of block selection rules (such as the Nakamoto consensus). In this paper, we investigate the cause and length of forks for the Bitcoin network. We develop theoretical formulas which model the Bitcoin consensus and network protocols, based on an Erdös-Rényi random graph construction of the overlay network of peers. Our theoretical model addresses the effect of key parameters on the fork occurrence probability, such as block propagation delay, network bandwidth, and block size. We also leverage this model to estimate the weight of fork branches. Our model is implemented using the network simulator OMNET++ and validated by historical Bitcoin data. We show that under current conditions, Bitcoin will not benefit from increasing the number of connections per node.
Zhongli Dong, Emma Zheng, Young Choon, Albert Y. Zomaya
Directed Acyclic Graph (DAG) has been emerging as the so-called Blockchain 3.0 after Bitcoin (Blockchain 1.0) and Ethereum (Blockchain 2.0). This new distributed ledger technology is getting significant attention for its high performance and low transaction fee. There have already been several notable implementations, such as IOTA [1], Nano [2] and Byteball [3]. In this paper, we present DAGBENCH as a performance evaluation framework for DAG implementations. DAGBENCH provides a number of sample workloads and adaptors that make effective and easy evaluation of different DAG implementations. It allows any DAG implementation to be evaluated by adding an adaptor. DAGBENCH allows to measure the performance of DAG implementation in terms of throughput, latency, scalability, success indicator, resource consumption, transaction data size and transaction fee. We demonstrate the efficacy of DAGBENCH with different DAG implementations. In particular, we have conducted experiments, on Amazon EC2, with three popular DAG implementations: IOTA, Nano and Byteball. Our experimental results provide the performance comparison between these implementations that helps developers/users effectively evaluate different performance characteristics; and, this enables them to identify bottlenecks and accordingly to improve performance.
Full nodes, which synchronize the entire blockchain history and independently validate all the blocks, form the backbone of any blockchain network by playing a vital role in ensuring security properties. On the other hand, a user running a full node needs to pay a heavy price in terms of storage costs. E.g., the Bitcoin blockchain size has grown over 215GB, in spite of its low throughput. The ledger size for a high throughput blockchain Ripple has already reached 9TB, and it is growing at an astonishing rate of 12GB per day! In this paper, we propose an architecture based on 'fountain codes', a class of erasure codes, that enables any full node to 'encode' validated blocks into a small number of 'coded blocks', thereby reducing its storage costs by orders of magnitude. In particular, our proposed "Secure Fountain (SeF)" architecture can achieve a near-optimal trade-off between the storage savings per node and the 'bootstrap cost' in terms of the number of (honest) storage-constrained nodes a new node needs to contact to recover the blockchain. A key technical innovation in SeF codes is to make fountain codes secure against adversarial nodes that can provide maliciously formed coded blocks. Our idea is to use the header-chain as a 'side-information' to check whether a coded block is maliciously formed while it is getting decoded. Further, the 'rateless property' of fountain codes helps in achieving high decentralization and scalability. Our experiments demonstrate that SeF codes tuned to achieve 1000x storage savings enable full nodes to encode the 191GB Bitcoin blockchain into 195MB on average. A new node can recover the blockchain from an arbitrary set of storage-constrained nodes as long as the set contains ~1100 honest nodes on average. Note that for a 1000x storage savings, the fundamental bound on the number of honest nodes to contact is 1000: we need about 10% more in practice.
Purpose The purpose of this paper is to address the problem of content immutability and integrity of online scientific periodicals on the sites of small publishers that can be violated not only by the external hack of the publisher’s site but also by publisher’s and author’s misconduct or by submitting different versions of a periodical to different sites. Design/methodology/approach The authors defined a list of requirements that verify online scientific publications immutability and integrity. Then, the authors analyzed existing projects and recently emerged information on security technologies and identified challenges met during the development and testing. The use of the public blockchain network Ethereum as a secure storage location for data was explained. Findings The authors developed the method of checking online scientific periodicals for immutability and presented ecosystem architecture to control immutability and integrity of data. On the example of the online periodical “Istoriya”, it was demonstrated how the immutability of online scientific publication has been verified with the use of the public blockchain over a six-month period. First, operating results were evaluated; challenges hampering the implementation of the suggested ecosystem on Ethereum now were identified; and potential advantages of the suggested approach as compared to similar projects were discovered. Research limitations/implications The considered prototype is not a ready-to-use system, but in future providing higher transparency and the development of general distributed ecosystem small publishers will have new opportunities for development given that the issues of scalability, reliability and operating speed on a public blockchain will be addressed. Introduction of the described ecosystem may even provoke some changes on such conservative market as that of publishing of academic papers. Originality/value This research is one of the first attempts to expand digital object identifier technology with the use of additional verifications based on the data storage and search in the public blockchain. The suggested idea is the example of “blockchainified science” that was brought to implementation in a real online journal. This method has some advantages compared to Crossmark service.
Summary Contemporary blockchain such as Bitcoin and Ethereum execute transactions serially by miners and validators and determine the Proof‐of‐Work (PoW). Such serial execution is unable to exploit modern multi‐core resources efficiently, hence limiting the system throughput and increasing the transaction acceptance latency. The objective of this work is to increase the transaction throughput by introducing parallel transaction execution using a static analysis over the transaction dependencies. We propose the DiPETrans framework for distributed execution of transactions in a block. Here, peers in the blockchain network form a community of trusted nodes to execute the transactions and find the PoW in‐parallel, using a leader–follower approach. During mining, the leader statically analyzes the transactions, creates different groups (shards) of independent transactions, and distributes them to followers to execute concurrently. After execution, the community's compute power is utilized to solve the PoW concurrently. When a block is successfully created, the leader broadcasts the proposed block to other peers in the network for validation. On receiving a block, the validators re‐execute the block transactions and accept the block if they reach the same state as shared by the miner. Validation can also be done in parallel, following the same leader–follower approach as mining. We report experiments using over 5 million real transactions from the Ethereum blockchain and execute them using our DiPETrans framework to empirically validate the benefits of our techniques over a traditional sequential execution. We achieve a maximum speedup of 2.2 and 2.0 and an average speedup of 1.6 and 1.5 for the miner and the validator, respectively, with 100–500 transactions per block when using 6 machines in the community. Further, we achieve a peak of 5 end‐to‐end block creation speedup using a parallel miner over a serial miner.
Jianan Li, Zhenyu Zhou, Jun Wu, Jianhua Li · 8 authors
Currently, blockchain technology has been widely used due to its support of transaction trust and security in next generation society. Using Internet of Things (IoT) to mine makes blockchain more ubiquitous and decentralized, which has become a main development trend of blockchain. However, the limited resources of existing IoT cannot satisfy the high requirements of on-demand energy consumption in the mining process through a decentralized way. To address this, we propose a decentralized on-demand energy supply approach based on microgrids to provide decentralized on-demand energy for mining in IoT devices. First, energy supply architecture is proposed to satisfy different energy demands of miners in response to different consensus protocols. Then, we formulate the energy allocation as a Stackelberg game and adapt backward induction to achieve an optimal profit strategy for both microgrids and miners in IoT. The simulation results show the fairness and incentive of the proposed approach.
There is considerable interest today in the use of blockchain technology to provide better visibility into shared information among a number of participants and systems arranged in a decentralized peer-to-peer topology. Several challenges in blockchain technology remain to be addressed, including the interoperability, survivability, and manageability of blockchain systems. Crucial to answering these challenges is the need to understand aspects of the Internet architecture that has made it scalable, resilient, and a commercial success as a global connectivity infrastructure. In this paper, we discuss a design philosophy for interoperable blockchain systems, using the design philosophy of the Internet architecture as the basis to identify key design principles. We recast some of the challenges faced in the design of the Internet architecture to that of the design of an interoperable blockchain architecture. We emphasize interoperability as a crucial requirement for the survivability and manageability of blockchain systems. The goal is to define an interoperable blockchain architecture, in which common components of the blockchain architecture can begin to be standardized, leading to lowering of development costs, better reusability, and higher degree of interoperability.
Personalized quality of service (QoS) prediction plays an important role in helping users build high-quality service-oriented systems. To obtain accurate prediction results, many approaches have been investigated in recent years. However, these approaches do not fully address untrustworthy QoS values submitted by unreliable users, leading to inaccurate predictions. To address this issue, inspired by blockchain with distributed ledger technology, distributed consensus mechanisms, encryption algorithms, etc., we propose a personalized QoS prediction method for web services that we call blockchain-based matrix factorization (BMF). We develop a user verification approach based on homomorphic hash, and use the Byzantine agreement to remove unreliable users. Then, matrix factorization is employed to improve the accuracy of predictions and we evaluate the proposed BMF on a real-world web services dataset. Experimental results show that the proposed method significantly outperforms existing approaches, making it much more effective than traditional techniques.
In this paper, a novel framework that uses wireless mobile miners (MMs) for computation purposes in a blockchain system is proposed. In the introduced system, the blockchain ledger is located at the communication nodes (CNs), and the MMs associated with CNs process the blockchain's proof-of-work (PoW) computation to verify the originality of the data. The MM that is the first to finish its PoW will receive a reward by sending its computing result to the CNs that are connected to other MMs. In the considered scenario, a blockchain forking event occurs if the MM having the shortest PoW delay fails to be the first to update its computing result to other MMs. To enable such mobile operations for a blockchain with minimum forking events, it is imperative to maintain low-latency wireless communications between MMs and CNs. To analyze the sensitivity of the system to latency, the probability of occurrence of a forking event is theoretically derived. The system is then designed so as to compute the forked block's PoW again to recover from a forking event. For this case, the average energy consumption of an MM is derived as a function of the system parameters such as the number of MMs and power consumed by the computing, transmission, and mobility processes of the MMs. Simulation results verify the analytical derivations and show that using a larger number of MMs can reduce the energy consumption by up to 94.5% compared to a blockchain system with a single MM.
Christian Gorenflo, Lukasz Golab, Srinivasan Keshav
Energy systems are rapidly becoming decentralized due to advances in distributed renewable generation, storage technologies, and electric vehicles (EVs). One consequence of decentralization is the loss of a central trusted party. There is, therefore, a need for a solution that enables interactions between mutually untrusting agents. In this paper, we present a general methodology for blockchain-oriented system design and demonstrate its use to design a system for EV charging in a decentralized network of charging stations. We also show how a blockchain can be integrated with minimal changes to a legacy back end. Our solution is scheduled for roll-out by the EV charging service provider SWTCH in the near future.
Mingli Wu, Kun Wang, Xiaoqin Cai, Song Guo · 6 authors
As an innovated and revolutionized technology, blockchain has been applied in many fields, such as cryptocurrency, food traceability, identity management, or even market prediction. To discover its great potential, both industry and academia have paid great attention to it and numerous researches have been conducted. Based on the literature and industry whitepapers, in this survey, we unroll and structure the blockchain related discoveries and scientific results in many aspects. Particularly, we classify blockchain technologies into four layers and carry out a comprehensive study on the consensus strategies, the network, and the applications of blockchain. Different blockchain applications are put into the corresponding categories based on the fields, especially in Internet of Things (IoT). When introducing each layer, we not only organize and summarize the related works, but also discuss the fundamental issues and future research directions. We hope this survey could shed some light on the research of blockchain and serve as a guide for further studies.
Vishal Sharma, Ilsun You, Dushantha Nalin K. Jayakody, Daniel Gutiérrez Reina · 5 authors
Mobile edge computing (MEC) reduces the computational distance between the source and the servers by fortifying near-user site evaluations of data for expedited communications, using caching. Caching provides ephemeral storage of data on designated servers for low-latency transmissions. However, with the network following a hierarchical layout, even the near-user site evaluations can be impacted by the overheads associated with maintaining a perpetual connection and other factors (e.g., those relating to the reliability of the underpinning network). Prior solutions study reliability as a factor of throughput, delays, jitters, or delivery ratio. However, with modern networks supporting high data rates, a current research trend is in ultrareliability. The latter is defined in terms of availability, connectivity, and survivability. Thus, in this paper, we focus on the ultrareliable communication in MEC. Specifically, in our setting, we use drones as on-demand nodes for efficient caching. While some existing solutions use cache-enabled drones, they generally focus only on the positioning problem rather than factors relating to ultrareliable communications. We present a novel neural-blockchain-based drone-caching approach, designed to ensure ultrareliability and provide a flat architecture (via blockchain). This neural-model fortifies an efficient transport mechanism, since blockchain maintains high reliability amongst the peers involved in the communications. The findings from the evaluation demonstrate that the proposed approach scores well in the following metrics: the probability of connectivity reaches 0.99; energy consumption is decreased by 60.34%; the maximum failure rate is affected by 13.0%; survivability is greater than 0.90; reliability reaches 1.0 even for a large set of users.
Those working on Blockchain technologies have described several new innovative directions and novel services in the Internet of things (IoT), including decentralized trust, trusted and verifiable execution of smart contracts, and machine-to-machine communications and automation that reach beyond the mere exchange of data. However, applying blockchain principles in the IoT is a challenge due to the constraints of the end devices. Because of fierce cost pressure, the hardware resources in these devices are usually reduced to the minimum necessary for operation. To achieve the high coverage needed, low bitrate mobile or wireless technologies are frequently applied, so the communication is often constrained, too. These constraints make the implementation of blockchain nodes for IoT as standalone end-devices impractical or even impossible. We therefore investigated possible design approaches to decentralized applications based on the Ethereum blockchain for the IoT. We proposed and evaluated three application architectures differing in communication, computation, storage, and security requirements. In a pilot setup we measured and analyzed the data traffic needed to run the blockchain clients and their applications. We found out that with the appropriate designs and the remote server architecture we can strongly reduce the storage and communication requirements imposed on devices, with predictable security implications. Periodic device traffic is reduced to 2400 B/s (HTTP) and 170 B/s (Websocket) from about 18 kB/s in the standalone-device full client architecture. A notification about a captured blockchain event and the corresponding verification resulted in about 2000 B of data. A transaction sent from the application to the client resulted in an about 500 B (HTTP) and 300 B message (Websocket). The key store location, which affects the serialization of a transaction, only had a small influence on the transaction-related data. Raw transaction messages were 45 B larger than when passing the JSON transaction objects. These findings provide directions for fog/cloud IoT application designers to avoid unrealistic expectations imposed upon their IoT devices and blockchain technologies, and enable them to select the appropriate system design according to the intended use case and system constraints. However, for very low bit-rate communication networks, new communication protocols for device to blockchain-client need to be considered.
A double-spend attack is one of the major security issues in most blockchain systems, but it is difficult to successfully launch unless an adversary has massive computing power. In this paper, we introduce a new attack model that combines a double-spend attack with a Sybil attack in the Bitcoin network. We present analysis results that a double-spending attacker can make a block propagation delay by conducting Sybil attacks and increase the probability of winning the mining race, thus successfully launching the double-spend attack. We develop the probability of success of this new attack in mathematics forms and analyze this attack model from the perspective of economics. We present the attacker's break-even point in various situations and demonstrate the effect of the proposed attack.
Blockchains have attracted a great deal of attention as a technology for the distributed management of register information at multiple nodes without a centralized system. However, they possess the drawbacks of low transaction throughput and long approval time. These problems can be addressed by shortening the block generation interval; however, shortening this interval alone has the effect of increasing the frequency of forks. In this study, we aim to shorten the block generation interval without increasing the fork generation rate by improving the network topology of the nodes and shortening the propagation time. We propose a neighbor node selection method forming a network topology with a short block propagation time. A blockchain simulator is used to demonstrate the effect of the proposed neighbor node selection method on the propagation delay of the network. This result indicates that the proposed method improves block propagation time.