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% 算力攻击

