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

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


                 hopping attack) [16] , 即共识时矿工选择利益更高的区块链进行共识, 而当该链利益不足时则共识另外一条链, 所以
                 出块算力并不稳定. 最基本的攻击方式有两种: 第               1  种是在一定周期内期增加算力, 使         actualTimespan  减少, 难度
                 公式会增加难度, 由于难度增加后可能导致利益不足, 进行跳矿攻击, 在之后周期算力减少, 而难度增加会使得这
                 个周期时间增加, 影响区块链出块效率. 第            2  种是在一定周期内减少算力, 使得         actualTimespan  增加, 难度公式会
                 减少难度, 由于难度减少后, 进行跳矿攻击, 在之后周期算力增加, 攻击者获得额外收益且难度减少会使得这个时
                 间减少, 降低区块链稳定性.
                  2   区块链系统设计

                    本节从   4  方面介绍系统细节, 分别是系统架构, 多父链辅助工作量证明共识机制、难度调整算法和后量子签
                 名算法应用. 在系统架构方面, 通过样例介绍系统中区块的生成、共识和难度调整的流程. 在多父链辅助工作量证
                 明共识机制部分, 从矿池、父链与子链三方交互的共识流程进行介绍. 在难度调整部分, 将从算法流程、算法应用
                 进行介绍. 在后量子签名算法应用过程中, 将从密钥生成、交易签名、区块扩容等方面介绍修改流程.
                  2.1   系统架构
                    基于多父链辅助工作量证明共识机制的后量子签名区块链和目前常见区块链系统架构基本相同, 如图                                    1  所
                 示, 共包含存储层、网络层、共识层、协议层和应用层, 从下至上具体含义如下.

                                                          系统结构图
                                             应用
                                                    可信存储         去中心化平台
                                             协议
                                                    HTTP 接口       数字钱包

                                             共识
                                                      多父链辅助工作量证明

                                             网络
                                                           P2P 协议


                                             存储
                                                            levelDB


                                                      图 1 系统架构图

                    存储层: 重新定义了区块数据结构, 在底层使用 levelDB 数据库, 存储了采用由                   Sha256  哈希函数和  Scrypt 哈
                 希函数共识的区块和       Dilithium-Prime 后量子数字签名算法的交易.
                    网络层: 使用 Peer-to-Peer (P2P) 协议, 节点之间使用点对点的方式直接通信, 不需要中心化的服务器, P2P 协
                 议提供了节点之间的连接和消息传递机制.
                    共识层: 采用多父链辅助工作量证明共识机制. 对于多父链的辅助工作量证明共识机制, 以使用                              PoW 区块链
                 系统算力较大的两类哈希函数作为父链, 对两类父链设置不同难度, 根据我们设定的一些高效、合理、公平的原
                 则, 用一种全新的难度调整算法自动调整对应父链的难度.
                    协议层: 用于接收交易和返回结果的 HTTP 接口, 也有数字钱包等用于区块链系统使用、升级的模块.
                    应用层: 一般是指在区块链系统中的应用, 包含可信存储等多种功能.
                  2.2   多父链辅助工作量证明共识机制
                    共识机制首先遵循“最长链协议”, 与其他使用              PoW  共识机制的区块链类似, 核心思想是每个节点总是选择并
                 尝试扩展代表最多工作量证明的区块链. 同时为了避免分叉, 设置目标区块出块时间且增加区块大小, 尽可能减少
   108   109   110   111   112   113   114   115   116   117   118