129 research outputs found

    Benchmarking and evaluation of blockchain systems and applications

    Get PDF
    Ph. D. ThesisIn the past ten years, we have witnessed the evolution of cryptocurrencies. With market capitalizations of 189bnand189bn and 19bn respectively in September 2019, Bitcoin and Ethereum are the world’s most successful cryptocurrencies. Blockchain, which is a public ledger that is immutable, is the main innovation behind these cryptocurrencies. In Bitcoin, the blockchain is introduced to exchange and trade a single asset, whereas in Ethereum it is used to store and execute a smart contract with a Turing Complete Machine. Ethereum’s Gas mechanism, which charges the execution of each operation code, ensures the termination of smart contracts that run in the EVM (Ethereum Virtual Machine) and to compensate the computational usage. Thus, the gas awarded should be proportional to the required computational, to ensure aligned incentives and to avoid denial of services attacks. Currently, in Ethereum, gas awarded is set statically for each opcode in the smart contract, but it is unknown whether these values are correct for various computer architectures. Therefore, in this thesis, firstly, we propose a benchmark approach to measure the CPU times required to deploy and execute real smart contracts obtained from the Ethereum blockchain and compare it with the gas award in the PyEthApp client running over a single machine. The result of our benchmark study shows the collected Gas is not always proportional to the invested CPU for both deploying and executing smart contracts. Secondly, we focus more in-depth on the operational codes (opcodes) and conduct a benchmark study to investigate whether the Gas cost set by Ethereum for each opcode is aligned with the CPU usage. The experiments are conducted on three Ethereum clients running over different hardware platforms and operating systems. The results show that the Gas cost is not always proportional to CPU usage. Finally, we implement and analyze the performance of blockchain and smart contract technologies in different domains, in particular cloud computing and distributed database management systems. In cloud computing, we create the first smart contract implementation that achieves both verifiability and cost-efficiency using any two client providers. For distributed database management systems, we implement the first smart contract-based two-phase commit protocol in Ethereum’s blockchain. For both systems, we investigate the cost, the performance and trade-offs in the blockchain. We tested the implementations of these systems on Ethereum’s official, test and private networks. We also provide a financial and computational analysis of their costs

    Models and simulation of blockchain systems

    Get PDF
    Ph. D. ThesisIn the literature, there are a variety of proposed blockchain systems (e.g., Bitcoin and Ethereum), each of which with its own design decisions. Both in the design and the deployment of blockchain systems, many configuration choices and design decisions need to be made. Investigating different implementation and design choices is neither feasible nor practical on real blockchain systems. Simulation models emerge as an excellent technique to study blockchains without either implementing a new system or interrupting an existing one. Despite some attempts in the literature to utilise simulation models to evaluate specific aspects of blockchain systems, there is a lack of a general-purpose, flexible, extensible and widely usable simulation tool for blockchains. In this thesis, we contribute to the field of blockchain analysis by proposing BlockSim as a generic framework to build discrete-event dynamic system models for blockchain systems. BlockSim aims to provide flexible and extensible simulation constructs to study a variety of blockchains and a set of design and deployment questions. BlockSim is implemented as a publicly available simulation tool and thoroughly validated against reallife systems and measurement studies. Another contribution of this thesis is an extensive analysis to estimate the distributions for Ethereum smart contract using data for over 300,000 real transactions. To run realistic simulation studies, we integrate these distributions into the simulator to generate representative transactions. Furthermore, this thesis offers two extensive data-driven simulation studies related to Ethereum smart contracts that demonstrate the applicability and usefulness of BlockSim. The first study is the analysis of the Ethereum Verifier’s Dilemma and the proposal of two approaches (parallelisation and active insertion of invalid blocks) to mitigate its implications. The second study is the analysis of the uncertainty that miners face about the fee and cost of transactions and its impact on the received profits.Ministry of Education and Taibah Universit

    Blockchain and Cryptocurrencies: a Classification and Comparison of Architecture Drivers

    Get PDF
    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 paper 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 (ATAM) 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.Comment: Accepted for publication at journal Concurrency and Computation: Practice and Experience. Special Issue on distributed large scale applications and environment
    • …
    corecore