Blockchain is one of the most recent disrupting technologies. Since Bitcoin emerged as its initial application, many blockchain projects arose offering different features for general and domain specific scenarios. In turn, Blockchain platforms work as isolated environments and they do not support interaction (i.e. interoperability) between each other.During the last years, some academic and industry efforts were performed in order to achieve interoperability between blockchain platforms. However, these efforts solve specific use cases and do not provide a general interoperability solution. In order to organize existing work in the area, this paper provides a feature-based classification framework based on 16 key interoperability features, that enabled the classification of 65 academic papers in three categories and six subcategories.The results show that nowadays research is focused on public interoperability, while private and public-to-private interoperability are still on their first steps. Based on these results, this work also discusses nowadays blockchain interoperability landscape, identifies challenges, and suggests future research directions.
Cezara Drăgoi, Constantin Enea, Srinidhi Nagendra, Mandayam Srivas
Large-scale, fault-tolerant, distributed systems are the backbone for many critical software services. Since they must execute correctly in a possibly adversarial environment with arbitrary communication delays and failures, the underlying algorithms are intricate. In particular, achieving consistency and data retention relies on intricate consensus (state machine replication) protocols. Ensuring the reliability of implementations of such protocols remains a significant challenge because of the enormous number of exceptional conditions that may arise in production. We propose a methodology and a tool called Netrix for testing such implementations that aims to exploit programmer's knowledge to improve coverage, enables robust bug reproduction, and can be used in regression testing across different versions of an implementation. As evaluation, we apply our tool to a popular proof of stake blockchain protocol, Tendermint, which relies on a Byzantine consensus algorithm, a benign consensus algorithm, Raft, and BFT-Smart. We were able to identify 4 deviations of the Tendermint implementation from the protocol specification and check their absence on an updated implementation. Additionally, we were able to reproduce 4 previously known bugs in Raft.
Seth Djanie Kotey, Eric Tutu Tchao, Abdul‐Rahman Ahmed, Andrew Selasi Agbemenu · 8 authors
Abstract Blockchain technology has been increasingly adopted over the past few years since the introduction of Bitcoin, with several blockchain architectures and solutions being proposed. Most proposed solutions have been developed in isolation, without a standard protocol or cryptographic structure to work with. This has led to the problem of interoperability, where solutions running on different blockchain platforms are unable to communicate, limiting the scope of use. With blockchains being adopted in a variety of fields such as the Internet of Things, it is expected that the problem of interoperability if not addressed quickly, will stifle technology advancement. This paper presents the current state of interoperability solutions proposed for heterogenous blockchain systems. A look is taken at interoperability solutions, not only for cryptocurrencies, but also for general data‐based use cases. Current open issues in heterogenous blockchain interoperability are presented. Additionally, some possible research directions are presented to enhance and to extend the existing blockchain interoperability solutions. It was discovered that though there are a number of proposed solutions in literature, few have seen real‐world implementation. The lack of blockchain‐specific standards has slowed the progress of interoperability. It was also realized that most of the proposed solutions are developed targeting cryptocurrency‐based applications.
Mencapai keseimbangan antara skalabilitas, keberlanjutan, dan keamanan sambil mempertahankan desentralisasi telah menjadi solusi target untuk aplikasi blockchain yang terdesentralisasi selama beberapa tahun terakhir. Beberapa pendekatan telah diusulkan oleh beberapa tim blockchain untuk mencapainya, Ethereum termasuk di antaranya. Ethereum berada di jalur peningkatan protokol utama yang disebut Ethereum 2.0 (Eth2), menerapkan Sharding dan memperkenalkan Proof-of-Stake (PoS). Karena perubahan mekanisme konsensus merupakan masalah yang rumit, peningkatan ini akan dicapai melalui fase yang berbeda, yang pertama adalah penerapan Beacon Chain. Sebagai Ethereum1, Eth2 mengandalkan jaringan peer-to-peer (p2p) terdesentralisasi untuk distribusi pesan. Hingga saat ini, ada lebih dari 17.500 node di jaringan utama Eth2 yang tersebar secara geografis. Namun, topologi yang satu ini masih belum diketahui. Dalam makalah ini, kami menyajikan hasil yang diperoleh dari analisis yang kami lakukan pada jaringan p2p Eth2. Menggambarkan topologi jaringan, kemungkinan bahaya yang disiratkan oleh yang satu ini (Cortes-Goicoechea and Bautista-Gomez, 2021).
Alberto Arias Maestro, Óscar Sanjuán Martínez, Ankur Teredesai, Vicente García‐Díaz
Contemporary cloud application and Edge computing orchestration systems rely on controller/worker design patterns to allocate, distribute, and manage resources. Standard solutions like Apache Mesos, Docker Swarm, and Kubernetes can span multiple zones at data centers, multiple global regions, and even consumer point of presence locations. Previous research has concluded that random network partitions cannot be avoided in these scenarios, leaving system designers to choose between consistency and availability, as defined by the CAP theorem. Controller/worker architectures guarantee configuration consistency via the employment of redundant storage systems, in most cases coordinated via consensus algorithms such as Paxos or Raft. These algorithms ensure information consistency against network failures while decreasing availability as network regions increase. Mainstream blockchain technology provides a solution to this compromise while decentralizing control via a fully distributed architecture coordinated through Byzantine-resistant consensus algorithms. This research proposes a blockchain-based decentralized architecture for cloud resource management systems. We analyze and compare the characteristics of the proposed architecture concerning the consistency, availability, and partition resistance of architectures that rely on Paxos/Raft distributed data stores. Our research demonstrates that the proposed blockchain-based decentralized architecture noticeably increases the system availability, including cases of network partitioning, without a significant impact on configuration consistency.
Muhammad Hammad, Jawaid Iqbal, Ch Anwar Ul Hassan, Saddam Hussain · 9 authors
Version control is an important component of configuration management, and most enterprise-level software uses different tools and technologies to manage the software version control such as CVS, Subversion, or Perforce. Following the success of bitcoin, the first practical application of blockchain, it is being implemented in other fields such as healthcare, supply chains, financial management, real estate, electoral systems, and so on. Blockchain’s core features include decentralization, immutability, and interminability. Most version control repositories are centralized and can be modified by external sources, implying that they are in danger of being corrupted or controlled. In this study, we present the BDA-SCV architecture for implementing a version control system in blockchain technology. Our proposed approach would replace the necessity for a centralized system, with a decentralized approach implemented in the blockchain using distributed file storage, for which we will use the InterPlanetary File System (IPFS), which is a distributed file system. The proof of authority (PoA) consensus algorithm will be used to approve the developer communicating modifications to the private blockchain network; the authority will only provide permission and will not be able to add, edit, or delete code files. For each change, a ledger block will be created with a reference to the file stored in the distributed repository. A block cannot be manipulated once it has been created. Smart contracts will be used to register developers, create blocks, and manage the repository. The suggested model is implemented using the Hyperledger Fabric network, and the developer and authorizer ends are built into the dotnet web application.
Sanil Gandhi, Arvind W. Kiwelekar, Laxman D. Netak, Shashank Shahare
Approval processes are intra-organizational business processes designed to sanction the execution of specific administrative tasks. Purchasing essential stationery products, filing bills for acquired items, approving attendance at conferences, processing insurance claims, approving loans, and similar tasks are examples for which employees require approvals from multiple authorities within an organization. Common concerns mentioned by both the approving authority and the proposal submitter are the genuineness of the proposer and the time required for approving the proposal. This paper presents a novel Blockchain-based Approval Process System (BAPS) to establish mutual trust between the submitter and the approving authorities. The proposed system’s design, implementation, and evaluation are included in this paper. The suggested approach can shorten the time needed to obtain the permissions and increase transparency between the users and the authority. In addition, it eliminates issues such as the misplacement of papers. It stores the information in a secure and tamper-proof platform which is some of the most significant drawbacks of traditional paper-based systems.
Founded in 2017, Algorand is one of the world's first carbon-negative, public blockchains inspired by proof of stake. Algorand uses a Byzantine agreement protocol to add new blocks to the blockchain. The protocol can tolerate malicious users as long as a supermajority of the stake is controlled by non-malicious users. The protocol achieves about 100x more throughput compared to Bitcoin and can be easily scaled to millions of nodes. Despite its impressive features, Algorand lacks a reward-distribution scheme that can effectively incentivize nodes to participate in the protocol. In this work, we study the incentive issue in Algorand through the lens of game theory. We model the Algorand protocol as a Bayesian game and propose a novel reward scheme to address the incentive issue in Algorand. We derive necessary conditions to ensure that participation in the protocol is a Bayesian Nash equilibrium under our proposed reward scheme even in the presence of a malicious adversary. We also present quantitative analysis of our proposed reward scheme by applying it to two real-world deployment scenarios. We estimate the costs of running an Algorand node and simulate the protocol to measure the overheads in terms of computation, storage, and networking.
Rati Gelashvili, Alexander Spiegelman, Zhuolun Xiang, George Danezis · 8 authors
Block-STM is a parallel execution engine for smart contracts, built around the principles of Software Transactional Memory. Transactions are grouped in blocks, and every execution of the block must yield the same deterministic outcome. Block-STM further enforces that the outcome is consistent with executing transactions according to a preset order, leveraging this order to dynamically detect dependencies and avoid conflicts during speculative transaction execution. At the core of Block-STM is a novel, low-overhead collaborative scheduler of execution and validation tasks.
Manaswini Piduguralla, Saheli Chakraborty, Parwat Singh Anjana, Sathya Peri
Blockchain technology is a distributed, decentralized, and immutable ledger system. It is the platform of choice for managing smart contract transactions (SCTs). Smart contracts are self-executing codes of agreement between interested parties commonly implemented using blockchains. A block contains a set of transactions representing changes to the system and a hash of the previous block. The SCTs are executed multiple times during the block production and validation phases across the network. The execution is sequential in most blockchain technologies. In this work, we incorporate a direct acyclic graph (DAG) based parallel scheduler framework for concurrent execution of SCTs. The dependencies among a block's transactions are represented through a concurrent DAG data structure that assists in throughput optimization. We have created a DAG scheduler module that can be incorporated into blockchain platforms for concurrent execution with ease. We have also formally established the safety and liveness properties of the DAG scheduler. For evaluation, our framework is implemented in Hyperledger Sawtooth V1.2.6. The performance across multiple smart contract applications is measured for various scheduler types. Experimental analysis shows that the proposed framework achieves notable performance improvements over the parallel SCT execution frameworks.
Juan Jesús Rico-Peña, Raquel Arguedas Sanz, Carmen López-Martín
Blockchain has emerged as an innovative technology with potential to transform business management, through operational efficiency improvements. Nevertheless, several performance and vulnerability issues have been identified for the different typologies supporting the wide range of blockchain-based applications currently implemented in different domains. A variety of analytical and empirical models are being used to evaluate the issues associated with the different blockchain typologies, enabling systematic analyses of the corresponding efficiency impact, and technical or economic threats. A thorough systematic literature review of these models has been performed, followed by a detailed assessment on the way these models have been employed, and the target parameters and applications evaluated (336 research selected and analysed). We propose a co-classification of these models, allowing us to identify which ones are employed to a greater extent to address the different blockchain issues in scientific research. In a second step, a bibliometric analysis on the selected research is conducted, offering a complementary overview of the status of and trends in blockchain modelling, including the most prolific authors and leading contributing countries to the topic. The main outcome and contribution of the paper is the provision of a broad overview on how blockchain issues have been analytically tackled, through the synthesis and meta-analysis of the models used in the scientific literature since the inception of blockchain technology. The results have two main direct applications, firstly supporting novel vulnerability and performance analyses of existing blockchain applications by providing historical information on the models used so far, as well as the key parameters and typology of the blockchain-based applications evaluated. Secondly, in the implementation of new applications, by allowing the recognition of key issues identified that are associated with the different blockchain typologies and to determine the most suitable models to analyse the weaknesses and risks of the alternative designs under evaluation for these new implementations.
The next-generation blockchain ecosystem is expected to integrate both homogeneous and heterogeneous distributed ledgers. These systems require operations across multiple blockchains to enrich advanced functionalities for future applications. However, the development of blockchain interoperability involves much more complexity regarding the variety of underlying architectures. Guaranteeing the properties of ACID (Atomicity, Consistency, Isolation, Durability) across diverse blockchain systems remains challenging. To clear the fog, this article accordingly provides a comprehensive review of the current progress of blockchain interoperability. We explore the general principles and procedures for interoperable blockchain systems to highlight their design commons. Then, we survey practical instances and compare state-of-the-art systems to present their unique features between distinct solutions. Finally, we discuss critical challenges and point out potential research directions. We believe our work can provide an intuitive guideline for newcomers and also promote rapid development in terms of blockchain interoperability.
Blockchain is a peer-to-peer trustless network that keeps records of digital assets without any central authority. With the passage of time, the sustainability issue of blockchain is rising. This paper discusses two major sustainability issues of blockchain: power consumption and scalability. It discusses the challenge of power consumption by analyzing various approaches to estimating power consumption in the literature. A case study of bitcoin is presented for this purpose. The study presents a review of the growing energy consumption of bitcoin along with a solution for immersion cooling in blockchain mining. The second challenge addressed in this research is scalability. With the increase in network size, scalability issues are also increasing as the number of transactions per second is decreasing. In other words, blockchain is observing low throughput with its increase in size. The paper discusses research studies and techniques proposed in the literature. The paper then investigates how to scale blockchain for better performance.
Khulud Salem Alshudukhi, Maher Khemakhem, Fathy Eassa, Kamal Jambi
In the Internet of Things (IoT), technological developments have increased the significance of federated cloud systems with integrated cloud providers for exchange transactions. Monolithic IoT systems implement service-oriented architecture (SOA), which is complex for supporting scalability and communicating transactions in a federated cloud system. One weakness of conventional security methods is that they depend on a centralized party, which means there is a single point of failure for the system. In contrast, blockchain (BC) and microservice (MS) technologies allow services to split for independent tasks. In this research paper, we introduce BC security managers based on MS technology for federated cloud systems in an IoT environment. In addition, we present the design of the Federation Security System Manager (FSSM) MS with interoperability features. This enables the exchange of transactions between permissioned BC managers at different cloud providers, with some constraints. Furthermore, a security framework based on MSs and BCs is implemented to ensure security and protect access control. The security functions are deployed based on a smart contract between the permissioned BC managers to achieve interoperability. Finally, we introduce the development process of the proposed framework, which allows for interoperability and ensures the security and privacy of the participating data for a distributed IoT based on the federated cloud system.
Since its inception as one of the Bitcoin's underpinning technologies, the concept of Blockchain has traversed a long way from being merely a secure distributed ledger meant only for storing cryptocurrencies-based financial transactions to implementing innovative and revolutionary distributed systems for multifarious purposes.One of the contemporary and out-of-the-box Blockchain-based projects, namely Hyperledger, promises to make preeminent use of this technology by promoting cross-industry collaboration in developing Blockchain-based solutions, thus, opening a new chapter in distributed computing.However, attributing to its underlying design, leveraging Hyperledger-Fabric (HF) features still lacks an analysis from the perspective of security risks and efficiency concerns pertaining to real-time distributed computing-based systems and applications.In this regard, we investigate the HF architecture, along with various research endeavours undergone by researchers in recent years to combat its security and performance-related challenges.In light of the identified limitations and bottlenecks, we present our conceptual proposal and feasible insights for improving the efficacy of HF-based systems while not compromising their security.
When there are loopholes in smart contracts or changes in demand, the existing three-tier model can only implement partial on-chain upgrades and the security of on-chain upgrades cannot be guaranteed. In this study, we optimized the three-tier smart contract model and proposed a four-tier smart contract model that includes the proxy, verification, business, and storage layers. The proxy layer is used to link contracts with other layers, the verification layer is used to check the integrity, boundary values, and abnormal processes of contracts, the business layer is used to execute business logic, and the storage layer is used to store data uniformly. On the basis of the proposed model, an on-chain upgrade and verification algorithm is proposed, which implements on-chain upgrade, on-chain verification, and version compatibility of contracts. We then design an information exchange system based on the proposed model and algorithm and test it based on the FISCO BCOS platform. Experiments show that, compared to the three-tier model, the proposed four-tier model and algorithm can implement the on-chain upgrade and reduce the contract complexity and data migration cost at the cost of some overall deployment.
Hyperledger Fabric is a popular permissioned blockchain system that features a highly modular and extensible system for deploying permissioned blockchains which are expected to have a major effect on a wide range of sectors. Unlike traditional blockchain systems such as Bitcoin and Ethereum, Hyperledger Fabric uses the EOV model for transaction processing: the submitted transactions are executed by the endorsing peer, ordered and batched by the ordering services, and validated by the validating peers. Due to this EOV workflow, a well-documented issue that arises is the multi-version concurrency control conflict. This happens when two transactions try to writes and read the same key in the ledger at the same time. Existing solutions to address this problem includes eliminating blocks in favor of streaming transactions, repairing conflicts during the ordering phase, and automatically merging the conflicting transactions using CRDT (Conflict Free Replicated Data) techniques. In this paper, we propose a novel solution called Early Detection for MVCC Conflicts. Our solution detects the conflicting transactions at an early stage of the transaction execution instead of processing them until the validation phase to be aborted. The advantage of our solution is that it detects conflict as soon as possible to minimize the overhead of conflicting transaction on the network resulting in the reduction of the end-to-end transaction latency and the increase of the system's effective throughput. We have successfully implemented our solution in Hyperledger Fabric. We propose three different implementations which realize early detection. Our results show that our solutions all perform better than the baseline Fabric, with our best solution SyncMap which improves the goodput by up to 23% and reduces the latency by up to 80%.
József Udvaros, Norbert Forman, Szilárd Mihály Avornicului
We present a solution based on blockchain technology and smart contracts for agile project management in light of the continuing transition in the software development industry. Due to the fact that these technologies are self-executing, customized, and impervious to tampering, they are considered to be crucial for the transition to a more efficient, transparent, and transactive payment gateway between major stakeholders. These major stakeholders will be able to communicate through smart contracts, which will act as a bridge between them. As part of their responsibility, they will make sure that all of the terms of the contract are met and acknowledged by all members of the team. As a result of our research, we propose a model in which payouts could be automatically enabled and penalties or grants could be introduced based on performance. If any changes were to be made to the contract in the future, all parties involved would be automatically notified. To maintain the development cycle, they should accept these changes as soon as possible. Because of this, the product owner and client are able to concentrate their resources on more profitable and productive tasks, without the need to monitor this aspect of agile project management. Our proposed model brings together different partners with the objective of successfully developing different IT projects by leveraging software engineering solutions such as smart contracts.
Majed Abdullah Alrowaily, Mansoor Alghamdi, Ibrahim S. Alkhazi, Ahmad B. Hassanat · 6 authors
Blockchain technology has a wide range of applicability in the fields of transportation infrastructure construction and maintenance, transportation big data analysis and application, expressway toll collection, and logistics. The core technology lies in the distributed, decentralized, immutable, and programmable features brought about by consensus. This paper studies the dynamic analytical modeling of Proof-Based Consensus (PBC) strategies in blockchain systems, focusing on basic strategies, including Proof of Work (PoW), Proof of Stake (PoS), Proof of Authority (PoA), and Proof of Luck (PoL), which can be extended to other PBC models. We focus on modeling these typical strategies and discuss their solution characteristics in terms of algorithmic mechanisms and principles. The relevant results can be used for quantitative analysis and evaluation of distributed consensus based on the model.
Aside from the conception of new blockchain architectures, existing blockchain optimizations in the literature primarily focus on system or data-oriented optimizations within prevailing blockchains. However, since blockchains handle multiple aspects ranging from organizational governance to smart contract design, a holistic approach that encompasses all the different layers of a given blockchain system is required to ensure that all optimization opportunities are taken into consideration. In this vein, we define a multi-level optimization recommendation approach that identifies optimization opportunities within a blockchain at the system, data, and user level. Multiple metrics and attributes are derived from a blockchain log and nine optimization recommendations are formalized. We implement an automated optimization recommendation tool, BlockOptR, based on these concepts. The system is extensively evaluated with a wide range of workloads covering multiple real-world scenarios. After implementing the recommended optimizations, we observe an average of 20% improvement in the success rate of transactions and an average of 40% improvement in latency.
André Augusto, Rafael Belchior, Imre Kocsis, Gönczy László · 6 authors
The last few years have seen a steep increase in blockchain interoperability research. Most solutions connect public blockchains; hence, the main cross-chain use case is token transfer. By-design platform transparency, tamper-resistance, and auditability make blockchains an infrastructure candidate for Central Bank Digital Currencies (CBDCs), but bridging CBDCs is an important missing piece in general. In this paper, we leverage an asset transfer protocol, ODAP/SATP, to define an extendable and dependable blockchain interoperability middleware that can bridge CBDC from Hyperledger Fabric to EVM-based permissioned blockchains. The key interoperation enabler in the solution is a shared asset definition enforced by both sides of the bridge, accompanied by a mapping between Fabric Identities and Ethereum addresses for Identity management. We implement our design for the CBDC use case utilizing Hyperledger Cactus. Through a preliminary performance evaluation, we show that the underlying ledgers heavily influence the latency of the solution, not the bridging components.
Ye Lu, Caihua Liu, Meng Zhao, Xiaodong Duo · 7 authors
Transaction throughput is an important indicator of blockchain performance. However, many current smart contract virtual machines have low efficiency in executing smart contract transactions, which results in low transaction throughput of the blockchain. Some transaction parallel execution approaches have effectively improved transaction execution efficiency, but there are still problems such as low parallelism and large-scale transaction rollbacks. Therefore, we propose FSC, a fast execution approach for smart contract transactions based on fine-grained read-write analysis. The key idea is to obtain fine-grained read-write information from the smart contract compiler, and use this read-write information to group transactions at the blockchain platform layer, thereby improving the parallelism of transaction execution. FSC mainly includes three parts of work: 1) a fine-grained analysis method for read-write information at the contract state variable level based on the contract compiler; 2) a series of merging rules for merging read-write items; 3) a method to handle conflicting transactions. Our evaluation results show that FSC can accelerate the execution of smart contract transactions. Compared with before, FSC can reduce the overall transaction execution latency by 58.1%. In addition, FSC can shorten the longest execution path by 89.9% when the variation in transaction grouping latency is within 5.5%.
In the healthcare industry, software quality plays a crucial role as it is used in almost all systems used for medical intervention. If the quality of healthcare software is not considered, it can potentially have a negative effect and may create catastrophic situations for the patient’s health and can seriously affect the organisation’s reputation. Maintainability is a key component of software quality, making up 80% of the total cost of the software development life cycle cost. Software maintainability can be assessed using metrics that are stored in a centralised location. Software maintainability metrics and related data are crucial. If attackers alter this data, it affects the overall quality of healthcare software. In order to solve this issue, we adapted blockchain-based storage, which offers the advantages of decentralisation, immutability, and transparency and is a promising solution. We used Storj, a blockchain-based decentralised file system, to secure the maintainability metrics and related data. According to the results, the maintainability metrics data stored in the blockchain-based decentralised file storage is more secure, redundant, and cost-effective than centralised storage.
Blockchain is described as a cacheable, immutable that makes tracking transactions and assets in a corporate network easier. Hyperledger is a free software initiative that was designed to aid in the development of distributed ledgers based on blockchain technology. Hyperledger has several frameworks, including Hyperledger Fabric, Hyperledger Burrow, Hyperledger Indy, Hyperledger Sawtooth, and Hyperledger Grid. There are also other Hyperledger-based technologies used in blockchain. This research paper investigates the many applications and strategies employed by the Hyperledger Fabric blockchain network. There will also be a discussion regarding Hyperledger frameworks, future improvements, and overall applications used.