Skip to main content
QUICK REVIEW

[论文解读] BlockEmulator: An Emulator Enabling to Test Blockchain Sharding Protocols

Huawei Huang, Guang Ye|arXiv (Cornell University)|Nov 6, 2023
Blockchain Technology Applications and Security被引用 6
一句话总结

BlockEmulator 是一个轻量级、开源的测试平台,旨在使研究人员能够高效地开发和评估区块链分片协议。它提供了模块化、可扩展的编程接口,用于实现共识算法、跨分片事务处理以及工作负载均衡机制,实验结果证实其在测量吞吐量、延迟和事务池大小等关键指标方面的准确性与实用性。

ABSTRACT

Numerous blockchain simulators have been proposed to allow researchers to simulate mainstream blockchains. However, we have not yet found a testbed that enables researchers to develop and evaluate their new consensus algorithms or new protocols for blockchain sharding systems. To fill this gap, we developed BlockEmulator, which is designed as an experimental platform, particularly for emulating blockchain sharding mechanisms. BlockEmulator adopts a lightweight blockchain architecture so developers can only focus on implementing their new protocols or mechanisms. Using layered modules and useful programming interfaces offered by BlockEmulator, researchers can implement a new protocol with minimum effort. Through experiments, we test various functionalities of BlockEmulator in two steps. Firstly, we prove the correctness of the emulation results yielded by BlockEmulator by comparing the theoretical analysis with the observed experiment results. Secondly, other experimental results demonstrate that BlockEmulator can facilitate measuring a series of metrics, including throughput, transaction confirmation latency, cross-shard transaction ratio, the queuing status of transaction pools, workload distribution across blockchain shards, etc. We have made BlockEmulator open-source in Github.

研究动机与目标

  • 解决缺乏专门用于评估新型区块链分片协议和共识算法测试平台的问题。
  • 提供一个轻量级、可扩展的平台,隔离核心区块链功能,以支持对新型分片机制的专注实现。
  • 通过抽象底层复杂性并提供可重用组件,支持分片协议的快速原型设计与基准测试。
  • 实现对吞吐量、事务确认延迟、跨分片事务比例和事务池排队大小等关键指标的准确性能测量。
  • 促进在分片区块链环境中对工作负载均衡和事务迁移策略的评估。

提出的方法

  • 设计以核心区块链组件(节点管理器、共识模块和链上事务存储)为中心的分层架构。
  • 实现模块化编程接口,允许研究人员在不修改底层基础设施的前提下,插入新的共识协议(例如 PBFT、PoW)和分片机制。
  • 通过两种代表性机制支持跨分片事务处理:BrokerChain 和 Relay,并支持可配置的账户迁移策略。
  • 通过 CLPA(跨分片负载预测算法)实现动态工作负载均衡,该算法根据分片负载预测结果重新配置账户分布。
  • 通过可配置的实验参数和基于日志的结果收集机制,支持性能评估,以测量 TPS、延迟和 TXpool 大小等指标。
  • 通过将观察结果与理论性能模型进行比较,验证模拟的正确性。

实验结果

研究问题

  • RQ1BlockEmulator 是否能够准确模拟区块链分片协议的行为,且结果与理论预期一致?
  • RQ2BlockEmulator 如何支持对分片区块链系统中吞吐量、事务确认延迟和跨分片事务比例的评估?
  • RQ3当与不同分片架构(如 BrokerChain 与 Relay)集成时,工作负载均衡机制(如 CLPA)的性能影响如何?
  • RQ4在事务池大小和工作负载分布方面,不同分片机制(BrokerChain+CLPA、BrokerChain+Static、Relay+CLPA、Relay+Static)之间有何差异?
  • RQ5在何种条件下 CLPA 能够提升性能,而在何种情况下会因重新配置开销而造成性能下降?

主要发现

  • BlockEmulator 的模拟结果与理论性能预测高度吻合,验证了其在实验中的正确性与可靠性。
  • BrokerChain+CLPA 和 BrokerChain+Static 在低至中等事务注入速率下均表现出优越性能,能有效维持较低的事务池大小和较高的吞吐量。
  • CLPA 算法在与 Relay 集成时性能提升有限,原因在于低注入速率下分片间负载不平衡程度不足,且存在重新配置开销。
  • BrokerChain+CLPA 在各分片间实现了最均衡的工作负载分布,其累积分布函数(CDF)快速上升,表明工作负载百分比高度集中。
  • BrokerChain+CLPA 和 BrokerChain+Static 的事务池大小增长缓慢但下降迅速,表明事务处理效率高且排队延迟较低。
  • 当事务注入速率较低且事务池已满时,CLPA 通过卸载过载分片显著提升了性能,证实其在特定工作负载条件下具有有效性。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。