Page 231 - 《软件学报》2025年第7期
P. 231
3152 软件学报 2025 年第 36 卷第 7 期
distributed database management system, blockchain can benefit from the extensive experience gained through the evolution of database
technology. Inspired by database benchmarks and considering the unique characteristics of blockchain systems such as decentralization,
immutability, and trustworthiness, a blockchain benchmarking reference framework, UFBCB, has been proposed. This framework identifies
five core elements essential to blockchain benchmarks: application model, data model, workload, metrics, and execution rules, and clarifies
the interrelationship among these elements. It provides a unified standard for evaluating blockchain performance. Moreover, a
comprehensive metric system encompassing performance, energy efficiency, scalability, and security is introduced, aiming to capture the
critical capabilities of blockchain systems comprehensively. Based on this framework, a detailed comparative analysis of existing
blockchain benchmarks is conducted, highlighting common issues and deficiencies. Finally, this study discusses potential directions for the
future development of blockchain benchmarking.
Key words: blockchain; benchmark; performance evaluation; scalability; security
1 引 言
区块链系统是一种提供通用编程接口、去中心化的分布式数据库 [1] . 2008 年加密数字货币系统比特币 [2] 的出
现标志着区块链的诞生, 这一时期区块链主要充当比特币的账本 [3] , 记录交易, 并支持简单的智能合约 (smart
contract), 这也是区块链常常被称为“分布式账本”的由来. 2014 年出现的以太坊 [4] 旨在全面支持图灵完备的智能合
[5]
约, 为去中心化应用程序 (DApp) 提供基础, 成为通用计算基础设施 (“The world’s computer”) . 区块链的应用范围
从加密数字货币、DApp 逐渐扩展到金融 [6,7] 、供应链 [8,9] 、物联网 [10−13] 、医疗 [14,15] 、政府服务、司法、能
源 [16,17] 等领域.
区块链利用块链式数据结构来存储日志, 通过分布式共识协议来生成和更新状态, 并使用密码学技术保证消
息的可信性. 区块链架构从上至下可分为应用层、执行层、数据层、共识层和网络层 [18] . 根据对参与节点身份的
要求, 可以将区块链分为公有链和许可链两大类 [19−21] . 公有链也称为无许可链 (permissionless blockchain), 任何节
点都可以在不经授权的情况下参与或退出区块链网络. 典型代表是比特币和以太坊. 许可链 (permissioned
blockchain) 又可以细分为联盟链 (consortium blockchain) 和私有链 (private blockchain), 共同特点是节点需要先得
到授权, 典型代表是 Hyperledger Fabric (https://www.hyperledger.org/) 和 FISCO BCOS (http://www.fisco-bcos.org/).
去中心化以及高容错是所有区块链系统的核心设计目标, 而实现这两个目标通常都需要在一定程度上牺牲系
统性能 [22] , 例如比特币系统平均每秒只能处理 7 笔交易, 以太坊系统经过扩容升级之后也只能达到每秒数百笔交
易 [23] , 和传统中心化系统性能相距甚远. 针对这一问题, 近年来涌现出一批新型区块链系统, 采用离链 [24] 、侧链 [25] 、
跨链 [26] 、事务并发执行 [27] 、分片 [28,29] 和有向无环图 (DAG) [30,31] 等技术来提升性能.
层出不穷的区块链系统给上层应用带来新的问题. 例如, 如何衡量不同区块链系统的性能 [32] ? 如何根据应用
场景特点选择合适的区块链系统 [33] ? 此外, 不同区块链系统在不同方面表现各异. 例如, 采用工作量证明 (PoW) 协
议的区块链需要传输的消息数量较少, 适合规模很大的区块链网络, 但吞吐能力较低; 采用实用拜占庭容错
(practical Byzantine fault tolerance, PBFT) 协议的区块链可以支持较高的吞吐量, 但由于其消息传输量随网络节点
数量增加快速上升, 严重限制了此类区块链系统的网络规模; 采用分片、侧链以及有向无环图 (DAG) 等技术的区
块链系统虽然提升了吞吐效率, 但在安全性方面都有不同程度的削弱. 另一方面, 不同的应用场景对区块链的性能
和安全性也有着不同的要求. 例如, 加密数字货币和金融领域最看重安全性, 大部分去中心化应用需要高吞吐率和
低延迟, 而司法和物流则更看重数据的不可篡改性.
从数据库行业的发展过程来看, 上述问题应该通过建立测试基准和相应的评测体系来解决. 数据库的测试基
准是一套用于比较和评估不同数据库系统性能的规范, 它通常包括以下几个要素: 应用模型、数据模型、负载、
指标和执行规则. 应用模型是指基准所模拟的特定应用场景. 数据模型是指代表业务特征的数据模式和数据集, 其
中, 数据模式描述了数据库中的表结构、表之间的关联关系和完整性约束, 数据集是根据真实应用场景生成的测
试数据. 负载是一组模拟真实业务场景或特定使用情况的操作集合, 包括查询、插入、更新和删除等各种操作, 以
及操作的类型、比例和分布情况. 指标是一组用来评估数据库性能的标准, 比如吞吐率、响应时间等. 执行规则设

