Sherine Devi, Bitra Sainadh, T Hemanth, K Hariharan
To ensure transparency, Blockchain technology is being implemented in the development of software applications along all the verticals like Banking and Finance, Healthcare, Governance, Education, Agriculture etc. Blockchain is an evolving and a very promising technology, as it is used to eliminate fraud, mitigate risk, makes falsification very hard, brings out transparency and authenticity for various uses. A Blockchain is also termed as Distributed Ledger Technology (DLT). The paper surveys various strategies and algorithms used in Blockchain based applications that were published in renowned journals. The survey also focuses on identifying the merits and demerits of Blockchain technology in almost every possible aspect and provides room for future development.
Yanqing Peng, Min Du, Feifei Li, Raymond Cheng · 5 authors
Nowadays an emerging class of applications are based oncollaboration over a shared database among different entities. However, the existing solutions on shared database may require trust on others, have high hardware demand that is unaffordable for individual users, or have relatively low performance. In other words, there is a trilemma among security, compatibility and efficiency. In this paper, we present FalconDB, which enables different parties with limited hardware resources to efficiently and securely collaborate on a database. FalconDB adopts database servers with verification interfaces accessible to clients and stores the digests for query/update authentications on a blockchain. Using blockchain as a consensus platform and a distributed ledger, FalconDB is able to work without any trust on each other. Meanwhile, FalconDB requires only minimal storage cost on each client, and provides anywhere-available, real-time and concurrent access to the database. As a result, FalconDB over-comes the disadvantages of previous solutions, and enables individual users to participate in the collaboration with high efficiency, low storage cost and blockchain-level security guarantees.
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.
The emergence of smart contract promotes the popularity of blockchain applications, leading the dramatically growth of Ethereum blockchain data size. The analysis on blockchain data is urgently needed for users, e.g., collecting statistics of tokens, monitoring the status of Ethereum blockchain. However, Ethereum could only support simple searches on blockchain data on account of its storage model. This paper proposes the EBTree, an index for Ethereum blockchain Data, and implements it based on Ethereum client (Geth1.8). With the properties of B+ tree, EBTree could support real-time top-k, range, equivalent search on Ethereum blockchain data. Besides, EBTree takes up relatively small s-torage space because it only stores the identifiers of blockchain data. Meanwhile, considering of the time intervals of mining block and synchronizing data from Ethereum network, the time of insertion in EBTree has little influence on the performance of Ethereum client. We conduct experiments to evaluate the performance of EBTree. According to the result of experiments, EBTree shows great performance on searches and insertion at low cost of storage.
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.
A variety of applications can be implemented on blockchains by writing smart contracts, but failed transactions caused by runtime errors waste computation, storage, and fees. In this article, we propose a new way to reduce runtime errors on Ethereum, a popular blockchain platform.
With the rise of cryptocurrencies, blockchain, which is the underlying technology of them, has gained more attention and been used in the Internet of Things (IoT) and other fields. However, there are bottlenecks that hinder its application, such as the storage capacity. Due to the large number of IoT devices which always act as data generators in many systems, the transactions will be generated at a high rate. The storage problem will be more serious in IoT. In this article, to expand the capacity of blockchain, for each peer, we select old blocks which are created previously and less likely to be queried and store them in the cloud. Based on this idea, we develop objective functions related to query probability, storage cost, and local space occupancy, which naturally narrows down the problem to block selection. The results can be obtained by solving a multiobjective optimization problem. We design a nondominated sorting genetic algorithm with clustering (NSGA-C), which changes the method of selecting individuals from the critical dominance layer by adding clustering to ensure diversity. A suitable solution can be selected from the Pareto set to fulfil the requirements of different users. We then compare the algorithm with the improved NSGA-II and NSGA-III, which both add integer constraints to the decision variables. The results show that our method is better than NSGA-II and NSGA-III in terms of local space occupancy in the blockchain application. In addition, it can also effectively avoid the risk of block overflow.
As a typical representative of a new generation military information technology, the value and significance of Internet of Battlefield Things (IoBT) has been widely recognized by the world's military forces. At the same time, Internet of Battlefield Things (IoBT) is facing serious scalability and security challenges. This paper presents the basic concept and six-domain model of IoBT, explains the integration security framework of IoBT and blockchain. Furthermore, we design and build a novel IoT framework called IoBTChain based on blockchain and smart contracts, which adopts a credit-based resource management system to control the amount of resources that an IoBT device can obtain from a cloud server based on pre-defined priority rules, application types, and behavior history. We illustrate the deployment procedure of blockchain and smart contracts, the device registration procedure on blockchain, the IoBT behavior regulation workflow and the pricing-based resource allocation algorithm.
Atakan Aral, Rafael Brundo Uriarte, Anthony Simonet-Boulogne, Ivona Brandić
Blockchain-based decentralized multi-cloud has the potential to reduce cloud infrastructure costs and to enable geographically distributed providers of any size to monetize their computational resources. In this context, guarantees that the computational results are delivered within the promised time and budget must be provided despite the limited information available about the location and ownership of resources. Providers might claim to execute the services to get compensated for the computation even though returning incomplete or incorrect results. In this paper, we define a model to predict provider reliability, that is, the probability of failure-free execution of computational tasks and correctness of the computed outputs, by extracting the potential dependencies between providers from historical log traces. This model can then be utilized in the definition of provider reputation or the scheduling of new services. Indeed, we propose a probabilistic scheduler that chooses the providers that meet the reliability constraints among others. Finally, we validate the proposed solutions with real traces from a decentralized cloud provider and hint at the benefits of predicting reliability in this context.
Florian Blum, Benedikt Severin, Michael Hettmer, Philipp Hückinghaus · 5 authors
Building blockchain-based applications and deciding which elements of an architecture should employ blockchain technologies poses several challenges. Architectural design decisions have a strong impact on quality attributes such as privacy, operational cost, transparency, risk and user experience (UX). To deal with these challenges, we propose a structured approach using existing architectural concepts such as strategies, tactics and design patterns and illustrate their application using the Meta-Transaction design pattern. Meta-Transactions are cryptographically signed function calls (i.e. transactions) a user sends to a backend. The backend submits the transaction to the blockchain and pays the fees on behalf of the user. Due to the cryptographic signature, the backend is not able to manipulate the function name or its parameters, thus acting as a trustless proxy. Several other design patterns exist in the area of blockchain-oriented applications but it remains unclear how to decide which are suitable for a given use case and how quality attributes of the resulting system are affected. By using the Meta-Transaction design pattern as an example, this paper motivates why Blockchain Tactics and corresponding design patterns are necessary and help to structure best practices and common solutions for challenges of using blockchain technology.
Blockchain networks have been suggested to have the potential to support some of the most critical functions of modern societies. When used in such capacities, failures of blockchain networks imply catastrophes that extend beyond individuals, organizations and countries. As such, before considered for wide adoption, blockchain network protocols and technologies must undergo the highest standards of analytical and empirical validation subject to key security, reliability and performance qualities. When performing empirical evaluation, however, the sheer size of open-access blockchain networks in their envisioned scale rules out the possibility of exact reproduction and validation in a lab environment. Rather, abstract working models - simulators - of proposed technologies need to be considered. To have value as research instruments, such simulators need to be widely validated for their accuracy by the research community, and also be highly transparent and reusable for allowing quick implementation and comparison of design ideas. We claim that established software engineering paradigms, namely model-driven development and software product lines can help address this need. We outline our own effort to develop a domain meta-model and object-oriented framework for efficient and reliable derivation of specialized blockchain network simulators.
Blockchain has become a promising technology in distributed systems in recent years, but scalability remains a major problem. The traditional approach to scalability, namely sharding, does not solve the problem easily because the process of interleaving blocks stored in different shards to create a unified master ledger introduces overhead. This paper examines two techniques for interleaving the shards of permissioned blockchains, which we refer to as strong temporal coupling and weak temporal coupling. We implement these techniques in a prototype system with a Bitcoin-like transaction structure, using the EPaxos consensus protocol for transaction ordering. Our experimental results show that strong coupling can achieve lower latency as compared to weak coupling but same level of peak throughput. However, strong coupling requires all shards to grow at the same rate, and cannot tolerate any shard failure. In contrast, the higher latency of weak coupling is because of the consensus strategy it uses to order the blocks. However, if shard failure occurs, weak coupling can still make progress without stalling the whole system.
State sharding is a common solution to the scalability problem in blockchain systems, allowing nodes to hold a partial view of the system state. With such sharding, the processing of a transaction might not be completed locally within a node and require the involvement of multiple shards. Such cross-shards transactions have a high negative impact on system performance and are frequent with traditional state partition solutions which are often based on a simple mapping of data into shards. By locating together parts of the system state accessed by frequent transactions, the amount of cross-shard transactions can be reduced. On the other hand, the representation of such particular mappings can be memory intensive. In this paper, we study traffic-aware sharding that can be described in memory-efficient mappings. We first survey existing mapping schemes in common blockchains. We indicate the tradeoff between the size of the mapping of data to shards and the required transaction processing time and suggest algorithms for finding memory-light sharding of low cross-shard rate. We examine the efficiency of the solutions and the required frequency of sharding recomputation based on real transaction information of the Ethereum network.
Enterprises and Governments, alike, are leveraging distributed ledger technologies to solve traditional problems across domains. They consider private blockchains such as Hyperledger Fabric as a safe bet for the obvious security and privacy reasons. However, the tools for software reliability are not yet matured. In this work, we propose FabricUnit, a unit testing framework for Hyperledger Fabric clients. FabricUnit identifies the safe methods that do not alter the state and re-uses the setup execution (deleting any stale data and reinitializes the data). Our experiment shows a reduction of approximately 30% in the tests execution time.
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.
It is a well-known fact that innovative e-learning concepts have pushed IT technologies to new levels of development or, reciprocally, innovative or even disrupting technologies have opened new possibilities for elearning. There are many examples of IT technologies that contributed to new or improved learning paradigms and styles, such as social networks, mobile devices, augmented and virtual reality, MOOCs and distributed computing. Recently, several research works discuss how the blockchain concepts and technologies can be applied not only in cryptocurrency, but also on elearning and educational processes with an essential impact, e.g. de-centralization of resources, open learning, tokenization of elearning, authenticity and security of information and resources. The current research paper will address how blockchain can be utilized with microservice based architectures, based on similarities, to support the most modern trends in education, such as open learning communities. In the first part of the paper, the main concepts and mechanisms behind the blockchain technologies are reviewed and explained in comparison with concepts and characteristics of microservices, considered a similar architectural pattern. Blockchain relies on the existing algorithms (such as cryptography) and distributed computing to bring new concepts such as ledgers and smart contracts. Likewise, microservices have roots on Service-Oriented Architecture (SOA) and Application Programming Interfaces (API). Microservices represent a new arhitectural pattern, to change the traditional way of software development resulting in "application monoliths" to a true modularization by means of composition of standalone software components (microservices), having well-defined functionality, securely exposed to other microservices or applications. In the second part, a software architecture leveraging blockchain smart contract and microservices to support open learning communities, unique identity, secure storage and retrieval of resources will be proposed and described.
Both in the design and deployment of blockchain solutions many performance-impacting configuration choices need to be made. We introduce BlockSim, a framework and software tool to build and simulate discrete-event dynamic systems models for blockchain systems. BlockSim is designed to support the analysis of a large variety of blockchains and blockchain deployments as well as a wide set of analysis questions. At the core of BlockSim is a Base Model, which contains the main model constructs common across various blockchain systems organized in three abstraction layers (network, consensus and incentives layer). The Base Model is usable for a wide variety of blockchain systems and can be extended easily to include system or deployment particulars. The BlockSim software tool provides a simulator that implements the Base Model in Python. This paper describes the Base Model, the simulator implementation, and the application of BlockSim to Bitcoin, Ethereum and other consensus algorithms. We validate BlockSim simulation results by comparison with performance results from actual systems and from other studies in the literature. We close the paper by a BlockSim simulation study of the impact of uncle blocks rewards on mining decentralization, for a variety of blockchain configurations.
Maher Alharby, Roben Castagna Lunardi, Amjad Aldweesh, Aad van Moorsel
In proof-of-work based blockchains such as Ethereum, verification of blocks is an integral part of establishing consensus across nodes. However, in Ethereum, miners do not receive a reward for verifying. This implies that miners face the Verifier's Dilemma: use resources for verification, or use them for the more lucrative mining of new blocks? We provide an extensive analysis of the Verifier's Dilemma, using a data-driven model-based approach that combines closed-form expressions, machine learning techniques and discrete-event simulation. We collect data from over 300,000 smart contracts and experimentally obtain their CPU execution times. Gaussian Mixture Models and Random Forest Regression transform the data into distributions and inputs suitable for the simulator. We show that, indeed, it is often economically rational not to verify, in particular for miners with less hashing power. We consider two approaches to mitigate the implications of the Verifier's Dilemma, namely parallelization and active insertion of invalid blocks, both will be shown to be effective.
Distributed ledgers are a new type of database technology that allows open access to data stored across distributed, decentralised, publicly maintained infrastructures. Current implementations of the such ledgers expect competition between participants, are often energy hungry, poor in maintaining the natural structure of data and suffer from scalability constraints. The aim of my research work is to develop a distributed ledger-based middleware for data modelling and collection on household energy generation and use, while addressing scalability and energy inefficiency concerns of the ledger for this particular application domain. The energy data collected and made available through this middleware will be used for digital energy service delivery (e.g., automated peer to peer energy trading, topological estimations, etc.). The middleware also provides a platform for a consumer focused digital energy service delivery, as well as service model evaluation. The model evaluation will enable the prospective service users to evaluate the suitability of the given service for their needs before making a decision of service subscription.
Blockchain and smart contracts are being embraced by more and more industrial practitioners in multiple domains including agriculture, manufacturing, and healthcare. As a distributed, immutable, and partly public ledger, the consortium blockchain demonstrates its potential to enable trustworthy interoperability and collaboration between organizations. However, the mismatch between the unruled software engineering practices and the increased interest of the consortium blockchain technology may pose threats to the quality of systems implemented. To mitigate the possible threats, this study takes the angle of software engineering to systematically understand the challenges and possible solutions in terms of developing and operating a consortium blockchain-based system. For this purpose, we conducted a case study on a typical consortium blockchain-based system and exhaustively collected the data by two rounds in-depth interviews on practitioners of different roles in the case project. Based on the data analysis, eight pairs of challenges and potential solutions were identified, which cover the phases of the development and operation of consortium blockchains. Moreover, we also captured two implications after further analysis of the findings, which worth the special attention of researchers in the near future, i.e. DevOps and microservices for blockchain or smart contracts.