中文

CBlockSim:一个模块化高性能区块链模拟器

分布式、并行与集群计算 2022-05-31 v2 性能

摘要

区块链自 2008 年出现以来引起了学术界和工业界的广泛关注。由于大规模区块链部署的不便,区块链模拟器被用于促进区块链的设计与实现。我们评估了应用于 Bitcoin 和 Ethereum 的现有最优模拟器,发现它们存在低性能与低可扩展性等显著局限。为构建更通用且更快速的区块链模拟器,我们扩展了已有的区块链模拟器 BlockSim。我们添加了一个集成了网络拓扑生成算法和区块传播算法的网络模块,以生成真实的区块链网络并高效模拟区块传播。我们设计了二进制交易池结构,并将 BlockSim 从 Python 迁移至 C++,从而可利用位运算加速模拟并降低内存占用。此外,我们基于五个主要区块链流程将模拟器模块化。共识协议(PoW 和 PoS)、信息传播算法(Gossip)和终结规则(最长链规则和 GHOST 规则)等重要的区块链元素在独立模块中实现,可灵活组合以模拟不同类型的区块链。实验表明,新模拟器将模拟时间减少了一个数量级并提升了可扩展性,使我们能够模拟超过一万个节点,大致相当于 Bitcoin 和 Ethereum 网络的规模。我们提出了两个典型用例来研究大多数其他模拟器未涵盖的与网络相关的问题。

关键词

引用

@article{arxiv.2203.05788,
  title  = {CBlockSim: A Modular High-Performance Blockchain Simulator},
  author = {Xuyang Ma and Han Wu and Du Xu and Katinka Wolter},
  journal= {arXiv preprint arXiv:2203.05788},
  year   = {2022}
}