Page 246 - 《软件学报》2026年第1期
P. 246
彭泽顺 等: 面向跨地理区域联盟链的事务处理技术综述 243
的单点瓶颈, 极大地提升了系统性能. 由于执行结果是确定性的, 与 Fabric 不同, NeuChain 的交易执行在共识后进
行, 因此, 共识协议的日志复制不必包含交易执行结果, 减少了大量跨域传输开销. 但是, 由于其采用的确定性并发
控制算法限制每条记录在一个区块内只能被更新一次, 在存在热点的工作负载下, 热点记录会被频繁更新, 若区块
内包含多个更新该热点记录的交易 (它们间存在写-写冲突), 仅有一个能够提交. 因此, 区块内交易数量的提升会
导致更多的事务间存在写-写冲突而被终止, 影响系统性能.
Blocks
T 1 |Commit
T 2 |Abort
T 1 T 2
T 3 |Abort
T 3 T 4 T 4 |Commit
Peer 1
Blocks
T 4 T 1 T 1 |Commit
T 2 |Abort
T 2 T 3
Peer 2 T 3 |Abort
Deterministic concurrency control T 4 |Commit
图 9 使用确定性并发控制的执行流程
HarmonyDB [115] 提出了基于磁盘的确定性并发控制算法 Harmony, 可以应对热点数据并能保证区块间并发. 实
验结果表明, Harmony 不但降低了交易终止率, 而且提升了系统的并发度.
SChain [116,117] 的一个逻辑节点由多个云服务器节点构成, 这些服务器节点分别用作排序 (ordering) 、协调器
(coordinator)、执行 (executor)、存储 (storer). SChain 采用云原生的存算分离思想, 每个逻辑节点内的执行节点和
存储节点可以独立扩展. 这样, 系统吞吐量随执行节点的数量的增加而增加, 在扩展执行节点时不会涉及存储数据
的迁移. 在执行时, 用户将交易提交给排序服务. 排序服务由多个排序节点构成, 每个排序节点都能接收交易. 每个
逻辑节点包含一个协调器, 负责接收排序节点共识完成的区块. 协调器使用基于有序锁的确定性并发控制, 将不相
交的事务集交给数个执行节点做确定性并发执行. 为了弱化读写依赖事务对并发执行的影响, 协调器使用 METIS
图划分算法 [118] 来减少读写依赖事务的比例. 存在读写依赖的事务, 执行节点会在执行期间交换写入结果, 并将更
新提交到存储节点中完成持久化.
SChain 采用了区块间的流水线执行, 当第 1 个区块执行完与第 2 个区块相关的交易后, 后者即可开始执行,
而不用等到前者完全完成执行, 进一步提高了并行度. 但在 Calvin 中, 由于单个协调器 (调度器) 需要给众多执行
器提供完成加锁的交易, 当执行器消费交易的总效率大于单一协调器的生产效率时, 协调器本身可能会成为瓶颈 [68] .
因此, 由于 SChain 并未针对 Calvin 的协调器做优化, 随着吞吐率增加或区块内交易数量的增加, SChain 的协调器
可能会成为瓶颈.
2.4 无协调一致性技术
上述并发控制算法均保证了可串行化的隔离级别, 并需要系统运行强一致的共识协议保证副本一致性, 存在
以下两点缺点: 首先, 很多应用并不需要可串行化的强隔离级别即可保证事务一致性 [119] , 即区块链可以对这类事
务使用较弱隔离级别. 其次, OCC 对交易提交延迟敏感, 跨域共识导致的高延迟会显著降低其吞吐率. 而确定性并
发控制和 SSI 对区块大小敏感, 区块内交易数量较多会显著降低交易提交成功率.
无冲突复制数据类型 (conflict-free replicated data type, CRDT) [120] 是一种可以满足在节点间复制时, 节点间不
需要额外协调即可让账本保证一致的数据结构, 通过削弱副本间数据的一致性 (副本间仅为最终一致)、避免副本
间协调提升性能, 同时可以实现多种弱隔离级别. 由于满足 CRDT 性质的交易均能提交, CRDT 交易提交的成功率
不受交易延迟和区块大小的影响. 目前 CRDT 可以应用到选举投票, 拍卖等很多不需要协调而保持一致性的场景,
并可以实现读已提交 (read committed)、读未提交 (read uncommitted) 等多种隔离级别 [25] .
图 10 展示了一个 CRDT 的投票应用部署在节点 Node 1 和 Node 2 上, 其中, Node 1 和 Node 2 均记录了完整

