129 research outputs found
Benchmarking and evaluation of blockchain systems and applications
Ph. D. ThesisIn the past ten years, we have witnessed the evolution of cryptocurrencies. With market capitalizations of 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
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
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
- …