Page 323 - 《软件学报》2025年第9期
P. 323

4234                                                       软件学报  2025  年第  36  卷第  9  期



                    假设节点    P i  输出结果  , 根据外部有效性, 输出结果       v i  满足断言  Q, 即   Q(v i ) = True. 根据终止性, 只有当值  v i
                                      v i
                 通过了验证, 所有诚实节点才能输出该值, 则可推出               v i  是某个  (些) 诚实节点的输入, 证明满足总体性. 证毕.
                    定理  1. 当  k-RBC  和  Opti-MVBA  均安全时, 那么  Super-Dumbo  满足一致性、有效性和总体性.
                    证明:
                                                                                             V
                    a) 一致性: 证明一致性, 即证明当一个诚实节点输出集合               V = {v i } 时, 所有诚实节点均输出集合  .
                    假设节点    P i  输出了集合  V = {v i }, 根据  Opti-MVBA  的外部有效性, 这意味着集合     V  中的所有值均通过了
                 n−2 f  个诚实节点的本地断言. 同时根据       k-RBC  的总体性, 所有诚实节点均在广播阶段输出            v i , 并且根据  Opti-MVBA
                 的一致性, 所有的诚实节点的输出均一致, 则所有诚实节点将输出                   V. 从而证明一致性.
                    b) 有效性: 证明有效性, 即证明每个诚实节点的输出集合                V  满足  |V| ⩾ n− f  且至少包含  n−2 f  个诚实节点的
                 输入.
                    假设节点    P i  输出了集合  V = {v i }, 根据  Opti-MVBA  的验证断言可知: 1) 对于每一笔交易     v i , 均通过了至少
                 n−2 f  个节点的本地验证断言; 2) 集合      V  的大小至少为    n− f . 同时根据  k-RBC  的总体性, 节点  P i  输出的集合  V  的
                 大小至少为    n− f .
                    同时由于在设定中,       f  为最大的可能出现拜占庭错误的节点            (腐化节点) 数量, 所以满足输出集合         V  至少来自
                 n−2 f  个诚实节点的输入. 从而证明有效性.
                    c) 总体性: 证明总体性, 即证明当       n− f  个诚实节点具有输入, 则所有的诚实节点都会产生输出.
                    根据  k-RBC  的有效性: 诚实节点     P i  发送的交易  v i  会被所有诚实节点接收. 现在有      n− f  个诚实节点具有输入,
                                            n− f  个不同诚实节点的     Finish             v i  作为  Opti-MVBA  阶段的输
                 因此每个诚实节点会至少收到来自                                    消息, 从而将交易
                 入. 根据  Opti-MVBA  的一致性和终止性, 所有诚实节点将收到           Opti-MVBA  的相同输出.
                    同时, 所有的    Opti-MVBA  的输出均满足其外部验证断言. 同时根据            k-RBC  的总体性, 将保证所有诚实节点将
                 接收到  V = {v i }. 从而证明总体性. 证毕.
                    最后, 回归到安全目标, 即系统的即时性、统一性和正确性.
                    定理  2. 当  Super-Dumbo  满足一致性、有效性和总体性时, CBAC        系统满足即时性、统一性和正确性.
                    证明:
                    a) 即时性: 由于   Super-Dumbo  中, k-RBC  的执行轮次为常数, Opti-MVBA   的执行轮数亦为常数, 所以        Super-
                 Dumbo  的执行轮数为常数轮. 故      PDP  节点能够在常数轮次达成共识, 并由于           Super-Dumbo  的有效性, 使得诚实节
                 点都能在期望常数轮交互后对该请求授予访问权限.
                    b) 统一性: 根据   Super-Dumbo  的一致性, 即所有诚实节点的输出相同, 故根据           Super-Dumbo  的有效性, 那么所
                 有诚实   PDP  节点最终授予的访问权限都是相同的.
                    c) 正确性: 根据   Super-Dumbo  的有效性, 即输出包含至少      n−2 f  个诚实节点的输入, 故诚实      PDP  节点最终一

                 致授予的访问权限一定来自至少           n−2 f  个诚实  PDP  节点本地独立决策的授予权限. 证毕.

                 5   系统实现和实验验证

                    本文的   Super-Dumbo  算法实现使用    Python, 且算法基于  Dumbo2  进行实现   [21] . 在运行算法时, 每个参与协议
                 的节点通过未验证的        TCP  套接字进行通信信道的建立. 所有节点默认为诚实节点, 但在运行前会随机腐化                        1/3  的
                 节点.
                    在公共掷币的实现中, 本文使用           Boldyreva  [40] 的基于配对的门限签名方案, 使用    MNT224  椭圆曲线构建签名
                 算法. 在门限加密的实现中, 本文使用我们采用             Baek  等人  [41] 使用  SS512  对称双线性群的门限加密方案实现. 并通
                 过  zfec 库实现  Reed-Solomon  编码.
                    实验分为    4  个部分: 实验  1  是循环等待断言和     Opti-MVBA  的优化与原   Dumbo2  的性能比较, 实验    2  是  Super-
                 Dumbo  的  k-RBC  在不同的实例数   k 下的吞吐量比较, 实验      3  是比较  Super-Dumbo  与原  Dumbo2  在带宽利用率上
   318   319   320   321   322   323   324   325   326   327   328