{"title":"基于 docker 的可扩展区块链网络仿真,促进研究与开发","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":"{\"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}","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
摘要
区块链与其他复杂技术一样,需要强有力的测试方法来支持其在研究和开发方面的发展。为无权限区块链技术建立有意义的测试是一项众所周知的复杂任务,原因有以下几点:软件复杂、涉及大量节点、网络不理想等。开发人员通常采用小型虚拟实验室或基于真实软件的昂贵真实开发网。在本文中,我们的目标是获得这两种方法的优势,即在虚拟环境中使用真实的区块链软件进行大型、真实、廉价和灵活的实验。为此,我们利用 Linux 和 Docker 解决了在单个物理机中运行大型区块链网络的难题。我们分析了模拟大型区块链网络时出现的一系列问题,并提供了所有问题的技术解决方案。最后,我们介绍了在单台机器上模拟相当大的区块链网络的两种经验:同时采用研究型和生产型软件,并涉及 3000 多个容器。
Toward scalable docker-based emulations of blockchain networks for research and development
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.