Mohammad Hossein Tabatabaei, Roman Vitenberg, Narasimha Raghavan Veeraragavan
The explosive advent of the blockchain technology has led to hundreds of blockchain systems in the industry, thousands of academic papers published over the last few years, and an even larger number of new initiatives and projects. Despite the emerging consolidation efforts, the area remains highly turbulent without systematization, educational materials, or cross-system comparative analysis. In this paper, we provide a systematic and comprehensive study of four popular yet widely different blockchain systems: Bitcoin, Ethereum, Hyperledger Fabric, and IOTA. The study is presented as a cross-system comparison, which is organized by clearly identified aspects: definitions, roles of the participants, entities, and the characteristics and design of each of the commonly used layers in the cross-system blockchain architecture. Our exploration goes deeper compared to what is currently available in academic surveys and tutorials. For example, we provide the first extensive coverage of the storage layer in Ethereum and the most comprehensive explanation of the consensus protocol in IOTA. The exposition is due to the consolidation of fragmented information gathered from white and yellow papers, academic publications, blogs, developer documentation, communication with the developers, as well as additional analysis gleaned from the source code. We hope that this survey will help the readers gain in-depth understanding of the design principles behind blockchain systems and contribute towards systematization of the area.
Adel Albshri, Ali Alzubaidi, Bakri Awaji, Ellis Solaiman
Recently, distributed ledger technologies like blockchain have been proliferating and have attracted interest from the academic community, government, and industry. A wide range of blockchain solutions has been introduced, such as Bitcoin, Ethereum, and Hyperledger technologies in the literature. However, tools for evaluating these solutions and their applications are still lacking, limiting the exploration of their potentiality and associated challenges/limitations. That is, experimenting with real blockchain networks usually requires a solid budget; and thus, sophisticated blockchain simulators can facilitate designing and evaluating solutions before the actual implementation stage. The quality of such simulators depends on several factors such as usability, reliability, provided capabilities, and supported features. This paper aims to provide a systemic mapping review of blockchain simulators focusing on these quality factors. This paper also sheds light on the configuration parameters (inputs) and produced metrics (outputs) supported by each simulator. Furthermore, it investigates which metrics supported by each simulator are scientifically validated/evaluated. Moreover, code quality comparison is carried out to assess the source code of the covered simulators. The results reveal that no simulator fully covers the wide operational range of features and capabilities of existing blockchain technologies. However, several promising efforts exist in the domain of blockchain simulation with interesting and useful features. Finally, we discuss the subject of blockchain simulation and provide our insight into the matter.
Abstract:The DApp (Decentralised application) being developed enables easy verification of credentials by storing the certificates on Ethereum blockchain network using IPFS (Inter Planetary File System) which is a distributed file system, thereby making the information stored immutable and secure. The website is being developed in three phases. In the first phase, the college enrolls students and uploads their credentials on the Ethereum blockchain. In the second phase, students can view their credentials and access requests sent by companies. In the third phase, companies can send access requests to students whose credentials they want to verify. Once the students accept the access requests, companies can view and verify the certificates.
Margarita Capretto, Martín Ceresa, Antonio Fernández Anta, Antonio Russo · 5 authors
Blockchain technologies are facing a scalability challenge, which must be overcome to guarantee a wider adoption of the technology. This scalability issue is mostly caused by the use of consensus algorithms to guarantee the total order of the chain of blocks (and of the operations within each block). However, total order is often overkilling, since important advanced applications of smart-contracts do not require a total order of all the operations. Hence, if a more relaxed partial order (instead of a total order) is allowed under certain safety conditions, a much higher scalability can be achieved. In this paper, we propose a distributed concurrent data type, called Setchain, that allows implementing this partial order and increases significantly blockchain scalability. A Setchain implements a grow-only set object whose elements are not totally ordered, unlike conventional blockchain operations. When convenient, the Setchain allows forcing a synchronization barrier that assigns permanently an epoch number to a subset of the latest elements added. With the Setchain, operations in the same epoch are not ordered, while operations in different epochs are. We present different Byzantine-tolerant implementations of Setchain, prove their correctness and report on an empirical evaluation of a direct implementation. Our results show that Setchain is orders of magnitude faster than consensus-based ledgers to implement grow-only sets with epoch synchronization. Since the Setchain barriers can be synchronized with block consolidation, Setchain objects can be used as a sidechain to implement many smart contract solutions with much faster operations than on basic blockchains.
Pedro Henrique F. S. Oliveira, Daniel Muller Rezende, Heder S. Bernardino, Saulo Moraes Villela · 5 authors
One of the main events that involve the world economy in 2022 is the conflict between Russia and Ukraine. This event offers a rare opportunity to analyze how events of this magnitude can reflect the use of cryptocurrencies. This work aims to investigate the behavior of accounts and their transactions on the Ethereum cryptocurrency during this event. To this end, we collected all transactions that occurred two weeks before and two weeks after the beginning of the conflict, organized into two groups: the collection of the accounts involved in these transactions and the subset of these ones that interacted with a service in Ethereum, called Flashbots Auction. We modeled temporal graphs where each node represents an account, and each edge represents a transaction between two accounts. Then, we analyzed the behavior of these accounts with graph metrics for both groups during each observed week. The results showed changes in the behavior and activity of users and their accounts, as well as variations in the daily volume of transactions.
Focusing on the business alliance scenario in blockchains, this paper proposes a new consensus mechanism named proof of rest (PoR) and strong smart contracts. The block structure and logic of PoR consensus are described. And a consortium blockchain system supporting strong smart contracts is designed. We modify the difficulty value algorithm based on proof of work (PoW) and add adjustable parameters. The longer a node rests after creating a block, the less difficult it is to create another new block, hence the term PoR. The penalty for slack nodes, the joining and quitting of nodes, and the adjustment of the expected block creation time can all be accomplished using the strong smart contracts, so the consortium blockchain can realize self-renewal.
At the technical level, the goal of Interledger is to provide an architecture and a minimal set of protocols to enable interoperability between any value transfer systems. The Interledger protocol is a protocol for inter-blockchain payments which can also accommodate FIAT currencies. To understand how it is possible to achieve this goal, several aspects of the technology require a deeper analysis. For this reason, in our journey to become knowledgeable and active contributors we decided to create our own test-bed on our premises. By doing so, we noticed that some aspects are well documented but we found that others might need more attention and clarification. Despite a large community effort, the task to keep information on a fast evolving software ecosystem up-to-date is tedious and not always the main priority for such a project. The purpose of this tutorial is to guide, through several examples and hands-on activities, community members who want to engage at different levels. The tutorial consolidates all the relevant information from generating a simple payment to ultimately creating a test-bed with the Interledger protocol suite between Ripple and other distributed ledger technologies.
Michael Pacheco, Gustavo A. Oliva, Gopi Krishnan Rajbahadur, Ahmed E. Hassan
The Ethereum platform allows developers to implement and deploy applications called Dapps onto the blockchain for public use through the use of smart contracts. To execute code within a smart contract, a paid transaction must be issued towards one of the functions that are exposed in the interface of a contract. However, such a transaction is only processed once one of the miners in the peer-to-peer network selects it, adds it to a block, and appends that block to the blockchain This creates a delay between transaction submission and code execution. It is crucial for Dapp developers to be able to precisely estimate when transactions will be processed, since this allows them to define and provide a certain Quality of Service (QoS) level (e.g., 95% of the transactions processed within 1 minute). However, the impact that different factors have on these times have not yet been studied. Processing time estimation services are used by Dapp developers to achieve predefined QoS. Yet, these services offer minimal insights into what factors impact processing times. Considering the vast amount of data that surrounds the Ethereum blockchain, changes in processing times are hard for Dapp developers to predict, making it difficult to maintain said QoS. In our study, we build random forest models to understand the factors that are associated with transaction processing times. We engineer several features that capture blockchain internal factors, as well as gas pricing behaviors of transaction issuers. By interpreting our models, we conclude that features surrounding gas pricing behaviors are very strongly associated with transaction processing times. Based on our empirical results, we provide Dapp developers with concrete insights that can help them provide and maintain high levels of QoS.
Michael Pacheco, Gustavo A. Oliva, Gopi Krishnan Rajbahadur, Ahmed E. Hassan
Ethereum is one of the most popular platforms for the development of blockchain-powered applications. These applications are known as ÐApps. When engineering ÐApps, developers need to translate requests captured in the front-end of their application into one or more smart contract transactions. Developers need to pay for these transactions and, the more they pay (i.e., the higher the gas price), the faster the transaction is likely to be processed. Developing cost-effective ÐApps is far from trivial, as developers need to optimize the balance between cost (transaction fees) and user experience (transaction processing times). Online services have been developed to provide transaction issuers (e.g., ÐApp developers) with an estimate of how long transactions will take to be processed given a certain gas price. These estimation services are crucial in the Ethereum domain and several popular wallets such as Metamask rely on them. However, despite their key role, their accuracy has not been empirically investigated so far. In this article, we quantify the transaction processing times in Ethereum, investigate the relationship between processing times and gas prices, and determine the accuracy of state-of-the-practice estimation services. Our results indicate that transactions are processed in a median of 57 seconds and that 90% of the transactions are processed within 8 minutes. We also show that higher gas prices result in faster transaction processing times with diminishing returns. In particular, we observe no practical difference in processing time between expensive and very expensive transactions. With regards to the accuracy of processing time estimation services, we observe that they are equivalent. However, when stratifying transactions by gas prices, we observe that Etherscan’s Gas Tracker is the most accurate estimation service for the very cheap and cheap transactions. EthGasStation’s Gas Price API, in turn, is the most accurate estimation service for regular, expensive, and very expensive transactions. In a post-hoc study, we design a simple linear regression model with only one feature that outperforms the Gas Tracker for very cheap and cheap transactions and that performs as accurately as the EthGasStation model for the remaining categories. Based on our findings, ÐApp developers can make more informed decisions concerning the choice of the gas price of their application-issued transactions.
Muhammad Azeem Akbar, Sajjad Mahmood, Dominik Siemon
Recently, blockchain and DevOps have received attention from the software industry as both offer number of benefits individually. Automation, measurement, and sharing are the core pillars of DevOps, and to securely manage these; blockchain can play an important role. This study aims to understand the role of blockchain technology in the DevOps paradigm. This study presents factors that influence the adoption of blockchain in DevOps. Furthermore, this study suggests a framework that assists in merging the characteristics of blockchain in the DevOps paradigm. The findings of this study give a knowledge base for industry experts and the research community to develop the roadmap and guidelines for the adoption of blockchain in the DevOps paradigm.
Jason Zheng, Chidinma Dike, Stefan Pancari, Yi Wang · 7 authors
Simulating blockchain technology within the IoT has never been as important. Along with this comes the need to find suitable blockchain simulators capable of simulating blockchain networks within an IoT environment. Despite there being a wide variety of blockchain simulators, not all are capable of simulating within an IoT environment and not all are suitable for every IoT environment. This article will review previously published works and present a list of suitable blockchain simulators as well as a few untested simulators that have the potential to simulate blockchain networks within an IoT environment. A total of 18 blockchain simulators are presented and discussed in this paper. In addition, a comprehensive list of the advantages and limitations of each simulator is presented to demonstrate the best situation in which simulators should be used. Finally, recommendations are made on when each simulator should be used and in what situation it should be avoided.
In the past several years, there has been an increased usage of smart, always- connected devices at the edge of the network, which provide real-time contextual information with low overhead to optimize processes and improve how companies and individuals interact, work, and live. The efficient management of this huge pool of devices requires runtime moni- toring to identify potential performance bottlenecks and physical defects. Typical solutions, where monitoring data are aggregated in a centralized manner, soon become inefficient, as they are unable to handle the increased load and become single points of failure. In addition, the resource-constrained nature of edge devices calls for low-overhead monitoring systems. In this paper, we propose HLF-Kubed, a blockchain-based, highly available framework for monitoring edge devices, leveraging distributed ledger technology. HLF-Kubed builds upon Kubernetes container orchestrator and HyperLedger Fabric frameworks and implements a smart contract through an external chaincode for resource usage storing and querying. Our experimental results show that our proposed setup forms a low-overhead monitoring solution, with an average of 448 MB of memory and 6.8% CPU usage, while introducing 1.1s end-to- end latency for store operation and 0.6s for ledger querying respectively.
Abdullah Lakhan, Tor Morten Groenli, Arnab Majumdar, Pattaraporn Khuwuthyakorn · 6 authors
Present-day intelligent healthcare applications offer digital healthcare services to users in a distributed manner. The Internet of Healthcare Things (IoHT) is the mechanism of the Internet of Things (IoT) found in different healthcare applications, with devices that are attached to external fog cloud networks. Using different mobile applications connecting to cloud computing, the applications of the IoHT are remote healthcare monitoring systems, high blood pressure monitoring, online medical counseling, and others. These applications are designed based on a client-server architecture based on various standards such as the common object request broker (CORBA), a service-oriented architecture (SOA), remote method invocation (RMI), and others. However, these applications do not directly support the many healthcare nodes and blockchain technology in the current standard. Thus, this study devises a potent blockchain-enabled socket RPC IoHT framework for medical enterprises (e.g., healthcare applications). The goal is to minimize service costs, blockchain security costs, and data storage costs in distributed mobile cloud networks. Simulation results show that the proposed blockchain-enabled socket RPC minimized the service cost by 40%, the blockchain cost by 49%, and the storage cost by 23% for healthcare applications.
Mohammad Habibullah Rakib, Showkot Hossain, Mosarrat Jahan, Upama Kabir
Log data is an essential tool to identify the footprint of unauthorized activities executed in a network system. Hence, a compact storage mechanism is required for the massive volume of log data to protect them from malicious tampering attacks. In this regard, Blockchain (BC) has been used to design tamper-proof storage of log records. However, the existing BC-based solutions cannot efficiently handle continuously growing massive log data, creating tremendous storage overhead on the participating BC nodes. Although some works address the storage scalability issue through separate off-chain storage, these works cannot support log data confidentiality and essential query mechanisms to manage log data are missing. Moreover, due to inadequate analysis of the real-time implementation, the performance gain obtained by these schemes is not clearly understood. To handle these deficiencies, we propose a BC-based network log data storage and management scheme that uses an InterPlanetary File System (IPFS) to outsource most of the log data to external off-chain storage. In addition, the proposed scheme performs query and audit operations to manage plaintext and encrypted log records efficiently. Besides, we present a theoretical analysis to show our scheme’s scalability in storage gain. Extensive experiments on the prototype implementation of the proposed system show that storage gain increases exponentially with increasing log records per transaction. Moreover, our scheme attains nearly 93% storage reduction in supporting per day storage demand of log records. The experimental results also demonstrate that the proposed system can be realized with a low computational overhead.
Software Engineering is the process of systematic, disciplined, quantifiable approach that has significant impact on large-scale and complex software development. Scores of well-established software process models have long been adopted in the software development life cycle that pour stakeholders towards the completion of final software products development. Within the boundary of advanced technology, various emerging and futuristic technology is evolving that really need the attention of software engineering community whether the conventional software process techniques are capable to inherit the core fundamental into the futuristic software development. In this paper, we study the impact of existing software engineering processes and models including Agile, and DevOps in Blockchain-Oriented Software Engineering. We also examine the essentiality of adopting state-of-art concepts and evolving the current soft-ware engineering process for blockchain-oriented systems. We discuss the insight of software project management practices in BOS development. The findings of this study indicate that utilizing state-of-art techniques in software processes for futur-istic technology would be challenging and promising research is needed extensively towards addressing and improving state-of - the-art software engineering processes and methodology for novel technologies.
Compute infrastructure hosted by a cloud provider allows an application to scale without limit. The application developer no longer needs to worry about the up-front investment in a server farm provisioned for a worst-case load scenario. However, managing cloud deployments requires a sophisticated framework that can autoscale the infrastructure and guarantee the up-time of running container images. This paper surveys existing research addressing the management and orchestration of cloud deployments as well as the modelling framework to abstract away the low-level details of the host infrastructure. We investigate blockchain distributed ledgers, quantum computing and Internet of Things application stacks to show how they can utilize cloud deployments.
Riyad Almakki, Lulwah AlSuwaidan, Shakir Khan, Abdul Rauf Baig · 6 authors
A new algorithm for practical Byzantine fault tolerance (PBFT), called score-PBFT or S-PBFT, is proposed to solve the problems of high communication overhead and low algorithm efficiency. This algorithm is based on the characteristics of the consortium chain. The scoring mechanism for nodes is added. All the nodes are broken up into consensus nodes, candidate nodes, and early nodes. To make sure the consensus nodes are as reliable as possible, the nodes are changed dynamically based on how each node is behaving. Improved: the election method for the controller node has been changed. The node’s score and behaviour are used as the election basis to make the algorithm more stable. In this paper, we want to improve the consensus protocol’s execution process, cut down on how many nodes are involved in the consensus process, simplify it, and make it more efficient. Results show that, when compared with the PBFT algorithm, the S-PBFT algorithm has a shorter consensus delay, less communication overhead and throughput, and better consensus node reliability.
Blockchain is a distributed ledger technique that guarantees the traceability of transactions. Blockchain is adopted in multiple domains like finance (e.g., cryptocurrency), healthcare, security, and supply chain. In the open-source software (OSS) portal GitHub, we observe a growing adoption of Blockchain-based solutions. Given the rapid emergence of Blockchain-based solutions in our daily life and the evolving cryptocurrency market, it is important to know the status quo, how developers generally interact in those repos, and how much freedom they have in applying code changes. We report an empirical study of 3,664 Blockchain software repositories from GitHub. We divide the Blockchain repositories into two categories: Tool (e.g., SDKs) and Applications (e.g., service/solutions developed using SDKs). The Application category is further divided into two sub-categories: Crypto and Non-Crypto applications. In all Blockchain repository categories, the contribution interactions on commits are the most common interaction type. We found that more organizations contributing to the Blockchain repos than individual users. The median numbers of internal and external users in tools are higher than the application repos. We observed a higher degree of collaboration (e.g., for maintenance efforts) among users in Blockchain tools than those in the application repos. Among the artifacts, issues have a greater number of interactions than commits and pull requests. Related to autonomy we found that less than half of total project contributions are autonomous. Our findings offer implications to Blockchain stakeholders, like developers to stay aware of OSS practices around Blockchain software.
Enterprises have paid attention to consortium blockchains like Hyperledger Fabric, which is one of the most promising platforms, for efficient decentralized transactions without depending on any particular organization. A consortium blockchain-based system will be typically built across multiple organizations. In such blockchain-based systems, system operations across multiple organizations in a decentralized manner are essential to maintain the value of introducing consortium blockchains. Decentralized system operations have recently been becoming realistic with the evolution of consortium blockchains. For instance, the release of Hyperledger Fabric v2.x, in which individual operational tasks for a blockchain network, such as command execution of configuration change of channels (Fabric's sub-networks) and upgrade of chaincodes (Fabric's smart contracts), can be partially executed in a decentralized manner. However, the operations workflows also include the preceding procedure of pre-sharing, coordinating, and pre-agreeing the operational information (e.g., configuration parameters) among organizations, after which operation executions can be conducted, and this preceding procedure relies on costly manual tasks. To realize efficient decentralized operations workflows for consortium blockchain-based systems in general, we propose a decentralized inter-organizational operations method that we call Operations Smart Contract (OpsSC), which defines an operations workflow as a smart contract. Furthermore, we design and implement OpsSC for blockchain network operations with Hyperledger Fabric v2.x. This paper presents OpsSC for operating channels and chaincodes, which are essential for managing the blockchain networks, through clarifying detailed workflows of those operations. A cost evaluation based on an estimation model shows that the total operational cost for executing a typical operational scenario to add an organization to a blockchain network having ten organizations could be reduced by 54 percent compared with a conventional script-based method. The implementation of OpsSC has been open-sourced and registered as one of Hyperledger Labs projects, which hosts experimental projects approved by Hyperledger.
With an expanding number of institutions participating in the global education market, verifying the legitimacy of academic achievements such as CVs and certificates has grown more difficult. Blockchain is an enabling technology that has the potential to help solve this issue. This research presents a blockchain-based achievement record system that generates a verified record of accomplishments. Using the unique characteristics afforded by Blockchain technology (public Ethereum Blockchain) and smart contracts, the proposed solution intends to make the process of certificate authentication and validation more reliable, easy, and fast. The system’s design and structure, as well as its components and tools, are described. The system is then evaluated through a series of experiments to determine its usability, effectiveness, performance, and cost. A score of 77.1 was obtained on the System Usability Scale (SUS) test. In addition, an examination of End-User Computing Satisfaction (EUCS) revealed that participants deemed the system to be extremely useful and user-friendly. We show that this method is a major advance over older systems, being both more user-friendly and efficient, through a literature review. We also provide a thorough cost study and outline the benefits and drawbacks of various blockchain systems.
The Level of Conceptual Interoperability Model (LCIM) is a widely used framework that represents inter-relationship among interoperability and composability of different information systems. Although this model has been successfully applied to various domains such as cybernetics and informatics, there are many challenges in directly adopting the model for blockchain-based systems. This paper identifies those challenges and proposes a new Level of Conceptual Interoperability Model for blockchain systems based on the original LCIM. We define five different levels of interoperability for blockchain-based systems and theoretically evaluate the level of interoperability (LOI) achieved by different blockchain networks. The evaluation outcomes show that there exists technical interoperability (Level 1) between Bitcoin and Ethereum networks, whereas Solana and Binance achieve pragmatic interoperability (Level 4) by conveying state changes with the Ethereum network and Polkadot achieve dynamic interoperability (level 5) by suitably conveying state changes within the ecosystem of its networks. We present case studies that demonstrate how the proposed LCIM for blockchain systems map various real-world applications to their respective levels.
With the rapid advancement of cloud computing, cloud storage services have developed rapidly. One issue that has attracted particular attention in such remote storage services is that cloud storage servers are not enough to reliably save and maintain data, which greatly affects users’ confidence in purchasing and consuming cloud storage services. Traditional data integrity auditing techniques for cloud data storage are centralized, which faces huge security risks due to single-point-of-failure and vulnerabilities of central auditing servers. Blockchain technology offers a new approach to this problem. Many researchers have endeavored to employ the blockchain for data integrity auditing. Based on the search of relevant papers, we found that existing literature lacks a thorough survey of blockchain-based integrity auditing for cloud data. In this paper, we make an in-depth survey on cloud data integrity auditing based on blockchain. Firstly, we cover essential basic knowledge of integrity auditing for cloud data and blockchain techniques. Then, we propose a series of requirements for evaluating existing Blockchain-based Data Integrity Auditing (BDIA) schemes. Furthermore, we provide a comprehensive review of existing BDIA schemes and evaluate them based on our proposed criteria. Finally, according to our completed review and analysis, we explore some open issues and suggest research directions worthy of further efforts in the future.
Whereas the use of distributed ledger technologies has previously been limited to cryptocurrencies, other sectors—such as healthcare, supply chain, and finance—can now benefit from them because of bitcoin scripts and smart contracts. However, these applications rely on oracles to fetch data from the real world, which cannot reproduce the trustless environment provided by blockchain networks. Despite their crucial role, academic research on blockchain oracles is still in its infancy, with few contributions and a heterogeneous approach. This study undertakes a bibliometric analysis by highlighting institutions and authors that are actively contributing to the oracle literature. Investigating blockchain oracle research state of the art, research themes, research directions, and converging studies will also be highlighted to discuss, on the one hand, current advancements in the field and, on the other hand, areas that require more investigation. The results also show that although worldwide collaboration is still lacking, various authors and institutions have been working in similar directions.