Conference PaperPDF Available

An Overview and Current Status of Blockchain Simulators

Authors:
An Overview and Current Status of
Blockchain Simulators
Remigijus Paulaviˇ
cius
Institute of Data Science and
Digital Technologies
Vilnius University
Vilnius, Lithuania
remigijus.paulavicius@mif.vu.lt
Saulius Grigaitis
Institute of Data Science and
Digital Technologies
Vilnius University
Vilnius, Lithuania
saulius.grigaitis@mif.vu.lt
Ernestas Filatovas
Institute of Data Science and
Digital Technologies
Vilnius University
Vilnius, Lithuania
ernestas.filatovas@mif.vu.lt
Abstract—Since the introduction of Bitcoin, blockchain has
attracted tremendous interest from both academia and industry.
During the last decade, various large-scale blockchain sys-
tems were developed. However, the complexity of large-scale
distributed systems makes the performance evaluation process
challenging and costly. Here, blockchain simulators give the
possibility to repeat complex real-world processes at a low cost.
Simulators are easily extensible and can test distributed ledger
performance using different settings and parameter variations.
This work reviews and summarizes the current status of the
state-of-the-art blockchain simulators.
Index Terms—Blockchain, Bitcoin, simulators, review.
I. INTRODUCTION
Since its first introduction in cryptocurrency, Bitcoin [1],
blockchain has been recognized as a breakthrough technol-
ogy and attracted much attention from both academia and
industry [2], [3]. However, compared to traditional central-
ized solutions, the decentralized nature limits blockchain
performance [4], which becomes a significant constraint of
broader blockchain applications in production [5]. Moreover,
blockchain-based system blind development without initial
performance evaluation may have an immense negative impact
during the actual deployment stage [6]. Therefore, perfor-
mance evaluation is a crucial topic for blockchain and all
distributed ledger technologies (DLTs). The architecture of
blockchain systems is complex, and even its simplified abstrac-
tion consists of five layers [2], [7]: network layer, consensus
layer, data layer, execution layer, and application layer. The
complexity of such systems makes the performance evaluation
process challenging.
Here, the simulation of blockchain systems often is the only
alternative to evaluating the blockchain system’s performance
under different scenarios. Blockchain simulators attempt to
reproduce a real system’s performance and progress over time
by implementing and running a simulation model [8]. By
changing the simulated model variables and conditions, the
simulated system can be thoroughly investigated without the
need to implement an entire system [6]. Therefore, simulators
are valuable tools in the development of blockchain protocols
and systems.
978-0-7381-1420-0/21/$31.00 ©2021 European Union.
Unfortunately, the design and development of blockchain
simulators are complex. Thus, most blockchain simulators are
developed to reproduce only one or several aspects of the
system realistically (e.g., mining and miner behavior, attacks
on the network, and data dissimulation). The implementation
of other processes (e.g., fixing network delays, hashing power,
transaction propagation) is simplified, while other features
(e.g., Merkle trees, UTXO) may be skipped altogether. Con-
sequently, the selection of a suitable simulator may be a
challenging task. To address this, an overview and current
status of blockchain simulators have been performed during
this work.
The remainder of the paper is organized as follows. Sec-
tion II presents a more in-depth overview and comparison
of the identified blockchain simulators, while Section III
concludes this work.
II. OVE RVIEW OF IDENTIFIED BLOCKCHAIN SIMULATOR S
To identify the key publications on blockchain simulators,
we performed a literature search in scientific databases fol-
lowing PRISMA methodology [9]. Our performed analysis
covered leading publishers of computer science journals and
conferences, e.g., IEEE Xplore, WoS and Scopus databases.
To find relevant publications for our research, we used
the following search string: ((DLT OR Blockchain OR
Bitcoin OR Ethereum OR Hyperledger OR DAG)
AND (Simulator)). All searches were conducted in
November 2020. At the end of this process, we identified 26
blockchain simulators and their extensions.
In Table I, we summarize the 26 identified blockchain
simulators. It can be observed that the first blockchain sim-
ulators were presented in 2013. The majority of simulators
appeared in 2019 and 2020 (16 of 26). This shows that the
development/application of blockchain simulators has received
significant attention only recently, and the field requires much
more consideration from the research community. In the next
columns, we provide: supported blockchain platform or its
type, simulated layer(s), simulation model type, programming
language and framework (if any). The links to the source code
(if provided) are given in References.
TABLE I
OVERVIEW OF IDENTIFIED BLOCKCHAIN SIMULATORS AND THEIR EXTENSIONS
Simulator’s name, year and source Platform(s) Layer(s) Model type Language/Framework
Bitcoin privacy simulatora(2013) [10] Bitcoin data discrete-event C++
BTCsim (2013) [11] Bitcoin consensus, network discrete-event Python
Bitcoin protocol simulator (2014) [12] Bitcoin consensus discrete-event not specified
Simbit (2014) [13] Bitcoin consensus, network discrete-even Javascript
Shadow-Bitcoin (2015) [14] Bitcoin consensus, data, network discrete-even Python/Shadow
Bitcoin simulator (2016) [15] PoW blockchains consensus, network discrete-event C++/NS3
Bitcoin mining simulator (2017) [16] Bitcoin consensus not specified C++
VIBES (2017) [17] PoW blockchains consensus, data discrete-event Scala
eVIBES (2018) [18] Pow Ethereum consensus, data discrete-event Scala
CLoTH (2018) [19] Bitcoin network discrete-event Go
Algorand simulator (2019) [20] Algorand consensus not specified Java
Bitcoin network simulator (2019) [21] Bitcoin consensus discrete-event Python
Ext1-Bitcoin-simulatorb(2019) [22] PoW blockchains consensus, network discrete-event C++/NS3
BlockSim:Alharby (2019) [23] PoW blockchains consensus, data discrete-event Python
BlockSim:Faria (2019) [8] Bitcoin, Ethereum consensus, data, network discrete-event Python/SimPy
BlockSim:Hao (2019) [24] PoW blockchains network discrete-event Java/PeerSim
DAGsim (2019) [25] DAG consensus, network agent-based Python
Mining strategy simulator (2019) [26] Bitcoin consensus agent-based Python/Mesa
LUNES-Blockchain (2019) [27] Bitcoin consensus, network agent-based ART`
IS+GAIA
Proof of Prestige Simulator (2019) [28] Proof-of-Prestige consensus not described Python
SimBlock (2019) [29] PoW blockchains consensus, network discrete-event Java
Ext2-Bitcoin-simulator (2020) [30] Raft consensus, network discrete-event C++/NS3
I-Green simulator (2020) [31] PoW, PoS, PoGeneration application, consensus not specified Python
Local Bitcoin Network Simulator (2020) [32] Bitcoin network virtualization-based Python
Ext-BlockSim:Alharby (2020) [33] Bitcoin consensus, data, network discrete-event Python/SimPy
Ext-SimBlock (2020) [34] PoW blockchains consensus, network discrete-event Java
aThe simulators not named by their authors were given names in quotation marks.
bNames of the extended versions of simulators were given a prefix Ext”.
Note that most of the existing simulators implement con-
sensus, data, and network layers as they are integral parts of
blockchain systems; however, some are usually very simpli-
fied. Thus, in the column “Layer(s),” we stress only those lay-
ers with more sophisticated models that could be investigated
under various parameters and scenarios. The next observation
is that most of the simulators implement blockchain systems
based on the PoW-type consensus algorithms (21 out of 26)
and mainly focus on simulating the Bitcoin network. More-
over, blockchain simulators typically follow a discrete-event
system simulation, i.e., simulation at a discrete set of points in
time (18 out of 22 simulations specifying their modeling type),
while only three simulators are agent-based. The most often
utilized programming language is Python 11 simulators are
built using it. The architecture of blockchain simulators usually
follows the multi-layered paradigm and consists of such layers
as consensus, data, network, and models describing the behav-
ior of layers, components/resources, and interactions between
them. Our preliminary investigations showed that simulators,
covering fewer layers, have more sophisticated models and
simulate them more realistically. Clearly, an in-depth compar-
ative experimental analysis to identify blockchain simulators’
main features, advantages, and limitations is still required.
III. CONCLUSIONS
In this paper, we identified that the simulation of
blockchains is still in the early stages, and the existing simu-
lators are very limited. Moreover, the most developed simula-
tors are devoted to simulate various PoW-based blockchains,
therefore, there is a need for simulators based on other
types of consensus algorithms, such as PoS or various BFT
variations [35]. Unfortunately, most of the existing simulators
are not actively developed and improved further. Finally, an in-
depth comparative analysis to identify blockchain simulators’
main features, advantages, and limitations is required.
REFERENCES
[1] S. Nakamoto, “Bitcoin: A peer-to-peer electronic cash system,” 2008.
[Online]. Available: https://bitcoin.org/bitcoin.pdf
[2] M. Belotti, N. Bozic, G. Pujolle, and S. Secci, “A Vademecum on
Blockchain Technologies: When, Which, and How,” IEEE Communi-
cations Surveys & Tutorials, vol. 21, no. 4, pp. 3796–3838, 2019.
[3] R. Paulaviˇ
cius, S. Grigaitis, A. Igumenov, and E. Filatovas, “A Decade
of Blockchain: Review of the Current Status, Challenges, and Future
Directions,” Informatica, vol. 30, no. 4, pp. 729–748, 2019.
[4] Q. Zhou, H. Huang, Z. Zheng, and J. Bian, “Solutions to Scalability of
Blockchain: A Survey, IEEE Access, vol. 8, pp. 16 440–16 455, 2020.
[5] C. Fan, S. Ghaemi, H. Khazaei, and P. Musilek, “Performance Evaluation
of Blockchain Systems: A Systematic Survey, IEEE Access, vol. 8, pp.
126 927–126 950, 2020.
[6] S. Smetanin, A. Ometov, M. Komarov, P. Masek, and Y. Koucheryavy,
“Blockchain Evaluation Approaches: State-of-the-Art and Future Per-
spective, Sensors (Basel, Switzerland), vol. 20, no. 12, pp. 1–20, 2020.
[7] Q. Zhu, S. W. Loke, R. Trujillo-Rasua, F. Jiang, and Y. Xiang, “Appli-
cations of Distributed Ledger Technologies to the Internet of Things,
ACM Computing Surveys, vol. 52, no. 6, pp. 1–34, jan 2020.
[8] C. Faria and M. Correia, “BlockSim: Blockchain simulator,” in
2019 IEEE International Conference on Blockchain (Blockchain),
2019, pp. 439–446, Last commit: 19/05/2020. [Online]. Available:
https://github.com/carlosfaria94/blocksim
[9] D. Moher, A. Liberati, J. Tetzlaff, D. G. Altman, P. Group et al.,
“Preferred reporting items for systematic reviews and meta-analyses:
the prisma statement,” PLoS med, vol. 6, no. 7, p. e1000097, 2009.
[10] E. Androulaki, G. O. Karame, M. Roeschlin, T. Scherer, and
S. Capkun, “Evaluating User Privacy in Bitcoin, in Lecture
Notes in Computer Science (including subseries Lecture Notes
in Artificial Intelligence and Lecture Notes in Bioinformatics),
2013, vol. 7859 LNCS, pp. 34–51. [Online]. Available: http:
//link.springer.com/10.1007/978-3-642- 39884-1 4
[11] R. Brune, “Bitcoin network simulator, 2013, Last commit: 17/12/2017.
[Online]. Available: https://github.com/rbrune/btcsim/
[12] I. Eyal and E. G. Sirer, “Majority Is Not Enough: Bitcoin Mining Is
Vulnerable, in Financial Cryptography and Data Security, N. Christin
and R. Safavi-Naini, Eds., 2014, pp. 436–454.
[13] S. Bowe, “Javascript p2p network simulator,” 2013, Last commit:
27/05/2016. [Online]. Available: https://github.com/rbrune/btcsim/
[14] A. Miller and R. Jansen, “Shadow-bitcoin: Scalable simulation via direct
execution of multi-threaded applications, in 8th Workshop on Cyber
Security Experimentation and Test (CSET 15), Last commit: 11/04/2018.
[Online]. Available: https://github.com/shadow/shadow-plugin-bitcoin
[15] A. Gervais, G. O. Karame, K. W¨
ust, V. Glykantzis, H. Ritzdorf,
and S. Capkun, “On the Security and Performance of Proof of
Work Blockchains, in Proceedings of the 2016 ACM SIGSAC
Conference on Computer and Communications Security, 2016,
pp. 3–16, Last commit: 13/10/2016. [Online]. Available: https:
//github.com/arthurgervais/Bitcoin-Simulator
[16] M. Carlsten, H. Kalodner, S. M. Weinberg, and A. Narayanan, “On
the instability of bitcoin without the block reward, in Proceedings of
the 2016 ACM SIGSAC Conference on Computer and Communications
Security, 2016, pp. 154–167, Last commit: 07/07/2017. [Online].
Available: https://github.com/citp/mining simulator
[17] L. Stoykov, K. Zhang, and H.-A. Jacobsen, “VIBES: Fast Blockchain
Simulations for Large-scale Peer-to-Peer Networks, in Proceedings
of the 18th ACM/IFIP/USENIX Middleware Conference: Posters and
Demos, 2017, pp. 19–20, Last commit: 25/04/2020. [Online]. Available:
https://github.com/i13-msrg/vibes
[18] A. Deshpande, P. Nasirifard, and H.-A. Jacobsen, “eVIBES:
Configurable and Interactive Ethereum Blockchain Simulation
Framework, in Proceedings of the 19th International Middleware
Conference on - Middleware ’18, 2018, pp. 11–12, Last commit:
12/12/2018. [Online]. Available: https://github.com/i13-msrg/evibes
[19] M. Conoscenti, A. Vetr`
o, J. C. De Martin, and F. Spini, “The cloth
simulator for htlc payment networks with introductory lightning network
performance results,” Information, vol. 9, no. 9, p. 223, 2018.
[20] M. Conti, A. Gangwal, and M. Todero, “Blockchain trilemma solver
algorand has dilemma over undecidable messages, in Proceedings of the
14th International Conference on Availability, Reliability and Security,
2019, pp. 1–8.
[21] H. Azimy and A. Ghorbani, “Competitive selfish mining, in 2019 17th
International Conference on Privacy, Security and Trust (PST). IEEE,
2019, pp. 1–8.
[22] A. R. Sai, J. Buckley, and A. Le Gear, Assessing the security
implication of bitcoin exchange rates,” Computers & Security, vol. 86,
pp. 206–222, 2019, Last commit: 26/04/2019. [Online]. Available:
https://github.com/ashishrsai/BTC
[23] M. Alharby and A. van Moorsel, “Blocksim: a simulation framework
for blockchain systems,” ACM SIGMETRICS Performance Evaluation
Review, vol. 46, no. 3, pp. 135–138, 2019, Last commit: 05/12/2020.
[Online]. Available: https://github.com/maher243/BlockSim
[24] W. Hao, J. Zeng, X. Dai, J. Xiao, Q. Hua, H. Chen, K.-C. Li, and
H. Jin, “Blockp2p: Enabling fast blockchain broadcast with scalable
peer-to-peer network topology, in International Conference on Green,
Pervasive, and Cloud Computing. Springer, 2019, pp. 223–237.
[25] M. Zander, T. Waite, and D. Harz, “Dagsim: Simulation of dag-
based distributed ledger protocols,” ACM SIGMETRICS Performance
Evaluation Review, vol. 46, no. 3, pp. 118–121, 2019, Last commit:
25/03/2020. [Online]. Available: https://github.com/IC3RE/DAGsim
[26] F. Bruschi, V. Rana, L. Gentile, and D. Sciuto, “Mine with it or sell
it: the superhashing power dilemma,” ACM SIGMETRICS Performance
Evaluation Review, vol. 46, no. 3, pp. 127–130, 2019, Last commit:
05/10/2018. [Online]. Available: https://github.com/lorenzogentile404/
incentive-network-simulator
[27] E. Rosa, G. D’Angelo, and S. Ferretti, “Agent-Based Simulation of
Blockchains,” in Methods and Applications for Modeling and Simulation
of Complex Systems, G. Tan, A. Lehmann, Y. M. Teo, and W. Cai, Eds.,
vol. 1094. Springer Singapore, 2019, pp. 115–126.
[28] M. Kr´
ol, A. Sonnino, M. Al-Bassam, A. Tasiopoulos, and I. Psaras,
“Proof-of-prestige: A useful work reward system for unverifiable
tasks,” in 2019 IEEE International Conference on Blockchain and
Cryptocurrency (ICBC), 2019, pp. 293–301, Last commit: 15/03/2019.
[Online]. Available: https://gitlab.com/mharnen/pop
[29] Y. Aoki, K. Otsuki, T. Kaneko, R. Banno, and K. Shudo, “SimBlock:
A Blockchain Network Simulator,” in IEEE INFOCOM 2019 - IEEE
Conference on Computer Communications Workshops (INFOCOM
WKSHPS), 2019, pp. 325–329, Last commit: 22/08/2020. [Online].
Available: https://github.com/dsg-titech/simblock
[30] P. Foytik, S. Shetty, S. P. Gochhayat, E. Herath, D. Tosh, and L. Njilla,
“A blockchain simulator for evaluating consensus algorithms in di-
verse networking environments, in 2020 Spring Simulation Conference
(SpringSim). IEEE, 2020, pp. 1–12.
[31] F. Zhao, X. Guo, and W. K. V. Chan, “Individual green certificates on
blockchain: A simulation approach,” Sustainability, vol. 12, no. 9, p.
3942, 2020.
[32] L. Alsahan, N. Lasla, and M. Abdallah, “Local bitcoin
network simulator for performance evaluation using lightweight
virtualization,” in 2020 IEEE International Conference on
Informatics, IoT, and Enabling Technologies (ICIoT), 2020,
pp. 355–360, Last commit: 11/02/2020. [Online]. Available:
https://github.com/noureddinel/core-bitcoin-net- simulator
[33] S. M. Fattahi, A. Makanju, and A. M. Fard, “Simba: An efficient
simulator for blockchain applications,” in 2020 50th Annual IEEE-IFIP
International Conference on Dependable Systems and Networks-
Supplemental Volume (DSN-S), 2020, pp. 51–52, Last commit:
20/05/2020. [Online]. Available: https://github.com/nyit-vancouver/
SIMBA
[34] Z. H. Chin, T. T. V. Yap, and I. K. Tan, “Simulating difficulty adjustment
in blockchain with simblock,” in Proceedings of the 2nd ACM Inter-
national Symposium on Blockchain and Secure Critical Infrastructure,
2020, pp. 192–197, Last commit: 06/07/2020. [Online]. Available:
https://github.com/Z-Hau/SimBlock-with- Difficulty-Adjustment
[35] Y. Xiao, N. Zhang, W. Lou, and Y. T. Hou, “A Survey of Distributed
Consensus Protocols for Blockchain Networks,” IEEE Communications
Surveys & Tutorials, vol. 22, no. 2, pp. 1432–1465, 2020. [Online].
Available: https://ieeexplore.ieee.org/document/8972381/
... Fortunately, it is possible to resort to blockchain emulation and simulators to avoid such difficulties. Simulation aims to reproduce a blockchain system model, enabling its evaluation in a parameterized way, without the need to implement the entire system [Paulavičius et al. 2021] whereas emulation aims to replicate the behavior of a system as closely as possible [Gill et al. 2021]. ...
... There are several blockchain simulators available in the literature [Paulavičius et al. 2021]. However, in terms of blockchain emulation, there are few approaches in the literature. ...
Conference Paper
Full-text available
Besides the main blockchain use-case of exchanging cryptocurrencies, Distributed Applications (DApps) can also be developed on top of such a technology. However, due to the size of popular blockchains and price, testing these DApps in a real-world environment becomes challenging. Thus, blockchain emulators were proposed to address such as issue. This paper presents the experience of emulating an Ethereum network using a Docker-based lightweight testbed developed for Software Defined Networks (SDN).
... Distributed ledger technology (DLT) is a category of protocols in distributed systems that employs a consensus algorithm as a core component [1]. Due to the high complexity of large-scale DLT systems, the performance evaluation of these protocols is generally challenging and costly [2]. Moreover, blind development of a DLT system without proper performance evaluation may introduce vulnerabilities in the actual deployment phase [3]. ...
... Only recently, the development and application of blockchain simulators have received significant attention [2]. For example, in [4], the opinions from various experts regarding creating a simulation environment for IoT-based blockchain applications were gathered and studied. ...
Preprint
Full-text available
DAG-based DLTs allow for parallel, asynchronous writing access to a ledger. Consequently, the perception of the most recent blocks may differ considerably between nodes, and the underlying network properties of the P2P layer have a direct impact on the performance of the protocol. Moreover, the stronger inter-dependencies of several core components demand a more complex and complete approach to studying such DLTs. This paper presents an agent-based, open-sourced simulator for large-scale networks that implement the leaderless Tangle 2.0 consensus protocol. Its scope includes modelling the underlying peer-to-peer communication with network topology, package loss, heterogeneous latency, the gossip protocol with reliable broadcast qualities, the underlying DAG-based data structure, and the consensus protocol. The simulator allows us to explore the performance of the protocol in different network environments, as well as different attack scenarios.
... This can be useful in a variety of different applications, such as allowing data to be shared between multiple parties without the need to reveal the raw data to any of them. Homomorphic encryption is a relatively new area of research in cryptography, and there are still many open questions and challenges in this field [3,4]. ...
Article
Full-text available
Blockchain technology has garnered significant attention from global organizations and researchers due to its potential as a solution for centralized system challenges. Concurrently, the Internet of Things (IoT) has revolutionized the Fourth Industrial Revolution by enabling interconnected devices to offer innovative services, ultimately enhancing human lives. This paper presents a new approach utilizing lightweight blockchain technology, effectively reducing the computational burden typically associated with conventional blockchain systems. By integrating this lightweight blockchain with IoT systems, substantial reductions in implementation time and computational complexity can be achieved. Moreover, the paper proposes the utilization of the Okamoto Uchiyama encryption algorithm, renowned for its homomorphic characteristics, to reinforce the privacy and security of IoT-generated data. The integration of homomorphic encryption and blockchain technology establishes a secure and decentralized platform for storing and analyzing sensitive data of the supply chain data. This platform facilitates the development of some business models and empowers decentralized applications to perform computations on encrypted data while maintaining data privacy. The results validate the robust security of the proposed system, comparable to standard blockchain implementations, leveraging the distinctive homomorphic attributes of the Okamoto Uchiyama algorithm and the lightweight blockchain paradigm.
Article
Due to the advantages of high volume of transactions and low resource consumption, Directed Acyclic Graph (DAG)-based Distributed Ledger Technology (DLT) has been considered a possible next-generation alternative to block-chain. However, the security of the DAG-based system has yet to be comprehensively understood. Aiming at verifying and evaluating the security of DAG-based DLT, we develop a Multi-Agent based IOTA Simulation platform called MAIOTASim. In MAIOTASim, we model honest and malicious nodes and simulate the configurable network environment, including network topology and delay. The double-spending attack is a particular security issue related to DLT. We perform the security verification of the consensus algorithms under multiple double-spending attack strategies. Our simulations show that the consensus algorithms can resist the parasite chain attack and partially resist the splitting attack, but they are ineffective under the large weight attack. We take the cumulative weight difference of transactions as the evaluation criterion and analyze the effect of different consensus algorithms with parameters under each attack strategy. Besides, MAIOTASim enables users to perform large-scale simulations with multiple nodes and tens of thousands of transactions more efficiently than state-of-the-art ones.
Chapter
Since the introduction of Bitcoin and Ethereum, blockchain introduced new ways to handle payment and dealing with financial transactions. From 2009 till now, several blockchain systems were developed. However, the main issue for each blockchain is to know where to use it and what the best use case fits with it. Transaction per second (TPS) and confirmation time (CT) give the possibility to evaluate the speed and performance of each blockchain. It demonstrates the speed of blockchain in processing any transaction and saving it to the ledger. This work reviews and presents the current status of the state-of-the-art blockchain performance.
Chapter
Due to complex blockchain programs and numerous blockchain nodes, it takes a huge amount of time and economic cost to conduct blockchain experiments. Existing open source projects do not support modifications to the underlying blockchain, and existing blockchain simulators only focus on a single blockchain system and cannot flexibly extend or replace models. Regarding the issues above, this paper proposes a prototype system for blockchain performance evaluation, including real deployment test and simulation test. In real deployment test, a five-layer architecture for building a lightweight and efficient testing system is proposed. And in simulation test, a general scheme for building blockchain simulator is proposed, which can realize the test of throughput, storage allocation and reputation management. Experiments show that the prototype system proposed in this paper can effectively improve the efficiency of blockchain performance evaluation.
Article
Full-text available
Blockchain has been envisioned to be a disruptive technology with potential for applications in various industries. As more and more different blockchain platforms have emerged, it is essential to assess their performance in different use cases and scenarios. In this paper, we conduct a systematic survey on the blockchain performance evaluation by categorizing all reviewed solutions into two general categories, namely, empirical analysis and analytical modelling. In the empirical analysis, we comparatively review the current empirical blockchain evaluation methodologies, including benchmarking, monitoring, experimental analysis and simulation. In analytical modelling, we investigate the stochastic models applied to performance evaluation of mainstream blockchain consensus algorithms. Through contrasting, comparison and grouping different methods together, we extract important criteria that can be used for selecting the most suitable evaluation technique for optimizing the performance of blockchain systems based on their identified bottlenecks. Finally, we conclude the survey by presenting a list of possible directions for future research.
Article
Full-text available
The present increase of attention toward blockchain-based systems is currently reaching a tipping point with the corporate focus shifting from exploring the technology potential to creating Distributed Ledger Technology (DLT)-based systems. In light of a significant number of already existing blockchain applications driven by the Internet of Things (IoT) evolution, the developers are still facing a lack of tools and instruments for appropriate and efficient performance evaluation and behavior observation of different blockchain architectures. This paper aims at providing a systematic review of current blockchain evaluation approaches and at identifying the corresponding utilization challenges and limitations. First, we outline the main metrics related to the blockchain evaluation. Second, we propose the blockchain modeling and analysis classification based on the critical literature review. Third, we extend the review with publicly accessible industrial tools. Next, we analyze the selected results for each of the proposed classes and outline the corresponding limitations. Finally, we identify current challenges of the blockchain analysis from the system evaluation perspective, as well as provide future perspectives.
Article
Full-text available
Distributed renewable energy offers an exciting opportunity for sustainable transition and climate change mitigation. However, it is overlooked in most of the conventional tradable green certificates programs. Blockchain shows an advantage of incorporating a galaxy of distributed prosumers in a transparent and low-cost manner. This paper proposes I-Green, a blockchain-based individual green certificates system for promoting voluntary adoption of distributed renewable energy. Combing the features of blockchain technology and the theories of social norm and peer effects, the novel green ratio incentive scheme and proof of generation consensus protocol are designed for I-Green. A blockchain simulator is constructed to evaluate the effectiveness and efficiency of I-Green system. The simulation results present its potential for facilitating widespread adoption of distributed generation, and confirm the feasibility of blockchain as the information communication technology (ICT).
Conference Paper
Full-text available
Predicting the performance of a blockchain application during the design phase is difficult and evaluation after it is built could be expensive. The ability to simulate a blockchain network during the design stage in order to evaluate it is therefore a necessity. In this paper, we present a simulator for blockchain applications, called SIMBA (SIMulator for Blockchain Applications). SIMBA extends an existing simulator by adding the Merkle tree feature to blockchain nodes to improve efficiency and allowing more realistic evaluations not possible with the base tool to be performed. Results of our experiments show that the inclusion of Merkle trees has a high impact of up to 30 times reduction in the verification time of block transactions without an impact on block propagation delay. Since block verification is a critical part of the computational load of nodes on the network, this performance improvement significantly affects the overall performance of each node and consequently the entire network.
Article
Full-text available
Since the inception of Bitcoin, cryptocurrencies and the underlying blockchain technology have attracted an increasing interest from both academia and industry. Among various core components, consensus protocol is the defining technology behind the security and performance of blockchain. From incremental modifications of Nakamoto consensus protocol to innovative alternative consensus mechanisms, many consensus protocols have been proposed to improve the performance of the blockchain network itself or to accommodate other specific application needs. In this survey, we present a comprehensive review and analysis on the state-of-the-art blockchain consensus protocols. To facilitate the discussion of our analysis, we first introduce the key definitions and relevant results in the classic theory of fault tolerance which help to lay the foundation for further discussion. We identify five core components of a blockchain consensus protocol, namely, block proposal, block validation, information propagation, block finalization, and incentive mechanism. A wide spectrum of blockchain consensus protocols are then carefully reviewed accompanied by algorithmic abstractions and vulnerability analyses. The surveyed consensus protocols are analyzed using the five-component framework and compared with respect to different performance metrics. These analyses and comparisons provide us new insights in the fundamental differences of various proposals in terms of their suitable application scenarios, key assumptions, expected fault tolerance, scalability, drawbacks and trade-offs. We believe this survey will provide blockchain developers and researchers a comprehensive view on the state-of-the-art consensus protocols and facilitate the process of designing future protocols.
Preprint
Full-text available
Blockchain-based decentralized cryptocurrencies have drawn much attention and been widely-deployed in recent years. Bitcoin, the first application of blockchain, achieves great success and promotes more development in this field. However, Bitcoin encounters performance problems of low throughput and high transaction latency. Other cryptocurrencies based on proof-of-work also inherit the flaws, leading to more concerns about the scalability of blockchain. This paper attempts to cover the existing scaling solutions for blockchain and classify them by level. In addition, we make comparisons between different methods and list some potential directions for solving the scalability problem of blockchain.
Conference Paper
Full-text available
Conference Paper
Full-text available
This paper presents a new blockchain network simulator that uses bitcoin's original reference implementation as its main application. The proposed simulator leverages the use of lightweight virtualization technology to build a fine tuned local testing network. To enable fast simulation of a large scale network without disabling mining service, the simulator can adjust the bitcoin mining difficulty level to below the default minimum value. In order to assess the performance of blockchain under different network conditions, the simulator allows to define different network topologies, and integrates Linux kernel traffic control (tc) tool to apply distinct delay or packet loss on the network nodes. Moreover, to validate the efficiency of our simulator we conduct a set of experiments and study the impact of the computation power and network delay on the network's consistency in terms of number of forks and mining revenues. The impact of applying different mining difficulty levels is also studied and the block time as well as fork occurrences are evaluated. Furthermore, a comprehensive survey and taxonomy of existing blockchain simulators are provided along with a discussion justifying the need of new simulator. As part of our contribution, we have made the simulator available on Github for the community to use and improve it.