今年5月份,实验室发布了自研区块链实验平台 blockemulator。目前,已经得到了来自29个国家或地区超过1600 名区块链研究者的关注或使用。github project 页面已经得到了96个 stars。
虽然我们已经在 blockemulator.com 的k8凯发旗舰主页与 github 代码仓库详细地介绍了该实验平台的设计理念与使用手册,但是仍然缺少一个更加严谨易懂的介绍文档。为此,我们近日整理了一篇技术论文,已上传至 arxiv 预印本网站。欢迎大家参阅。
论文题目为《 blockemulator: an emulator enabling to test blockchain sharding protocols 》
arxiv链接:
论文介绍
区块链仿真器对于区块链体系架构方向的研究者是必备的实验工具。目前常见的区块链仿真器通常被用于模拟主流区块链或运行区块链的各种协议机制。现有的区块链仿真器各有优点。但我们经过详细的调研,却没有发现有任何一个区块链仿真器能够支持区块链分片机制。为了填补这方面的空白,我们设计并开发了blockemulator。它被设计为一个区块链新协议/新机制的实现与性能测试平台。特别地,研究者用户可以借助它来实现和验证区块链分片机制。
blockemulator 采用了轻量化的模块化架构设计。与复杂的现有区块链架构不同,它仅有数千行代码,且采用了多层级的架构设计。这种设计可以使研究者们将精力集中于自己需要二次开发的模块,而不用耗费大量时间精力在其他部分。通过 blockemulator 提供的现有机制和接口,研究者们能够快捷且方便地设计新型区块链协议、网络消息分发机制、共识算法等等。更重要的是,blockemulator 提供了丰富的编程接口支持实验指标的测量以及实验数据的收集,可支持的常见实验指标包括交易吞吐量、交易确认时延、跨分片交易的比例、各个分片交易池内交易动态变化的情况等等。
为了验证 blockemulator 的有效性,我们做了两组实验。第一组实验中,我们将理论推导结果与从 blockemulator中观测到的实验结果相比较,验证了 blockemulator 产生实验数据的正确性。在第二组实验中,我们在blockemulator可扩展代码模块中实现了四种现有分片机制,并利用 blockemulator 对多种指标进行了测量;展示了 blockemulator 在收集各种丰富实验指标方面的实用功能。
blockemulator的设计理念
研究者可根据自己的需求进行二次开发,只需对 blockemulator 的可扩展代码模块进行修改和重新配置,然后一个定制化的区块链系统就可以开始运行了。随着系统运行,实验结果也将会自动记录保存在本地日志文档中,方便研究者后续绘制实验图。
希望 blockemulator 可以成为一个有用的实验工具。我们还设置了一个blockemulator用户群,欢迎反馈遇到的问题与使用心得。