Page 235 - 《软件学报》2026年第1期
P. 235

232                                                        软件学报  2026  年第  37  卷第  1  期


                 经由共识算法复制到所有从节点. 在节点收到经过共识的区块后, 节点确定性地使用并发控制算法执行区块内交
                 易, 更新本地账本, 所有节点的账本在应用区块前后分别保持一致. 为了提升可扩展性, 一些区块链进一步对账本
                 分片, 使用提交协议协调跨分片交易.
                    从上述描述可以看出, 设计高性能的跨域联盟链系统需要选择合适的共识算法、并发控制和分片策略. 为了
                 进一步明确它们的重要性, 本文接下来介绍使用传统方法在跨域区块链系统中面临的挑战.
                    1) 共识算法跨域通信开销: Fabric     [32] 、Quorum [33] 等传统联盟链系统使用  PBFT [34] 、Raft [35] 等扁平共识协议. 首
                 先, 扁平共识不考虑数据中心内与跨数据中心的网络拓扑异构, 跨域通信开销大, 共识效率低. 其次, 跨域区块链通
                 常部署在横跨全国或全球的多个数据中心上, 用来服务不同地域的用户. 但扁平共识协议使用唯一的主节点对交
                 易排序, 不具备写扩展性. 而且用户写请求需要跨域发送到主节点定序, 对于需要多次交互的交易, 数次跨域往返
                 通信极大地提升了交易的延迟. 最后, 共识协议普遍使用主节点将日志复制到所有从节点, 从节点数量较多时日志
                 复制会成为瓶颈.
                    2) 并发控制性能: 由于涉及庞大节点数量和复杂网络状态, Bitcoin              [36] 、Ethereum [37] 等公有链的共识阶段是系
                 统瓶颈, 而交易执行开销可忽略不计. 因此, Bitcoin         等公有链采用串行方式简单调度策略, 不需要并发方式来提高
                 交易执行的效率. 但是, 随着流水线、批处理等优化技术的应用, 联盟链的共识效率显著提高, 串行交易执行模式
                 逐渐成为系统瓶颈, 有必要采用更高效的并发控制技术. 现有联盟链系统使用多种并发控制算法提升吞吐率, 但是
                 不同并发控制算法在吞吐率、提交率、延迟等方面存在显著差异. 例如, Fabric                         将乐观并发控制 (optimistic
                                                                                  [38]
                 concurrency control, OCC) 引入联盟链, 但在跨域高延迟环境下终止率较高. NeuChain         使用确定性并发控制保证
                 高吞吐率, 但交易终止率较高. OrderlessChain    [39] 使用无协调一致性, 但其不支持可串行化隔离级别.
                    3) 分片策略的同步开销: 分片技术可以提升系统扩展性, 在跨域部署时能获得更好的性能. 通过将账本分为若
                 干可并行提供服务的分片, 并将这些分片部署在不同集群, 系统的吞吐量可以随节点数量的上升而上升. 但处理跨
                 分片交易需要相关分片的所有副本参与协调, 在跨域部署时会产生分片间同步开销, 降低系统的性能. 例如:
                 RapidChain [40] 和  AHL  [41] 采用两阶段提交 (2PC) 协议, 每个阶段都需要在分片内的所有副本间达成共识. CAPER          [28]
                 和  SharPer [42] 将共识协议作为提交协议, 需要在参与分片的所有副本间进行全连接通信. 除此之外, 在系统存在较
                 多跨分片交易时, 性能甚至低于全副本部署             [43] . 例如, 分片区块链通常采用    2PC  保证分片间交易的原子性. 在跨域
                 部署时, 为了避免单个分片因为区域宕机而失效, 通常会在多个数据中心部署相同分片的多个副本. 此时分片内共
                 识需要跨域完成. 若分片共识采用          PBFT, 则需要   1.5 RTT  跨域通信. 而典型  2PC  甚至需要   3  次分片内共识才能完
                 成  [29,44] , 庞大的通信开销极大地降低了系统的性能.
                    由此可见, 设计高性能的跨域联盟链系统需要解决上述                   3  点挑战. 虽然现有公有链和联盟链已经发现并解决
                 了部分问题    [45−48] , 但这些研究并未在跨域部署的环境下系统全面地讨论和总结联盟区块链面对的挑战和对应解决
                 方法. 综上所述, 本文重点讨论跨域联盟链的相关技术. 第                1–3  节将从共识、交易执行和分片方面, 详细介绍当前
                 区块链系统跨域部署时的挑战和解决方案. 第              4  节总结全文, 并给出今后工作展望.

                  1   跨域共识协议

                    PBFT [34] 、Raft [35] 、Paxos [49]  等传统共识协议在跨地域部署时性能较差, 主要包括如下原因. 1) 这些协议没有
                 利用跨域网络的拓扑结构, 节点间全连接通信会产生大量额外网络开销                        [50] . 2) 用户亲和性设计不足. 用户通常分
                 布在跨地域的多个数据中心          [22] , 而仅存在一个全局主节点打包区块, 导致用户跨域发送交易增加延迟. 同时, 全局
                 仅存在一个主节点也会形成共识瓶颈             [51] . 3) 在共识时, 以防止拜占庭行为导致的数据丢失, 区块传输多份造成较
                 大跨域通信开销      [38] . 针对以上问题, 现有系统提出了分层共识算法、多主共识算法和异步共识算法                      [52,53] 等解决方
                 案, 并提出共识时区块传输优化策略减少跨域网络环境对共识协议的影响.
                  1.1   分层共识协议
                    分层共识协议通过增加域内高速网络的使用减少跨域通信开销. 通过将节点按照数据中心分组并在每个组内
                 选出一个主节点代表该组与其他组通信, 分层共识算法解决扁平全连接的共识不能很好地适应跨域网络拓扑的问
   230   231   232   233   234   235   236   237   238   239   240