Page 249 - 《软件学报》2025年第7期
P. 249
3170 软件学报 2025 年第 36 卷第 7 期
除区块链测试基准之外, 还有很多工作通过实验分析或模拟对区块链性能进行测试评估. 实验分析是通过设
计和执行一系列的实验, 衡量不同参数下系统的性能. 文献 [90−95], 针对有许可的区块链平台进行了实证性能评
估, 通过实验的方式对多个区块链平台进行性能测试. 但是, 实验环境的特定性和参数的复杂性导致实现的结果存
在不可重复性. 模拟是通过建立区块链模拟器, 模拟区块链的交易过程来衡量区块链的理论性能. BlockLite [96] 和
VIBES [97] 都是公开的区块链模拟器, 可以在单个节点模拟区块链的基本操作, 评估区块链的扩展性等. 模拟器通常
在理想的或者受控的环境中运行, 与区块链实际运行环境存在一定的差别, 无法完全反映区块链系统在实际环境
中的性能.
本文主要针对系统级的测试基准进行研究. 测试基准是对不同架构的系统进行统一评估的规范和工具, 具有
相关性、可重复性、公平性、可验证性和可用性 [76] . 根据第 4 节介绍的区块链测试基准参考框架, 我们对目前的
区块链测试基准进行了对比分析, 结果如表 6 所示.
表 6 区块链基准对比
基准 支持类型 应用模型 数据模型 负载 指标 执行规则
[39]
BlockBench PR ✓ ✓ ✓ ✓ ✓
[40]
Hyperledger Caliper PR - - - ✓ ✓
[98]
C2B2 PR - - - ✓ ✓
[48]
BlockMeter PR - - ✓ ✓ ✓
Klenik等人 [50] PR ✓ ✓ ✓ ✓ ✓
[88]
BBSF PR ✓ ✓ ✓ ✓ ✓
Touloupou等人 [99] PU/PR - - ✓ ✓ ✓
[42]
Diablo PU/PR ✓ - ✓ ✓ ✓
[46]
DAGBENCH PU/PR ✓ ✓ ✓ ✓ ✓
[43]
Gromit PU/PR ✓ - ✓ ✓ ✓
[45]
BCTMark PU/PR - - ✓ ✓ ✓
[44]
BCadvisor PU/PR - - ✓ ✓ ✓
[47]
xBCBench PU/PR ✓ - ✓ ✓ ✓
表 6 “支持类型”中, PU 表示该基准评测了公有链, PR 表示该基准评测了许可链. 可以看到, 超过半数的区块
链测试基准同时评测了公有链和许可链. 从评测内容来看, 大部分基准在测试公有链和许可链时采用了相同的指
标和执行规则, 只有 BCTMark 采用了不同的指标. 另外我们也注意到, 只测试许可链的基准, 如 BlockBench 和
BBSF, 没有测量资源效率. Diablo 主要针对的也是许可链, 同样没有测资源效率. 可见公有链和许可链在评测指标
上应该有所区分. 此外, 公有链和许可链面临的安全威胁也有差异, 测试时也应该采用不同攻击配置, 目前只有
BCadvisor 对此有针对性设计. 我们将在第 5.4 和 5.5 节详细介绍.
5.1 应用模型
现有的区块链测试基准中, 针对应用模型的研究比较少. Diablo [42] 开发了 5 个去中心化的应用程序, 涵盖了交
易所、视频分享、游戏、网站服务和移动应用等业务场景. 交易所在早晨 9 点开市时会出现交易高峰, 因此其应
用场景呈现出峰值特征. 移动应用选择了 Uber 的计算距离场景, 通过计算欧几里得距离来匹配司机和乘客, 因此
该场景具有计算密集型的特征. 网站应用场景模拟的是 1998 年足球世界杯期间对 FIFA 网站的访问情况, 因此该
场景具有高竞争性的特征. 视频分享和游戏应用场景则都具有高请求率的特征. 然而该研究并没有深入分析这些
业务场景是否真实反映了区块链应用的实际需求.
BBSF [100] 定义了 4 个区块链应用场景, 包括代币交易所、NFT 市场、NFT 铸造以及体育博彩网站. 该研究没
有深入分析每一个应用场景具体的特点.
此外, 大多数的基准并没有考虑应用模型的设计, 例如, DAGBENCH [46] 、Gromit [43] 和 xBCBench [47] 等测试基

