BlockEmulator 是一个可支持多种共识协议与跨分片机制的区块链协议验证平台,由 HuangLab (中山大学 · InPlusLab · 黄华威研究组)开发并开源。
该实验平台主要面向区块链研究人员,当他们需要对提出的新型区块链共识协议、新型跨分片机制进行验证时,可以帮助用户快速搭建一个轻量化的区块链底层协议的实验平台,并对实验数据进行收集,方便绘制科研论文所需的实验图。
BlockEmulator实现了区块链的底层技术,不仅可以帮助初学者快速入门及加深理解区块链底层原理,也能为区块链研究者提供一个完整的区块链技术开发和测试环境。它可以降低开发和测试一个区块链新协议正确性的成本和难度,为有不同需求的开发人员和研究人员提供可定制化的二次开发环境,加速区块链技术的创新和应用。
BlockEmulator 的设计目标是为了帮助用户(研究者、学生)快速验证他们提出的新型区块链共识协议和分片机制。它被设计为一个采用轻量化区块链系统架构的实验平台。它简化了工业级区块链系统的实验环境的搭建流程,这是因为 blockEmulator 仅仅实现了区块链核心功能,比如交易池、区块打包、区块共识、交易上链等核心环节,并且支持常见的几种主流共识协议,如拜占庭容错 ( Practical Byzantine Fault Tolerance, PBFT ) 协议与工作量证明机制。
特别地,blockEmulator对主流的“区块链分片机制”进行了系统底层级别的设计与实现 。其中,blockEmulator实现的“跨分片交易”机制包含以下两个具有代表性的分片协议:Monoxide (NSDI'2019) 方案中提出的 “Relay 交易机制”,以及 BrokerChain (INFOCOM'2022) 中的 “broker 机制”【基于“做市商账户”的区块链跨分片协议 —— BrokerChain】。
因此,blockEmulator支持对区块链底层新协议的正确性进行验证,尤其支持对区块链新型分片机制与协议做功能测试。