Local Bitcoin Network Simulator for Performance Evaluation using Lightweight Virtualization

4 Feb 2020  ·  Lina Alsahan, Noureddine Lasla, Mohamed Abdallah ·

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 (https://github.com/noureddinel/core-bitcoin-net-simulator) for the community to use and improve it.

PDF Abstract

Datasets


  Add Datasets introduced or used in this paper