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) 主从共识仅存在一个主节点发送
请求, 在上传带宽受限时, 主节点将区块发送到多个从节点同样会成为瓶颈.
多主共识协议解决了上述问题, 在跨域部署时能拥有更好的性能. 首先, 多主共识所有节点均为主节点, 不同

