一、 BlockEmulator 是什么?
BlockEmulator 1.0 是一个可支持多种共识协议与跨分片机制的区块链协议验证平台,由 HuangLab (中山大学 · 黄华威研究组)开发并开源。
网站首页:https://www.blockemulator.com
该实验平台主要面向区块链研究人员,当他们需要对提出的新型区块链共识协议、新型跨分片机制进行验证时,可以帮助用户快速搭建一个轻量化的区块链底层协议的实验平台,并对实验数据进行收集,方便绘制科研论文所需的实验图。
BlockEmulator实现了区块链的底层技术,不仅可以帮助初学者快速入门及加深理解区块链底层原理,也能为区块链研究者提供一个完整的区块链技术开发和测试环境。它可以降低开发和测试一个区块链新协议的成本和难度,为开发人员和研究人员提供可定制化的二次开发环境,加速区块链技术的创新和应用。
二、 BlockEmulator 能用来做什么?
BlockEmulator 1.0 的设计目标是为了帮助用户(研究者、学生)快速验证他们提出的新型区块链共识协议和分片机制。它被设计为一个采用轻量化区块链系统架构的实验平台。它简化了工业级区块链系统的实验环境的搭建流程,这是因为 blockEmulator 仅仅实现了区块链核心功能,比如交易池、区块打包、区块共识、交易上链等核心环节,并且支持常见的几种主流共识协议,如拜占庭容错 ( Practical Byzantine Fault Tolerance, PBFT ) 协议与工作量证明机制。
特别地,blockEmulator 对主流的“区块链分片机制”进行了系统底层级别的设计与实现 。其中,“跨分片交易”机制包含以下两个具有代表性的分片协议:Monoxide (NSDI’2019) 方案中提出的 “Relay 交易机制”,以及 BrokerChain (INFOCOM’2022) 中的 “broker 机制” (基于“做市商账户”的区块链跨分片协议 —— BrokerChain )。
因此,blockEmulator 支持对区块链底层新协议的正确性进行验证,尤其支持对区块链新型分片机制与协议做功能测试。
三、BlockEmulator 有什么特点?
- 快速搭建:不仅可以在本地进行实验,还可以远程部署到云端运行。
- 可定制化:BlockEmulator 1.0 采用 Go 语言实现,能够定制化二次开发,满足不同需求。
- 易于实验:BlockEmulator 1.0 支持主流区块链(如以太坊)历史交易数据回放,可以自动输出、保存区块链实验指标,如系统吞吐量、交易确认时延、交易池拥塞程度等等。
- 容易上手:无需复杂设置,科研人员与学生就能进行实验并收集数据绘制图表。
四、BlockEmulator 的架构设计
BlockEmulator 1.0 采用分层的方法进行设计,各层相对独立且只与邻近层交互,实现系统层面的功能解构,帮助用户快速熟悉系统架构并进行代码复用。
BlockEmulator 1.0 提供了详细的用户使用文档,如下图所示。
五、BlockEmulator 的未来版本
本次我们暂且开源 BlockEmulator 1.0 版本。目前研究团队在持续对 BlockEmulator 更新版本,后续会推出可操作性更高、交互界面更友好的后续版本。注:BlockEmulator 已经申请了专利保护。
六、已使用 BlockEmulator 的相关论文
如下几篇论文使用了 BlockEmulator 1.0 作为实验工具。欢迎了解。
- BrokerChain: A Cross-Shard Blockchain Protocol for Account/Balance-based State Sharding (INFOCOM 2022) 【PDF】【论文介绍】
- Achieving Scalability and Load Balance across Blockchain Shards for State Sharding (SRDS 2022)【PDF】【论文介绍】
- tMPT: Reconfiguration across Blockchain Shards via Trimmed Merkle Patricia Trie (IWQoS 2023)【PDF】【论文介绍】
- MVCom: Scheduling Most Valuable Committees for the Large-Scale Sharded Blockchain (ICDCS 2021) 【PDF】【论文介绍】
欢迎反馈!