Papers
Topics
Authors
Recent
Search
2000 character limit reached

Toward Scalable Docker-Based Emulations of Blockchain Networks for Research and Development

Published 22 Feb 2024 in cs.DC and cs.PF | (2402.14610v1)

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, large number of nodes are involved, 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 tackle 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 up to more than 3000 containers.

Definition Search Book Streamline Icon: https://streamlinehq.com
References (10)
  1. Go ethereum: Official go implementation of the ethereum execution layer, https://github.com/ethereum/go-ethereum (Accessed on 5/02/2024).
  2. doi:10.1109/ACCESS.2022.3211422.
  3. doi:10.3390/s20123358. URL https://www.mdpi.com/1424-8220/20/12/3358
  4. doi:10.1109/TNET.2009.2024083.
  5. Traffic control howto - the linux documentation project, https://tldp.org/HOWTO/Traffic-Control-HOWTO/ (Accessed on 12/02/2024).
  6. The netfilter.org “nftables” project, https://netfilter.org/projects/nftables (Accessed on 12/02/2024).
  7. tc(8) — linux manual page, https://man7.org/linux/man-pages/man8/tc.8.html (Accessed on 14/02/2024).
  8. Prysm documentation 4.0.0 - nodes and networks, https://docs.prylabs.network/docs/concepts/nodes-networks (Accessed on 12/02/2024).
  9. Stackexchage – what exactly is the content of blocks on the beacon chain?, https://ethereum.stackexchange.com/questions/115594/what-exactly-is-the-content-of-blocks-on-the-beacon-chain (Accessed on 9/02/2024).
  10. Kubernetes: Production-grade container orchestration, https://kubernetes.io/ (Accessed on 14/02/2024).

Summary

Paper to Video (Beta)

Whiteboard

No one has generated a whiteboard explanation for this paper yet.

Open Problems

We haven't generated a list of open problems mentioned in this paper yet.

Continue Learning

We haven't generated follow-up questions for this paper yet.

Collections

Sign up for free to add this paper to one or more collections.

Tweets

Sign up for free to view the 5 tweets with 0 likes about this paper.