Page 255 - 《软件学报》2025年第7期
P. 255
3176 软件学报 2025 年第 36 卷第 7 期
攻击配置和测试流程这 3 方面对现有的基准进行对比分析. 如表 10 所示, 这里的系统配置我们只考虑了提供部署
工具的基准. 总体来看, 现有基准对系统配置和测试流程定义较多, 但只有少量基准考虑攻击配置.
表 10 区块链基准执行规则对比
基准 系统配置 攻击配置 测试流程
BlockBench [39] - ✓ -
Hyperledger Caliper [40] ✓ - ✓
C2B2 [98] ✓ - -
BlockMeter [48] - - ✓
Klenik等人 [50] - - ✓
Touloupou等人 [99] ✓ - -
BBSF [88] - ✓ ✓
Diablo [42] - ✓ -
DAGBENCH [46] ✓ - ✓
Gromit [43] - - ✓
BCTMark [45] ✓ - ✓
BCadvisor [44,87] ✓ ✓ -
xBCBench [47] ✓ - ✓
5.5.1 系统配置
为了确保基准测试结果的独立性、公平性和可重复性, 测试基准需提供详细的软硬件配置和参数设置, 包括
硬件配置、软件配置、共识协议、网络配置、节点数量等. 所有的测试基准中实验实施部分都对测试环境进行了
描述, 但部分基准没有详细介绍环境配置, 难以实现测试结果的可重复性以及保证结果的公平性.
由于区块链的配置过程比较复杂 [101] , 为了保证实验的可重复性, 有些基准提供了自动化的工具简化了系统配
置过程. 下面进行详细的分析.
BCTMark [45] 基于两个开源工具 EnosLib 和 Ansible 简化了区块链的部署过程. 用户可通过使用 YAML 配置文
件描述所需的区块链部署配置, BCTMark 利用 YAML 配置文件、Ansible 的 Playbook 和 SSH 连接实现了任意物
理平台上自动化的部署, 从而实现了部署的可重复性和可扩展性.
C2B2 在 BAF (blockchain automation framework) 的基础上改进了配置的过程, 通过高级配置描述自动生成
BAF 的配置文件, 简化了 Fabric 在云上的部署过程. BAF 是 Hyperledger 项目的自动化部署脚本集合, 用于在云上
部署区块链系, BAF 结合了 Ansible 和 Helm 图表的功能, 前者具有配置部署功能, 而后者描述区块链组件在
Kubernetes 集群上的部署规则. C2B2 的高级配置文件中包括了部署的联盟组织的数量和性质, 每个组织的节点数
量, 是否具有排序节点等内容, 这为用户提供了灵活且简化的配置方式, 提高了基准测试的可重复性.
Touloupou 等人 [99] 提出了一个区块链测试基准框架的初始化设置, 指定区块链协议和节点数量后, 可以通过
一行代码完成区块链网络的部署.
xBCBench 提供了一个图形化的界面接口, 通过输入相关配置参数, 完成区块链网络的搭建和智能合约的
部署.
Caliper 采用 Docker 容器来运行区块链网络. 网络配置文件中详细描述了区块链系统的拓扑结构、节点位置
以及启动脚本等信息. 管理进程根据这个配置文件, 配置部署相应的区块链网络. Caliper 支持多个区块链平台, 如
Hyperledger Fabric、Sawtooth、Iroha 等.
有些测试基准提供了统一的适配接口, 但是区块链系统可能需要使用各自的脚本进行适配. 有些测试基准系
统提到了部署管理, 但没有详细描述其具体内容和过程.
BlockBench 中各区块链需要实现 IBlockchainConnector 接口来集成到基准框架中, 该接口包含了部署应用程
序、通过发送交易调用应用程序以及查询区块链状态的操作. Diablo 中为了兼容不同的区块链系统, 在配置文件

