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

彭泽顺 等: 面向跨地理区域联盟链的事务处理技术综述                                                       235


                 节点, 在这些主节点间运行        PBFT  以维护分组信息. 当分组崩溃时, 分组信息会被及时更新, 节点能一致地决策是
                 否等待或应用来自崩溃分组的交易.

                                               T 1
                                            N 1,1
                                                   Local
                                            N 1,2
                                          G 1
                                            N 1,3  consensus
                                            N 1,4
                                                         Inter-group
                                               T 2
                                                          exchange
                                            N 2,1
                                                   Local
                                            N 2,2
                                          G 2
                                                 consensus
                                            N 2,3
                                            N 2,4
                                                                    Inter-group
                                               T 3
                                                                     exchange
                                            N 3,1
                                                   Local
                                            N 3,2
                                          G 3
                                                 consensus
                                            N 3,3
                                            N 3,4
                                                          Inter-group
                                               T 4
                                                          exchange
                                            N 4,1
                                            N 4,2  Local
                                          G 4
                                            N 4,3  consensus
                                            N 4,4
                                                   图 3 Canopus 共识架构

                    Kauri [60] 改进了  HotStuff [64] 的全广播消息传输方式以适应跨域部署, 其使用平衡多层树广播交易提案并聚合回
                 复, 在  7  节点时的通信模式和对应拓扑结构, 如图          4  所示. 对于内部节点故障 (如      F 1,1 、F 1,5 ), Kauri 采用了高效的重
                 配置算法, 避免由于这些节点连续拜占庭而导致的故障. 其还使用了流水线技术 (见第                         1.4  节) 进一步提升性能, 允
                 许多轮共识并发进行, 以应对沿拓扑路径多次跨域通信造成的高延迟.

                                        T 1
                                                                           L 1,1
                                      L 1,1
                                      F 1,2
                                      F 1,3
                                                                    F 1,2        F 1,5
                                   G 1 F 1,4
                                      F 1,5
                                      F 1,6
                                                                 F 1,3  F 1,4  F 1,6  F 1,7
                                      F 1,7
                                          (a) 节点间通信模式                (b) 节点间拓扑结构
                                             图 4 Kauri 在  7  节点时的树形共识流程

                    ByzCoin [61] 采用多层的树形通信减少      PBFT  在公有链上部署的网络开销. ByzCoin        也采用   CoSi [65] 多重签名
                 (multi-signature) 聚合组内节点签名, 减少  PBFT  的  Prepare 消息和  Commit 消息的签名传输开销 (见第    1.4  节).
                    与  ByzCoin  和  Kauri 采用的固定宽度的拓扑不同, OmniLedger   [62] 提出的  ByzCoinX  使用固定高度的拓扑结构.
                 其将从节点分组, 每个组选出一个节点充当分组的主节点. 消息传输由                     PBFT  主节点传输到分组的主节点, 在由分
                 组主节点转发到分组内从节点. 为了减少分组主节点拜占庭的情况, ByzCoinX                     结合了   RandHound [66] 和可验证随
                 机函数   (verifiable random function, VRF) [67] 保证节点分组和选择分组主节点的随机性, 即拜占庭节点不能预知和指
                 定其所在的分组和分组的主节点.
                  1.2   多主共识协议
                    对于  PBFT、HotStuff [64] 等主从架构共识协议, 用户需要将交易发往全局唯一的主节点排序并生成区块, 唯一
                 主节点会产生单点瓶颈. 1) 用户通常分布在不同的地理区域, 写请求跨地域传输到主节点会产生额外的延迟, 尤其
                 当请求需要多次和用户交互的情况. 2) 在网络波动时, 部分节点的副本并非实时最新. 因此, 读请求也需要发往主
                 节点处理, 避免读陈旧数据. 但这会加重主节点负载               [38,51] , 恶化单点瓶颈效应. 3) 主从共识仅存在一个主节点发送
                 请求, 在上传带宽受限时, 主节点将区块发送到多个从节点同样会成为瓶颈.
                    多主共识协议解决了上述问题, 在跨域部署时能拥有更好的性能. 首先, 多主共识所有节点均为主节点, 不同
   233   234   235   236   237   238   239   240   241   242   243