An Investigation of Simulating Blockchain Networks: An Abstract Approach

This project aims to build upon existing research into the modelling and simulation of blockchain networks, focusing specifically on abstracting properties of the network into a conceptually and computationally simpler model. The model proposed by this project was created using the python-based library PyCATSHOO, allowing for the simulation of the entire network on a single machine. The system is constructed using deterministic finite state machines, with all network communications being simulated through delays. Monte Carlo simulations were used to test different configurations of the model together with performance indicators which continuously analyze the state of the simulator and return a value.

Figure 1. Sample Network Layout

Focus was placed on recreating and extending the features of existing research whilst improving the efficiency of the model. It was constructed from the ground up to follow a high- level approach, abstracting away low-level details of the network which should not affect the accuracy of the simulator. The model created could reproduce existing simulation data as well

as data observed for existing deployments without physically implementing a network or creating a complex virtual network on a machine. The simulator allows for various properties and indicators to be observed, such as block sizes, block intervals and propagation times, and blockchain splits which result in orphaned blocks.

Figure 2. Single Process’ Communication with the System

The evaluation focuses on the scalability of the model, observing the effect of a growing network size on the performance and security of the network. The resulting data highlighted how blockchains such as Bitcoin and Ethereum are capable of scaling up to thousands of nodes while still maintaining strong consensus and resistance to attacks. Finally, improvements were proposed to the implementation to enhance its efficiency and broaden the scope of the properties it may simulate.


[1]         Hassane Chraibi. Dynamic reliability modeling and assessment with PyCATSHOO: Application to a test case. In PSAM congress, 2013.

[2]         Pierre-Yves Piriou and Jean-Francois Dumas. Simulation of stochastic blockchain models. In 2018 14th European Dependable Computing Conference (EDCC), pages 150-157. IEEE, 2018.

[3]         Satoshi Nakamoto. Bitcoin: A peer-to-peer electronic cash system. 2008.

[4]         Vitalik Buterin. A next-generation smart contract and decentralized application platform. white paper, 2014.

[5]         Arati Baliga. Understanding blockchain consensus models. In Persistent. 2017.

[6]         Arthur Gervais et al. On the security and performance of proof of work blockchains. In Proceedings of the 2016 ACM SIGSAC conference on computer and communications security, pages 3-16. ACM, 2016.

Student: Matthew Barthet
Supervisor: Dr Joshua Ellul
Course: B.Sc. (Hons.) Computing Science