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) 为数字签名方案. 本文定义量子对手

