{"title":"Toward scalable docker-based emulations of blockchain networks for research and development","authors":"Diego Pennino , Maurizio Pizzonia","doi":"10.1016/j.bcra.2024.100212","DOIUrl":null,"url":null,"abstract":"<div><div>Blockchain, like any other complex technology, needs a strong testing methodology to support its evolution in both research and development contexts. Setting up meaningful tests for permissionless blockchain technology is a notoriously complex task for several reasons: software is complex, a large number of nodes are involved, the network is non-ideal, etc. Developers usually adopt small virtual laboratories or costly real devnets based on real software. Researchers usually prefer simulations of a large number of nodes based on simplified models.</div><div>In this paper, we aim to obtain the advantages of both approaches, i.e., performing large, realistic, inexpensive, and flexible experiments, using real blockchain software within a virtual environment. To do that, we address the challenge of running large blockchain networks in a single physical machine, leveraging Linux and Docker. We analyze a number of problems that arise when large blockchain networks are emulated, and we provide technical solutions for all of them. Finally, we describe two experiences of emulating fairly large blockchain networks on a single machine: adopting both research-oriented and production-oriented software and involving more than 3000 containers.</div></div>","PeriodicalId":6,"journal":{"name":"ACS Applied Nano Materials","volume":null,"pages":null},"PeriodicalIF":5.3000,"publicationDate":"2024-09-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"ACS Applied Nano Materials","FirstCategoryId":"1093","ListUrlMain":"https://www.sciencedirect.com/science/article/pii/S2096720924000253","RegionNum":2,"RegionCategory":"材料科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"Q2","JCRName":"MATERIALS SCIENCE, MULTIDISCIPLINARY","Score":null,"Total":0}
引用次数: 0
Abstract
Blockchain, like any other complex technology, needs a strong testing methodology to support its evolution in both research and development contexts. Setting up meaningful tests for permissionless blockchain technology is a notoriously complex task for several reasons: software is complex, a large number of nodes are involved, the network is non-ideal, etc. Developers usually adopt small virtual laboratories or costly real devnets based on real software. Researchers usually prefer simulations of a large number of nodes based on simplified models.
In this paper, we aim to obtain the advantages of both approaches, i.e., performing large, realistic, inexpensive, and flexible experiments, using real blockchain software within a virtual environment. To do that, we address the challenge of running large blockchain networks in a single physical machine, leveraging Linux and Docker. We analyze a number of problems that arise when large blockchain networks are emulated, and we provide technical solutions for all of them. Finally, we describe two experiences of emulating fairly large blockchain networks on a single machine: adopting both research-oriented and production-oriented software and involving more than 3000 containers.
期刊介绍:
ACS Applied Nano Materials is an interdisciplinary journal publishing original research covering all aspects of engineering, chemistry, physics and biology relevant to applications of nanomaterials. The journal is devoted to reports of new and original experimental and theoretical research of an applied nature that integrate knowledge in the areas of materials, engineering, physics, bioscience, and chemistry into important applications of nanomaterials.