Using virtualization for blockchain testing

Chen Chen,Qi Zhuyun,Liu Yirui,Lei Kai
DOI: https://doi.org/10.1007/978-3-319-73830-7_29
2018-01-01
Abstract:Blockchain technology is experiencing prosperity. A wide variety of open source blockchains emerge recent years, which are different in architecture design or protocol parameters. When a developer wants to compare runtime performance of different blockchains, he could conduct a simulation with event simulator, or run application on physical machines. Either way will result in problems of unconvincing or costly. Container, a lightweight virtualization technique, is suitable for solving this dilemma. Tens of containers could run simultaneously in a single-core CPU computer, with each container having a running blockchain client. A simulated blockchain network with hundreds of nodes could be easily established in this way. In this paper, we firstly overview blockchain architecture choices which will significantly affect performance. Then we introduce our framework on testing blockchains using containerization. Authenticity and high cost of P2P application testing would be balanced in this framework. Finally, we implement our framework to run a demo testing how bitcoin's network parameters will affect system reliability.
What problem does this paper attempt to address?