iblock: Accurate and Scalable Bitcoin Simulations with OMNeT++
Niccolò Scatena, Pericle Perazzo, Giovanni Nardini
TL;DR
The paper introduces iblock, a C++ OMNeT++-based Bitcoin simulator designed to overcome inefficiencies of prior high-level implementations. It presents a modular architecture with BlockchainManager, MempoolManager, Wallet, Miner, and TransactionGenerator apps, enabling cross-layer experiments across network, consensus, and data management. The authors validate iblock using Bitcoin normal operation and selfish mining scenarios and demonstrate scalability advantages through extensive performance analyses and a BlockSim comparison. The work provides a practical, efficient platform for detailed Bitcoin protocol studies and makes the code publicly available for researchers and practitioners.
Abstract
This paper proposes iblock, a comprehensive C++ library for Bitcoin simulation, designed for OMNeT++. iblock offers superior efficiency and scalability with respect to state-of-the-art simulators, which are typically written in high-level languages. Moreover, the possible integration with other OMNeT++ libraries allows highly detailed simulations. We measure iblock's performance against a state-of-the-art blockchain simulator, proving that it is more efficient at the same level of simulation detail. We also validate iblock by using it to simulate different scenarios such as the normal Bitcoin operation and the selfish mine attack, showing that simulation results are coherent with theoretical expectations.
