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

苏琳萱 等: 区块链状态分片技术综述                                                               145


                 32  个分片的情况下, 可将跨分片交易比例从采用哈希分配方法时的                    96%  降低至约   65%, 同时显著降低了分片间
                 的工作负载方差.


                                                   w(v i ) 节点权重  w(e ij ) 边权重

                                             4     1      6      2   9
                                                                         6
                                                  3
                                                      9                    7
                                              1                      2
                                                 4          2
                                                                      5
                                                4       1          8
                                                   分区1               分区2
                                                  图 4 账户为节点的状态图

                    (2) 交易为节点    (如图  5  所示): 该构建方法适用于采用        UTXO  模型的区块链全分片系统. OptChain       [40] 基于
                 UTXO  模型提出一种以交易作为节点的状态关系图构建方法. 具体来说, 系统依然使用历史交易数据进行状态关
                 系图  G(V, E) 构建. 不同的是, G(V, E) 被构建为有向图, 其中, V     是交易的集合, E     是有向边的集合. 如果交易        u  使
                 用了交易    v  的  UTXO, 则在  E  中将存在一条从   v  到  u  的有向边  (u, v). 当图中的节点不存在出边时, 表示它们是
                 Coinbase 交易  (即矿工获得的区块奖励), 而没有入边的节点则表示这些交易的                  UTXO  尚未被花费. 由于每笔交易
                 只使用过去交易的       UTXO, 该图始终为有向无环图, 节点可以按照交易发生的顺序进行拓扑排序. 在完成状态关系
                 图构建后, OptChain  引入一种时间适应评分的评估机制, 来评估将新的交易放到每个分片的适合程度, 包括衡量该
                 交易放置到分片中而不引发跨分片交易的概率的                 T2S (transaction-to-shard) 评分和评估交易放置到分片中的处理
                 延迟的   L2S (latency-to-shard) 评分. 该方案在  32  分片下, 将系统跨分片交易比例从采用哈希分配方法下的             99%  降
                 低至  19%  左右. 在负载平衡方面, OptChain 的最大交易队列大小约为           44 000 笔交易, 相较于  OmniLedger 的  499 000
                 个交易, 其表现出显著优越性, 降低了约           90%  的队列拥堵情况.

                                           T2S: 分片交易评分         L2S: 分片延迟评分

                                               tx3                       Input
                                                          tx6
                                                                          tx5
                                                               (T2S, L2S)
                                           tx1                            tx3
                                                                         Output
                                               tx2      tx4     tx5       tx7
                                              分区1         分区2             tx7
                                                  图 5 交易为节点的状态图

                    图分配方法基于由历史交易数据的构建的状态关系图, 在每个纪元开始时重新划分子图算法, 定期调整各分
                 片维护的状态, 实现了更加灵活的状态分配. 然而, 图分配方法的计算开销较高, 包括图构建开销和子图划分开销:
                                O(|V|+|E|), 涉及遍历交易记录并构建图; 子图划分开销则依赖于所采用的图划分算法, 复杂度
                 图构建开销通常为
                 较高的算法可能提供更优的分配效果, 但也带来更大的计算开销, 因此需在分配开销与效果之间进行权衡. 此外,
                 该方法通常假设系统未来的交易行为与历史行为一致, 这使得它在应对实时的账户活动突发变化时, 动态适应性
                 不足. 尤其是在系统需要快速响应并调整机制以应对动态环境时, 该方法无法提供及时有效的调整策略, 从而影响
                 系统的效率    [34] .
                  2.1.2    交易级的状态调度方法
                    交易级的状态调度方法通常在交易达到系统后, 判断是否需要对受影响的状态数据进行调度, 以避免复杂的
   143   144   145   146   147   148   149   150   151   152   153