Martín Garriga, Stefano Dalla Palma, Maxmiliano Arias, Alan De Renzis · 6 authors
Abstract Blockchain is a decentralized transaction and data management solution, the technological leap behind the success of Bitcoin and other cryptocurrencies. As the variety of existing blockchains and distributed ledgers continues to increase, adopters should focus on selecting the solution that best fits their needs and the requirements of their decentralized applications, rather than developing yet another blockchain from scratch. In this article we present a conceptual framework to aid software architects, developers, and decision makers to adopt the right blockchain technology. The framework exposes the interrelation between technological decisions and architectural features, capturing the knowledge from existing academic literature, industrial products, technical forums/blogs, and experts' feedback. We empirically show the applicability of our framework by dissecting the platforms behind Bitcoin and other top 10 cryptocurrencies, aided by a focus group with researchers and industry practitioners. Then, we leverage the framework together with key notions of the architectural tradeoff analysis method to analyze four real‐world blockchain case studies from industry and academia. Results shown that applying our framework leads to a deeper understanding of the architectural tradeoffs, allowing to assess technologies more objectively and select the one that best fit developers' needs, ultimately cutting costs, reducing time‐to‐market and accelerating return on investment.
Jovan Nikolić, Nursultan Jubatyrov, Evangelos Pournaras
Large-scale decentralized systems of autonomous agents interacting via asynchronous communication often experience the following self-healing dilemma: fault detection inherits network uncertainties making a remote faulty process indistinguishable from a slow process. In the case of a slow process without fault, fault correction is undesirable as it can trigger new faults that could be prevented with fault tolerance that is a more proactive system maintenance. But in the case of an actual faulty process, fault tolerance alone without eventually correcting persistent faults can make systems underperforming. Measuring, understanding and resolving such self-healing dilemmas is a timely challenge and critical requirement given the rise of distributed ledgers, edge computing, the Internet of Things in several energy, transport and health applications. This paper contributes a novel and general-purpose modeling of fault scenarios during system runtime. They are used to accurately measure and predict inconsistencies generated by the undesirable outcomes of fault correction and fault tolerance as the means to improve self-healing of large-scale decentralized systems at the design phase. A rigorous experimental methodology is designed that evaluates 696 experimental settings of different fault scales, fault profiles and fault detection thresholds in a prototyped decentralized network of 3000 nodes. Almost 9 million measurements of inconsistencies were collected in a network, where each node monitors the health status of another node, while both can defect. The prediction performance of the modeled fault scenarios is validated in a challenging application scenario of decentralized and dynamic in-network data aggregation using real-world data from a Smart Grid pilot project. Findings confirm the origin of inconsistencies at design phase and provide new insights how to tune self-healing at an early stage. Strikingly, the aggregation accuracy is well predicted as shown by high correlations and low root mean square errors.
Jovan Nikolić, Nursultan Jubatyrov, Evangelos Pournaras
Large-scale decentralized systems of autonomous agents interacting via\nasynchronous communication often experience the following self-healing dilemma:\nfault detection inherits network uncertainties making a remote faulty process\nindistinguishable from a slow process. In the case of a slow process without\nfault, fault correction is undesirable as it can trigger new faults that could\nbe prevented with fault tolerance that is a more proactive system maintenance.\nBut in the case of an actual faulty process, fault tolerance alone without\neventually correcting persistent faults can make systems underperforming.\nMeasuring, understanding and resolving such self-healing dilemmas is a timely\nchallenge and critical requirement given the rise of distributed ledgers, edge\ncomputing, the Internet of Things in several energy, transport and health\napplications. This paper contributes a novel and general-purpose modeling of\nfault scenarios during system runtime. They are used to accurately measure and\npredict inconsistencies generated by the undesirable outcomes of fault\ncorrection and fault tolerance as the means to improve self-healing of\nlarge-scale decentralized systems at the design phase. A rigorous experimental\nmethodology is designed that evaluates 696 experimental settings of different\nfault scales, fault profiles and fault detection thresholds in a prototyped\ndecentralized network of 3000 nodes. Almost 9 million measurements of\ninconsistencies were collected in a network, where each node monitors the\nhealth status of another node, while both can defect. The prediction\nperformance of the modeled fault scenarios is validated in a challenging\napplication scenario of decentralized and dynamic in-network data aggregation\nusing real-world data from a Smart Grid pilot project. Findings confirm the\norigin of inconsistencies at design phase.\n
Ilham Qasse, Josef Spillner, Manar Abu Talib, Qassim Nasir
Repositories are important indicators for liveness and maturity in software development communities. They host user-facing applications or re-usable artefacts to build such applications. While rarely decentralised themselves, they are important for hosting code for decentralized applications. In this study, we investigate public repositories dedicated to decentralised applications, or ĐApps, executing on heterogeneous blockchain platforms. The study is the first to report aggregated metrics on the repository-level and application-level characteristics including ĐApps metadata, associated smart contracts composition and inconsistencies between repositories in both schema and content. The main contributions are data acquisition tools and an evolving public dataset along with an initial analysis to derive key metrics in a reproducible way. Insights provided encompass the dominance of Ethereum, the absence of smart contracts for a significant portion of applications, and unused application advertisement potential by absence from popular repositories. The insights can be exploited by developers to build high-quality and highly popular applications and set up corresponding quality checks.
Blockchain is viewed as one of the most promising and disruptive inventions and is considered to have the potential to significantly change current auditing profession and reshape the business ecosystem. With the advancement of blockchain, it has been concerned in some studies that auditing could be significantly impacted and eventually replaced. Meanwhile, another viewpoint argues that blockchain technology would push the existing auditing industry to a new direction rather than eliminating the need for auditing in the immediate future. This discussion can hardly be settled without evaluation, however, studies exploring how blockchain technology can be employed in auditing practice or how continuous auditing can be conducted using blockchain technology are limited. This paper analyses the impact of blockchain features on existing audit processes and discusses the possibility of applying blockchain characteristics including immutability, distributed ledger, real-time settlement to the auditing domain. Based on the systematic analysis, this study proposes a conceptual model for blockchain-based auditing information system, which provides solutions to employ blockchain technology in auditing profession, significantly improving the efficiency and effectiveness of auditing and promoting the transformation of the auditing paradigm to real-time, continuous and intelligent auditing.
This paper intends to propose the architecture of a blockchain-agnostic\nprotocol designed for communication of blockchains amongst each other (i.e.\ncross-chain), and for blockchains with the outside world (i.e. data oracles).\nThe expansive growth of cutting-edge technology in the blockchain industry\noutlines the need and opportunity for addressing oracle consensus in a manner\nboth technologically and economically efficient as well as futureproof.\nBlockchain-agnosticism is inherently limited if proposing a technological\nsolution involves adding one more architectural layer. As such, Gravity\nprotocol is designed to be a truly blockchain-agnostic protocol. By ensuring\nparity through direct integration and by leveraging the stability and security\nof the respective interconnected ecosystems, Gravity circumvents the need for a\ndedicated, public blockchain and a native token. Ultimately, Gravity protocol\nintends to address scalability challenges by providing a solid infrastructure\nfor the creation of gateways, cross-chain applications, and sidechains. This\npaper introduces and defines the concept of Oracle Consensus and its\nimplementation in the Gravity protocol named the Pulse Consensus algorithm. The\nproposed consensus architecture allows Gravity to be considered a singular\ndecentralized blockchain-agnostic oracle.\n
In Bitcoin and Ethereum, nodes require large storage capacity to maintain all the blockchain data, such as transactions, UTXOs, and account states. As of May 2020, the storage size of the Bitcoin blockchain has expanded to 270 GB, and it will continue to increase. This storage requirement is a major hurdle to becoming a block proposer or validator. Although many studies have attempted to reduce the storage size, in the proposed methods, a node cannot keep all blocks or cannot generate a block. We propose an architecture called Trail that allows nodes to hold all blocks in a small storage and to generate and validate blocks and transactions. Trail does not depend on a consensus algorithm or fork choice rule. In this architecture, a client who issues transactions has the data to prove its own balances and can generate a transaction containing the proof of balances. The nodes in Trail do not store transactions, UTXOs and account balances: they keep only blocks. The blocksize is approximately 8 KB, which is 100 times smaller than that of Bitcoin. Further, the block size is constant regardless of the number of accounts and the number of transactions. Compared to traditional blockchains, clients who issue transactions must store additional data. However, we show that proper data archiving can keep the account device storage size small. Trail allows more users to be block proposers and validators and improves the decentralization of the blockchain.
Abstract Blockchain-based cloud application (BCP) is an emerging cloud application architecture. By moving trust-critical functions onto blockchain, BCP offers unprecedented function transparency and data integrity. Ethereum is by far the most popular blockchain platform chosen for BCP. In Ethereum, special programs named smart contracts are often used to implement key components for BCP. By design, users can send transactions to smart contracts, which will automatically lead to code execution and state modification. However, unlike regular programs, smart contracts are restricted in execution by gas limit, i.e., a form of runtime resource. If a transaction uses up all available gas, an out of gas exception () will trigger, reverting state until right before that transaction.In this work, we study the out of gas exceptions (or gas exceptions in short) on Ethereum empirically for the very first time. In particular, we collect exception transactions using an instrumented Ethereum client. By investigation, we found gas exceptions stand out in terms of both occurrences and losses. Moreover, we focused on individual contracts and transactions, aiming at discovering and identifying common causing factors triggering these exceptions. At last, we also investigate existing tools in preventing gas exceptions. Our results suggest further research and study in this direction.
Ali Alzubaidi, Karan Mitra, Pankesh Patel, Ellis Solaiman
Within cloud-based internet of things (IoT) applications, typically cloud providers employ Service Level Agreements (SLAs) to ensure the quality of their provisioned services. Similar to any other contractual method, an SLA is not immune to breaches. Ideally, an SLA stipulates consequences (e.g. penalties) imposed on cloud providers when they fail to conform to SLA terms. The current practice assumes trust in service providers to acknowledge SLA breach incidents and executing associated consequences. Recently, the Blockchain paradigm has introduced compelling capabilities that may enable us to address SLA enforcement more elegantly. This paper proposes and implements a blockchain-based approach for assessing SLA compliance and enforcing consequences. It employs a diagnostic accuracy method for validating the dependability of the proposed solution. The paper also benchmarks Hyperledger Fabric to investigate its feasibility as an underlying blockchain infrastructure concerning latency and transaction success/fail rates.
Due to the unique characteristics of decentralization and security, blockchain is believed to have considerable potential to provide a wide range of benefits for ed-ucation development. Its application in education is relatively new but increasing very quickly. This paper introduced the typical blockchain techniques and charac-teristics briefly. Then, recent applications of blockchain in education were sum-marized comprehensively, especially those regarding learning record keeper, cer-tificate issue and management, and decentralized education ecosystem. Finally, technical and non-technical challenges were discussed. It is hoped to provide an in-depth look at the perspectives of blockchain in evolving education and help to the development of new application systems.
This paper recommends a blockchain framework that secures the e-learning platform. The proposed framework was used to build a widely manageable and safe data delivery facility that will connect to existing educational data. Institutions can simply have amassed their data history without demanding a copy from central servers. The proposed blockchain framework enhances data security and removes trust concerns amongst users or between third-party institutions accessing applications and services. Data distribution can be used with smart contracts to warranty that institutions will continue to be in control of their data entrance, are alert of the source of collected data sources, and are up-to-date when their data is log on by others. Immutable audit logs are generated through data source and contact history to keep institutions informed of the time their data are retrieved. Blockchain has the potential that could provide a system with massive openness, online secure database that e-learning platforms needed. The blockchain can be implemented on different learning platforms based on the information security policies of the institutions.
Bitcoin is a distributed online payment system that facilitates anonymous transactions using a peer-to-peer network without a central trusted authority. Every peer in the Bitcoin network keeps the collection of all transactions which is referred to as a ledger. This public ledger will work effectively for honest peers, however, one well-known attack is the fifty-one percent or majority attack. This paper provides an Uppaal model of the Bitcoin protocol focusing on its three important components namely transactions, blocks and the blockchain. It presents a probability analysis for two scenarios of the fifty-one percent attacks. Two Phase Proof-of-Work (2PPoW) is a proposed solution to address attacks of this type, and we will extend the model to include 2PPoWand calculate the probability of a successful attack. The analysis shows that a traditional fifty-one percent attacks can be successful even if the attacker has less than a majority of the processing pool.
In this paper, we report the benchmarking results of Hyperledger, a Distributed Ledger, which is the derivation Blockchain Technology. Method to evaluate Hyperledger in a limited infrastructure is developed. The measured infrastructure consists of 8 nodes with a load of up to 20000 transactions/second.. The benchmarking of Hyperledger shows better than a database system in a high workload scenario. We found that the maximum size data volume in one transaction on the Hyperledger network is around ten (10) times of MySQL. Also, the time spent on processing a single transaction in the blockchain network is 80-200 times faster than MySQL. This initial analysis can provide an overview for practitioners in making decisions about the adoption of blockchain technology in their IT systems.
This column delves into privacy risks of the IoT using risk concepts that are more native to the security domain in order to conceptually bridge our collective understanding, articulation, and management of privacy concerns in the IoT which otherwise might not be sufficiently considered or foreseen by existing legal and technical controls. Trustworthiness and privacy are of primary concern as companies connect their manufacturing and logistic infrastructures to the Internet of Things (IoT). They want to reap the benefit of automated asset management, process control and predictive maintenance. However, to do so effectively, companies need to facilitate information sharing among trustworthy partners while complying with data protection and privacy preserving regulations. In this respect, Distributed Ledgers (a.k.a. Blockchains) offer a viable solution by enabling their participants to discover one another and establish peer-to-peer trust relations without a centralized intermediary.
Recently the blockchain technology has been actively studied due to its great potentiality. The smart contract is a key mechanism of the blockchain system. Due to the short history of the smart contract, many issues have not been solved yet. One main issue is vulnerability and another main issue is cost optimization. While the vulnerability of smart contract has been actively studied, the cost optimization has been rarely studied. In this paper, we propose two cost optimization methods for smart contracts running on the blockchain system. Triggering a function in a smart contract program code may require costs and it is repeated continuously. So the minimization of costs required to trigger a function of smart contract while maintaining the performance equally is very important. The proposed two methods minimize the usage of expensive permanent variables deployed on the blockchain system. We apply the proposed two methods to three prevalent blockchain platforms: Ethereum, Klaytn and Tron. Evaluation experiments verify that the proposed scheme significantly reduces the costs of functions in the smart contract written with Solidity.
Luca Foschini, Andrea Gavagna, Giuseppe Martuscelli, Rebecca Montanari
Hyperledger Fabric, created and supported by the Linux Foundation and IBM, is one of the most popular open-source blockchain permissioned platforms that has been already used in many industrial scenarios. One of the main characteristics of this platform is that it provides a smart contract system that relies on general-purpose languages instead of an ad hoc one. In fact, a chaincode in the Fabric platform (the equivalent of the Ethereum smart contract) is a software program which encapsulates the business logic for the creation and modification of logical assets in the ledger that can be written in different general-purpose programming languages (currently Java, Go, and Node.js). This paper analyses the transaction performance of the Fabric platform by identifying at a fine-grained degree level the factors that most contribute to the overall overhead. In particular, we focus on how the transaction latency is affected by the programming language adopted for implementing the chaincode and by varying the number of participating endorser peers. Finally, the paper shows a thorough test assessment aimed at evaluating the impact of the different chaincode implementation on performance overhead. As it emerges from our experimental results, Go is the most performing programming language.
Edge computing draws a lot of recent research interests because of the performance improvement by offloading many workloads from the remote data center to nearby edge nodes. Nonetheless, one open challenge of this emerging paradigm lies in the potential security issues on edge nodes and end devices, e.g., sensors and controllers. This paper proposes a cooperative protocol, namely DEAN, across edge nodes to prevent data manipulation, and to allow fair data sharing with quick recovery under resource constraints of limited storage, computing, and network capacity. Specifically, DEAN leverages a parallel mechanism equipped with three independent core components, effectively achieving low resource consumption while allowing secured parallel block processing on edge nodes. We have implemented a system prototype based on DEAN and experimentally verified its effectiveness with a comparison with three popular blockchain implementations: Ethereum, Parity, and Hyperledger Fabric. Experimental results show that the system prototype exhibits high resilience to arbitrary failures: the percentile of trusty nodes is much higher than the required 50\% in most cases. Performance-wise, DEAN-based blockchain implementation outperforms the state-of-the-art blockchain systems with up to $25\times$ higher throughput and $18\times$ lower latency on 1,000 nodes.
Sean Cao, Lin William Cong, Meng Han, Qixuan Hou · 5 authors
Business transactions by public firms are required to be reported, verified, and audited periodically, which is traditionally a labor-intensive and time-consuming process. To streamline this procedure, we design FutureAB (Future Auditing Blockchain) which aims to automate the reporting and auditing process, thereby allowing auditors to focus on discretionary accounts to better detect and prevent fraud. We demonstrate how distributed-ledger technologies build investor trust and disrupt the auditing industry. Our multi-functional design indicates that auditing firms can automate transaction verification without the need for a trusted third party by collaborating and sharing their information while preserving data privacy (commitment scheme) and security (immutability). We also explore how smart contracts and wallets facilitate the computerization and implementation of our system on Ethereum. Finally, performance evaluation reveals the efficacy and scalability of FutureAB in terms of both encryption (0.012 seconds per transaction) and verification (0.001 seconds per transaction).
With the release of Satoshi Nakamoto's Bitcoin system in 2008 a new decentralized computation paradigm, known as blockchain, was born. Bitcoin promised a trading network for virtual coins, publicly available for anyone to participate in but owned by nobody. Any participant could propose a transaction and a lottery mechanism decided in which order these transactions would be recorded in a ledger with an elegant mechanism to prevent double spending. The remarkable achievement of Nakamoto's protocol was that participants did not have to trust each other to behave correctly for it to work. As long as more than half of the network participants adhered to the correct code, the recorded transactions on the ledger would both be valid and immutable. \n \nEthereum, as the next major blockchain to appear, improved on the initial idea by introducing smart contracts, which are decentralized Turing-complete stored procedures, thus making blockchain technology interesting for the enterprise setting. However, its intrinsically public data and prohibitive energy costs needed to be overcome. This gave rise to a new type of systems called permissioned blockchains. With these, access to the ledger is restricted and trust assumptions about malicious behaviour have been weakened, allowing more efficient consensus mechanisms to find a global order of transactions. One of the most popular representatives of this kind of blockchain is Hyperledger Fabric. While it is much faster and more energy efficient than permissionless blockchains, it has to compete with conventional distributed databases in the enterprise sector. \n \nThis thesis aims to mitigate Fabric's three major shortcomings. First, compared to conventional database systems, it is still far too slow. This thesis shows how the performance can be increased by a factor of seven by redesigning the transaction processing pipeline and introducing more efficient data structures. Second, we present a novel solution to Fabric's intrinsic problem of a low throughput for workloads with transactions that access the same data. This is achieved by analyzing the dependencies of transactions and selectively re-executing transactions when a conflict is detected. Third, this thesis tackles the preservation of private data. Even though access to the blockchain as a whole can be restricted, in a setting where multiple enterprises collaborate this is not sufficient to protect sensitive proprietary data. Thus, this thesis introduces a new privacy-preserving blockchain protocol based on network sharding and targeted data dissemination. It also introduces an additional layer of abstraction for the creation of transactions and interaction with data on the blockchain. This allows developers to write applications without the need for low-level knowledge of the internal data structure of the blockchain system. In summary, this thesis addresses the shortcomings of the current generation of permission blockchain systems.
In the blockchain-based, distributed computing platform Ethereum, programs called smart contracts are compiled to bytecode and executed on the Ethereum Virtual Machine (EVM). Executing EVM bytecode is subject to monetary fees---a clear optimization target. Our aim is to superoptimize EVM bytecode by encoding the operational semantics of EVM instructions as SMT formulas and leveraging a constraint solver to automatically find cheaper bytecode. We implement this approach in our EVM Bytecode SuperOptimizer ebso and perform two large scale evaluations on real-world data sets.
Muoi Tran, Inho Choi, Gi Jun Moon, Viet-Anh Vu · 5 authors
Network adversaries, such as malicious transit autonomous systems (ASes), have been shown to be capable of partitioning the Bitcoin's peer-to-peer network via routing-level attacks; e.g., a network adversary exploits a BGP vulnerability and performs a prefix hijacking attack (viz. Apostolaki et al. [3]). Due to the nature of BGP operation, such a hijacking is globally observable and thus enables immediate detection of the attack and the identification of the perpetrator. In this paper, we present a stealthier attack, which we call the EREBUS attack, that partitions the Bitcoin network without any routing manipulations, which makes the attack undetectable to control-plane and even to data-plane detectors. The novel aspect of EREBUS is that it makes the adversary AS a natural man-in-the-middle network of all the peer connections of one or more targeted Bitcoin nodes by patiently influencing the targeted nodes' peering decision. We show that affecting the peering decision of a Bitcoin node, which is believed to be infeasible after a series of bug patches against the earlier Eclipse attack [29], is possible for the network adversary that can use abundant network address resources (e.g., spoofing millions of IP addresses in many other ASes) reliably for an extended period of time at a negligible cost. The EREBUS attack is readily available for large ASes, such as Tier-1 and large Tier-2 ASes, against the vast majority of 10K public Bitcoin nodes with only about 520 bit/s of attack traffic rate per targeted Bitcoin node and a modest (e.g., 5-6 weeks) attack execution period. The EREBUS attack can be mounted by nation-state adversaries who would be willing to execute sophisticated attack strategies patiently to compromise cryptocurrencies (e.g., control the consensus, take down a cryptocurrency, censor transactions). As the attack exploits the topological advantage of being a network adversary but not the specific vulnerabilities of Bitcoin core, no quick patches seem to be available. We discuss that some naive solutions (e.g., whitelisting, rate-limiting) are ineffective and third-party proxy solutions may worsen the Bitcoin's centralization problem. We provide some suggested modifications to the Bitcoin core and show that they effectively make the EREBUS attack significantly harder; yet, their non-trivial changes to the Bitcoin's network operation (e.g., peering dynamics, propagation delays) should be examined thoroughly before their wide deployment.
Michael P. Frank, Christopher Cordi, Kasimir Gabert, Carollan Helinski · 8 authors
Simple but mission-critical internet-based applications that require extremely high reliability and availability could potentially benefit from running on robust public programmable blockchain platforms such as Ethereum. Unfortunately, program code running on such blockchains is ordinarily publicly viewable, rendering these platforms unsuitable for applications requiring strict privacy of application code, data, and results. However, might it be possible to encode an application's business logic and data for these platforms in such a way that it becomes impossible for unauthorized parties to infer any meaningful information whatsoever about the semantics of the data, and the operations being performed on that data? In this report, we describe GABLE (Garbled Autonomous Bots Leveraging Ethereum), a system concept developed at Sandia that achieves this security goal in a limited, but still useful range of circumstances. GABLE, uses simple but effective algorithms to permit secure private execution of garbled state machines (and more efficient garbled circuits) on public computing resources. We give an example working implementation for garbled state machines, written using the Python and Solidity programming languages, and outline how our methods can be extended to support a more powerful garbled universal circuit model of computation. The capability embodied by the GABLE, system has significant potential applications, a few of which we discuss in this report.
Hua Song, Shenbin Zhang, Bingfeng Pi, Jun Sun · 6 authors
Blockchain, as a distributed ledger technology, becomes more and more popular in both industry and academia. Each peer in blockchain system maintains a copy of ledger and makes sure of data consistency through consensus protocol. Blockchain system can provide many benefits such as immutability, transparency and security. Hyperledger Fabric is permissioned blockchain platform hosted by Linux foundation. Fabric has various components such as peer, ordering service, chaincode and state database. The structure of Fabric network is very complicated to provide reliable permissioned blockchain service. Generally, developers must deal with hundreds of parameters to configure a network. That will cause many reasonableness problems in configurations. In this paper, we focus on how to detect reasonableness problems in Fabric configurations. Firstly, we discuss and provide a reasonableness problem knowledge database based on the perspectives of functionality, security and performance. Secondly, we implemented a detect tool for reasonableness check to Fabric. Finally, we collect 108 sample networks as the testing dataset in the experiment. The result shows our tool can help developers to locate reasonableness problems and understand their network better.