Page 119 - 《软件学报》2025年第10期
P. 119

4516                                                      软件学报  2025  年第  36  卷第  10  期



                 12.    r 0 := LowBits q (w−cs 2 ,2γ 2 )
                 13.    IF ||z|| ∞ ⩾ γ 1 −β or ||r 0 || ∞ ⩾ γ 2 −β
                 14.     (z, h) :=⊥
                 15.    ELSE
                 16.     h := MakeHint q (−ct 0 ,w−cs 2 +ct 0 ,2γ 2 )
                 17.     IF ||ct 0 || ∞ ⩾ γ 2 or the number of 1 in h is greater than ω
                 18.       (z, h) :=⊥
                 19.    κ := κ +l
                 20.  RETURN σ = (˜c,z, h)


                 算法  3. 验证算法  Dilithium-Prime.Verify.

                 输入: 公钥   pk, 消息   M, 签名  σ = (˜c,z, h);
                 输出: 验证通过    (输出  1) 或验证不通过    (输出  0).
                 1.   A ∈ R k×l  := ExpandA(ρ)
                       q
                 2.  µ ∈ {0,1} 512  := H (H(ρ ∥ t 1 )∥ M)
                 3.  c := SampleInBall(˜c)
                              (
                 4.  w := UseHint q h, Az−ct 1 ·2 ,2γ 2 )
                                        d
                    ′
                    1
                                           )
                                      (
                 5.  IF ||z|| ∞ < γ 1 −β and ˜c = H µ ∥ w and the number of 1 in h is ⩽ ω
                                           ′
                                           1
                 6.   RETURN 1
                 7.  ELSE
                 8.    RETURN 0
                    下面举例说明应用过程.
                    节点  A  与  B  进行交易  Tx 时, 由于采用  Dilithium-Prime 数字签名算法, 不再具备应用椭圆曲线性质的密钥衍
                 生功能. A  在解锁脚本中生成       Dilithium-Prime 签名  sig , 将生成的签名   sig  和公钥  pk  写入解锁脚本中. 在为交易
                                                           a              a       a
                 添加解锁脚本的过程中, 会验证脚本的合法性. 交易生成后, 会广播给区块链的其他节点, 各个节点收到交易后会
                 对签名   sig  进行验证, 并将交易    Tx 加入交易池中用于构建区块模板. 经过多父链辅助工作量证明算法后, 生成区
                         a
                 块  Block. 区块广播给其他节点, 其他节点在收到区块后, 会对            Tx 进行验证, 验证成功后, 存储区块        Block, 进行下一
                 个区块构建和共识.
                    值得一提的是, 如图      3  所示, 与基于椭圆曲线的      Schnorr 签名  [20] 等相比, 签名长度明显增加, 因此交易脚本长
                 度变长, 为了增加区块处理交易效率, 建议将区块空间扩容.

                  3   理论分析

                  3.1   Mul-AuxPoW  安全性分析
                    多父链辅助工作量证明共识机制在              PoW  的基础上增加了算力的来源, 支持所有在共识机制中使用                   Sha256
                 和  Scrypt 哈希函数的区块链作为父链提供算力来源. 对于共识机制将分析                   AuxPoW  面对女巫攻击、双花攻击等
                 常见攻击时的表现.
                    (1) 51%  算力攻击
                    51%  算力攻击   [21] 是指控制超过至少    51%  的算力, 以达到控制区块链网络, 进而修改区块交易的攻击. 而在多
                 父链辅助工作量证明共识机制中, 算力来源包括子链本身的算力与其他提供辅助共识的父链, 相比较                                PoW  共识机
                 制明显增加了算力来源, 攻击者控制超过至少               51%  算力的可能性更加困难, 而       PoW  共识机制抵抗    51%  算力攻击
   114   115   116   117   118   119   120   121   122   123   124