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

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


                  3.2   工作流程
                    在区块链完整的认证存储工作流程中, 用户首先发起并签名交易, 然后将交易广播至网络. 全节点接收交易并
                 进行验证, 随后将有效交易临时存储在内存中的交易池. 接着, 全节点会为新区块创建打包这些交易, 生成区块哈
                 希, 并通过共识机制提交新区块. 在新区块被网络中其他全节点验证和接受后, 全节点将区块中的交易数据及其状
                 态变更写入区块链数据库, 并生成当前账本状态的承诺                 (如  Merkle 根哈希), 以确保数据的不可篡改性和可验证性.
                    此时, 轻节点将请求验证交易或状态的证明. 具体交互过程如下.
                    (1) 轻节点发出请求: 轻节点不存储完整的区块链数据, 当需要验证某笔交易或状态时, 它会向全节点发送数
                 据请求   (如某一交易的存在性证明或某一状态的最新承诺), 包括交易的标识符或状态的哈希.
                    (2) 全节点生成证明: 全节点接收到请求后, 会根据轻节点的请求, 生成相应的交易证明或状态承诺证明. 具体
                 过程包括从区块链中检索到对应的交易或状态数据, 生成                   Merkle 树的验证路径, 并提供最新的区块头信息作为
                 证明.
                    (3) 全节点返回证明: 全节点将生成的证明数据返回给轻节点, 这些证明包括: 交易的存在性证明, 如                            Merkle
                 树的验证路径, 轻节点可以通过此路径验证交易是否确实存在于某个区块中; 状态的承诺证明: 全节点返回最新的
                 状态承诺信息, 以证明该状态自上次提交以来没有被篡改.
                    (4) 轻节点验证证明: 轻节点接收到证明后, 首先使用全节点返回的最新区块头信息来验证交易或状态的完整
                 性. 通过验证   Merkle 路径或状态承诺, 轻节点可以独立确定所请求的数据是否真实可靠, 并更新其本地的区块链
                 状态.
                    (5) 验证结果: 轻节点在验证证明后, 如果验证成功, 则更新其本地状态, 并将其视为有效交易或状态. 如果验
                 证失败, 轻节点将丢弃返回的结果, 并可能尝试从其他全节点获取正确的证明数据.
                    通过这种交互机制, 轻节点可以在不下载整个区块链数据的情况下, 确保交易和状态的真实性和完整性.
                  3.3   威胁模型
                    在抗量子区块链认证存储系统的威胁模型构建中, 我们假设轻节点为诚实验证者, 并特别考虑了全节点作为
                 潜在的攻击者. 这一假设基于以下几个方面的考虑.
                    (1) 轻节点与全节点在资源能力上的差异: 轻节点通常是资源受限的设备, 它们不存储完整的区块链数据, 仅
                 保存区块头信息, 并依赖全节点提供交易证明和状态承诺. 由于轻节点的主要任务是验证由全节点提供的证明数
                 据, 且不具备篡改交易或生成伪造数据的能力, 它们的唯一目标是确保收到的证明数据的真实性和完整性, 因此我
                 们将其设定为诚实的验证者.
                    (2) 全节点在网络中的关键角色: 全节点存储了整个区块链的交易数据和状态信息, 并承担着生成和维护这些
                 信息的责任. 在此过程中, 全节点不仅可以影响账本的状态, 还负责为轻节点提供数据服务. 这种角色使全节点有
                 可能成为攻击的焦点. 例如, 一个不诚实的全节点可能通过量子攻击手段伪造交易证明、篡改状态数据或向轻节
                 点返回错误信息, 试图破坏系统的完整性和安全性. 因此, 全节点在威胁模型中被设定为潜在的攻击者.
                    由于全节点具备量子计算能力, 能够对区块链认证存储构成直接威胁. 该量子敌手可以利用量子攻击算法来
                 破坏区块链系统的安全性. 基于以上分析, 全节点可能采用以下攻击手段.
                    (1) Shor 算法  [8,13] : 该算法能够高效分解大整数, 从而破解     RSA  等基于大数分解问题的公钥密码体系. 攻击者
                 可以利用这一算法来伪造全节点生成的数字签名, 进而插入恶意数据, 轻节点将难以察觉篡改行为.
                    (2) Grover 算法  [10] : Grover 算法可以加速搜索哈希碰撞, 削弱基于哈希的认证存储机制的安全性. 这种量子加
                 速的攻击手段可能导致哈希承诺机制失效, 进而影响轻节点对全节点返回数据的验证结果.
                    (3) 数据伪造和篡改: 作为攻击者, 不可信的全节点可以通过伪造签名, 进而伪造认证信息或插入恶意数据, 使
                 系统无法检测到数据被篡改, 最终破坏区块链系统的完整性和真实性.
                    结合文献    [19] 的安全定义, 我们形式化定义本文所提出的抗量子安全.
                    定义                                                             A 的成功概率为:
                        1 (PQ-EU-CMA). 设  SIG = (kg, sign,vf) 为数字签名方案. 本文定义量子对手
   88   89   90   91   92   93   94   95   96   97   98