Page 123 - 《软件学报》2025年第10期
P. 123
4520 软件学报 2025 年第 36 卷第 10 期
受到严重影响. 本文设计的公链采用具备后量子安全的 Dilithium-Prime 算法并适配 UTXO 脚本设计, 满足正常的
功能需求, 并明显提升了系统交易安全性.
4 实验验证
本文通过 C++语言实现了包含多父链辅助工作量证明共识机制、难度调整算法、在交易中应用 Dilithium-
Prime 后量子签名算法的区块链系统, 并搭建 5 个 4 核 16 GB 内存云服务器用于仿真实验. 此外, 通过 Python 脚
本, 利用 Docker 技术在每台云服务器平均构建 30 个节点用于分别搭建区块节点. 相关实验参数设定如下.
(1) 难度调整算法选择表 2 中安全等级为 III 的参数, 周期设置较小便于系统测试.
(2) 根据目前算力实际环境, 分配为运行 Sha256 哈希函数父链节点 140 个, 运行 Scrypt 哈希函数父链节点
5 个, 运行子链节点 5 个.
(3) 使用 C++语言模拟实现矿池交互流程, 云服务器节点网络通信延迟约为 0.6 ms, 带宽为 3 Mb/s.
本节对 Mul-AuxPoW 共识机制效率、难度调整算法的模拟攻击、应用后量子签名的交易效率开展实验, 测
试系统的稳定性和效率.
4.1 Mul-AuxPoW 共识机制效率
(1) Mul-AuxPoW 共识机制速度
本实验通过模拟区块共识流程, 进行 1 000 次共识 (不包含交易), 计算各流程平均用时和比例. 实验结果如表 4
所示. 可以观察共识哈希计算 t c 占据共识流程的绝大多数时间, 没有填充交易的区块模板时间 t v 和区块验证时间
t y 相比较而言可以忽略不计.
表 4 区块共识流程平均用时和比例
参数 区块模板时间 t v 共识哈希计算 t c 区块广播 t p 区块验证 t y
用时 (ms) 10.52 120 000.00 0.21 0.58
比例 (%) <0.01 99.99 <0.01 <0.01
(2) Mul-AuxPoW 共识机制存储
本实验测试区块大小的边界值, 即只有 CoinBase 交易的区块与空间完全应用的区块头长度、CAuxPoW 模块
大小以及整体区块大小. 实验结果如表 5、表 6 所示. 可以观察到对于只有 CoinBase 交易的区块, 区块头和
CAuxPoW 共识占据主要空间, 随着交易的增多, 直到空间区块结构占满, 区块交易占据主要空间, 新增的
CAuxPoW 共识空间开销和区块头开销可以忽略不计.
表 5 只有 CoinBase 交易的区块空间开销和比例 表 6 空间全部应用的区块空间开销和比例
参数 区块头 CAuxPoW 区块 参数 区块头 CAuxPoW 区块
空间 (bytes) 80 176 301 空间 (bytes) 80 752 30 000 000
占区块比例 (%) 26.58 58.47 100 占区块比例 (%) <0.01 <0.01 100
4.2 难度调整算法攻击测试
本实验模拟两类父链进行算力攻击时区块链的稳定性, 算力大小以哈希率 (hashrate) 为计量单位, 即每秒计算
哈希的次数, 1 kH/s、1 MH/s 分别表示每秒可以做 1 000、1 000 000 次哈希运算. 首先稳定模拟采用 Scrypt 哈希函
数的父链 B 算力不变, 采用 Sha256 哈希函数的父链 A 的算力在一段周期内先后大幅增加、大幅减少、小幅增加、
小幅减少后, 子链系统整体出块时间如图 4 所示, 可以观察总体出块时间随算力变化先减少后增, 根据变化程度可
以快速调整到正常波动区间范围, 在 2–4 个周期以内稳定出块时间. 两类父链的出块数目如图 5 所示, 父链 A 的出
块数随着算力变化发生剧烈变化后, 在 2–4 个周期以内可以稳定出块数目在目标值左右.

