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 develop BlockEmulator, which is designed as an experimental platform, particularly for emulating blockchain sharding mechanisms. BlockEmulator adopts a lightweight blockchain architecture such that 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 the measurement of a series of metrics, including throughput, transaction confirmation latency, cross-shard transaction ratio, the queuing size of transaction pools, workload distribution across blockchain shards, etc. We have made BlockEmulator open-source in Github.
翻译:许多区块链模拟器已被提出,使研究人员能够模拟主流区块链。然而,我们尚未发现一个能够支持研究人员开发和评估其新型共识算法或区块链分片系统新协议的测试平台。为填补这一空白,我们开发了BlockEmulator,这是一个专门用于仿真区块链分片机制的实验平台。BlockEmulator采用轻量级区块链架构,使开发者能够专注于实现其新型协议或机制。借助BlockEmulator提供的分层模块和实用编程接口,研究人员可以以最小工作量实现新协议。通过实验,我们分两步测试了BlockEmulator的各项功能。首先,通过将理论分析与观察到的实验结果进行对比,验证了BlockEmulator仿真结果的正确性。其次,其他实验结果表明,BlockEmulator能够有效测量一系列指标,包括吞吐量、交易确认延迟、跨分片交易比例、交易池排队规模以及区块链分片的负载分布等。我们已在GitHub上开源了BlockEmulator。