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

王御天 等: 基于多父链辅助工作量证明共识机制的后量子区块链系统                                                4519


                 父链  B  撤销的更多, 父链    B  上一阶段难度增加的较大, 导致本轮出块较少或者其他概率性原因导致出块较少, 对
                 于此种情况, 我们会慢慢降低算力, 在一轮调整后, 父链               B                 , 会根据其他的相应公式对父链          B
                                                              出块便会超过
                                                                         B low limit
                 难度迅速调整.     y n ⩾ A low limit  的情况类似.
                  3.5   Mul-AuxPoW  共识机制和交易效率分析

                    在共识时间方面, 时间由构建区块模板时间               t v 、共识哈希计算  、区块广播  、区块被各节点验证               t y  构成.
                                                                                t p
                                                                      t c
                 与  PoW  共识机制比较, Mul-AuxPoW   共识机制主要增加在        t v  和  . 在构建区块模板中, 需要与父链、矿池进行交
                                                                  t y
                 互构建区块模板; 在验证区块中, 需要对           AuxPoW  结构进行验证. 但是在共识中, 哈希计算           t c  对时间影响较深, 而
                 其余时间相比较可以忽略不计. 所以整体会增加共识时间, 但是相比之下增加的时间可以忽略. 需要说明的是,                                  t v
                 和  t y  中需要对交易的签名进行验证, 需要的时间取决于签名数量和单次验签时间, 这里主要考虑共识结构对于时
                 间的影响.
                    空间方面, 区块头中增加        32 bytes 的  AuxPoW  哈希指针. 额外增加  CAuxPoW  结构, 其中包含   32 bytes 的辅助
                 出块父链区块头哈希、144 bytes 的辅助出块父链             CoinBase  交易, 0–576 bytes 的辅助出块父链   CoinBase  交易
                 Merkle 分支, 总体增加了    176–752 bytes 的空间. 相比于比特币   1 MB  的区块大小, 总体增加了       0.03%  的空间大小.
                 另外对于应用后量子区块链的区块链, 如果选用表                2  中安全等级为Ⅲ的参数, 签名大小将提高到             3 233 bytes, 公钥
                 大小为   1 916 bytes, 交易空间明显提高, 为了提高区块链效率, 将区块空间扩容至              30 MB. 相比于增加   Mul-AuxPoW
                 共识机制的应用而言, 共识机制额外增加了              0.001%  的空间大小.
                    下面将详细说明后量子签名对交易的影响, 在时间方面, 由于交易通过脚本形式生成, 脚本中主要操作是生成
                 签名和填充公钥和公钥哈希、操作码等, 其中签名时间主要影响交易, 由于应用                        Dilithium-Prime 签名, 总体交易生
                 成时间有所变长.
                    空间方面以图      3  所示的  P2PKH  脚本为例, 解锁脚本由    3 234 bytes 的签名和  1 916 bytes 的公钥构成, 锁定脚本
                 由操作码和    160 bytes 的公钥哈希构成. 相对于锁定脚本, 解锁脚本的签名和公钥对空间开销更大, 相对于时间, 应
                 用  Dilithium-Prime 签名对于空间影响更大, 明显增加了单笔交易空间.
                  3.6   常见  PoW  公链对比分析
                    本文中设计的区块链系统是在采用             UXTO  脚本架构和采用工作量证明共识算法的区块链基础上进行设计实
                 现, 代表为比特币和莱特币等公链, 在功能上进行对比, 如表                3  所示.

                                                  表 3 与其他公链功能对比

                   区块链             共识算法                        难度调整算法                       签名算法
                   比特币         工作量证明共识算法              通过出块时间与目标时间比例调整难度                椭圆曲线数字签名算法
                   莱特币       辅助工作量证明共识算法              通过出块时间与目标时间比例调整难度                椭圆曲线数字签名算法
                  本文设计     多父链辅助工作量证明共识算法           通过出块时间与目标时间比例、父链出块数目               后量子安全的Dilithium-
                    公链                              比例、父链多个周期的出块数稳定性调整难度               Prime算法

                    在共识算法方面, 比特币采用哈希函数为             Sha256  的工作量证明共识算法, 算力来源只有选择共识比特币的节
                 点算力. 莱特币与狗狗币采用哈希函数为             Scrypt 的辅助工作量证明共识算法, 算力来源包括选择共识这两条公链
                 的节点算力. 本文设计公链采用多父链辅助工作量证明共识算法, 该算法在工作量证明共识算法的基础上, 利用哈
                 希函数的性质, 允许采用       Sha256  和  Scrypt 哈希函数和工作量证明共识算法的公链节点提供算力支持. 明显增加了
                 算力来源, 进而提高了区块链的安全性以及算力的利用效率.
                    在难度调整方面, 比特币和莱特币通过一定周期内出块时间与目标时间的比例描述算力的变化情况, 进而调
                 整难度. 而本文设计的公链在此基础上增加了父链多个周期的出块数稳定性以及针对两类父链出块数目比例的因
                 子调整难度, 可以更好地适应多父链辅助工作量证明共识算法和算力变化. 针对算力攻击, 还设计了特殊情况下的
                 难度调整公式, 提高了系统出块的稳定性.
                    在签名算法方面, 比特币和莱特币都采用椭圆曲线数字签名算法, 面对量子计算机的不断突破, 对于其安全性
   117   118   119   120   121   122   123   124   125   126   127