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                    中为了兼容不同的区块链系统, 在配置文件
   250   251   252   253   254   255   256   257   258   259   260