基于哈希的签名: 什么是基于哈希的签名?基于哈希的签名是一类数字签名系统,其安全性主要建立在密码学哈希函数之上,而非椭圆曲线、整数分解或离散对数问题。私钥持有者可以使用这类签名,证明某笔加密货币交易、区块链消息、软件更新或其他数据已获得该密钥授权。验证者可以使用对应公钥,确认签名数据未被更改,且签名由获授权的签名者创建。基于哈希的签名对加密货币尤其重要,因为它们被认为是后量子数字签名技术的主要方案之一。目前常见的区基于哈希的签名: 什么是基于哈希的签名?基于哈希的签名是一类数字签名系统,其安全性主要建立在密码学哈希函数之上,而非椭圆曲线、整数分解或离散对数问题。私钥持有者可以使用这类签名,证明某笔加密货币交易、区块链消息、软件更新或其他数据已获得该密钥授权。验证者可以使用对应公钥,确认签名数据未被更改,且签名由获授权的签名者创建。基于哈希的签名对加密货币尤其重要,因为它们被认为是后量子数字签名技术的主要方案之一。目前常见的区
什么是基于哈希的签名?
基于哈希的签名是一类数字签名系统,其安全性主要建立在密码学哈希函数之上,而非椭圆曲线、整数分解或离散对数问题。私钥持有者可以使用这类签名,证明某笔加密货币交易、区块链消息、软件更新或其他数据已获得该密钥授权。验证者可以使用对应公钥,确认签名数据未被更改,且签名由获授权的签名者创建。基于哈希的签名对加密货币尤其重要,因为它们被认为是后量子数字签名技术的主要方案之一。目前常见的区块链签名依赖某些数学难题,而足够强大的量子计算机可能会威胁这类难题的安全性。基于哈希的系统则依赖密码学哈希函数的安全特性。一般认为,只要采用足够大的安全参数,这类系统在量子计算环境中仍可使用。美国国家标准与技术研究院(NIST)于FIPS 205中标准化了无状态哈希数字签名算法(SLH-DSA)。
XMSS 和 LMS 等有状态方案则由NIST 特别出版物 800-208涵盖。
基于哈希的签名不是加密货币挖矿哈希、钱包地址、交易标识符或普通消息哈希。它们是由基于哈希的构件组成的完整公钥签名系统。数字签名为何对加密货币很重要
数字签名对加密货币至关重要,因为用户可以借此授权交易,而无需透露私钥。钱包发送加密货币时,通常会使用私钥对交易数据进行签名。网络参与者会在接受交易有效之前,使用公开信息验证签名。有效签名表明,该交易由掌控所需签名密钥的人授权。签名还可以保护交易完整性,因为如果签名数据发生更改,验证通常就会失败。数字签名还可用于授权验证者消息、治理投票、智能合约操作、跨链消息、软件发布、预言机更新和多重签名审批。Bitcoin 的公开文档在Bitcoin 网络概述中说明,与发送地址相关的数字签名能够保护交易真实性。
未来,基于哈希的签名有望执行类似的授权功能,同时增强对量子攻击的防护能力。基于哈希的签名如何运作
基于哈希的签名系统以秘密随机值为基础,这些值构成私钥签名材料的一部分。签名者对这些值应用密码学哈希函数,生成相关的公开值。签署消息时,系统会根据消息摘要公开或处理选定的私密值。验证者会对公开的值进行哈希运算,并检查结果是否与预期的公开信息相符。基础的一次性签名系统中,每个私钥只能安全地认证一条消息。Merkle 树可以将多个一次性公钥表示为一个简洁的根值。Merkle 树的根可以充当主公钥。签名中会包含一次性签名和认证路径,以证明该一次性公钥属于已承诺的 Merkle 树。更高级的系统会组合多棵树、一次性签名、少次签名、伪随机密钥生成和分层结构,以支持多次签名。什么是密码学哈希函数?
密码学哈希函数可以将几乎任意长度的数据转换为固定长度的输出。该输出通常称为哈希值、摘要或消息摘要。安全的哈希函数应使人难以从输出中还原原始输入。它还应使人难以找到两个会产生相同输出的不同输入。输入的细微变化应产生差异显著的摘要。加密货币网络会将哈希函数用于交易标识符、区块承诺、Merkle 树、工作量证明系统、地址生成和许多其他用途。基于哈希的签名方案则以这些函数为基础实现公钥认证。签名的安全性取决于所选哈希函数、参数大小、域分离、实现质量和密钥管理规则。基于哈希的签名不等于哈希运算
对交易进行哈希运算,与对交易进行签名并不是一回事。通常任何人都可以计算公开数据的哈希值。数字签名则需要只有获授权签名者才应掌握的秘密信息。普通消息哈希可以显示数据是否发生变化,但不能证明是谁批准了这些数据。基于哈希的签名结合秘密签名材料、公开验证数据和安全的哈希运算,从而实现认证。这一差异很重要,因为加密货币系统使用哈希和签名来实现不同的安全功能。一次性基于哈希的签名
一次性签名方案的设计原则是,每个私钥只能安全地签署一条消息。Lamport 一次性签名方案是最早的实例之一。Lamport 私钥包含许多随机秘密值。公钥包含这些秘密值的哈希值。消息摘要决定签名中会公开哪些秘密值。验证者会对公开的值进行哈希运算,并与公钥进行比较。其主要局限在于,同一私钥如果用于签署多条消息,就会泄露更多秘密信息。重复使用足够多次后,攻击者可能构造出伪造签名。因此,一次性签名是强大的密码学构件,但需要配套系统来创建和认证许多不同的一次性密钥。Winternitz 一次性签名
Winternitz 一次性签名使用哈希链,而非基础 Lamport 签名中更庞大的结构,因此可以缩小签名。Winternitz 参数在签名大小和计算量之间形成权衡。较大的参数值可以减少签名元素的数量,但需要执行更多哈希运算。WOTS+ 是一种改进的 Winternitz 构造,被用于 XMSS 和 SLH-DSA 等现代基于哈希的系统。RFC 8391 中的 XMSS 规范指出,WOTS+ 是 XMSS 及其多树变体的主要构件。
WOTS+ 仍然是一种一次性签名方案,因此通常会放入更大的 Merkle 树结构中,以管理多次签名机会。基于哈希的签名中的 Merkle 树
Merkle 树是一种哈希树,可以通过一个根哈希值承诺多个数据项。每个叶节点都可以代表一个一次性签名的公钥。成对的叶哈希值会组合并再次进行哈希运算,以生成父节点。这一过程不断重复,直至只剩下一个 Merkle 根。Merkle 根是一种简洁的承诺,可以代表树中所有一次性公钥。签名者使用某个叶节点时,签名中会包含 Merkle 认证路径。该路径包含从选定叶节点重建根节点所需的相邻哈希值。验证者会检查一次性签名,然后沿 Merkle 路径计算,直至得到已知根值。这种设计使一个简短的公开承诺能够认证大量一次性密钥。有状态的基于哈希的签名
有状态的基于哈希的签名要求签名者记住哪些一次性签名密钥或叶索引已使用。每次签名后都必须可靠地更新状态。如果重复使用同一个一次性密钥,方案的安全性可能遭到严重破坏。这一要求使有状态方案难以用于涉及备份、多台设备、并行签名者、故障切换服务器或不可靠存储的系统。恢复备份可能会还原到较早状态,导致意外重复使用已消耗的签名材料。使用同一私钥副本的两台签名设备可能选择相同的索引。因此,NIST 警告称,有状态方案需要谨慎管理状态,不适合不受限制地普遍使用。这类方案更适合能够可靠保护并同步签名状态的受控环境。无状态的基于哈希的签名
无状态的基于哈希的签名不要求签名者维护计数器,以记录下一个应使用的一次性密钥。这使其更容易用于备份、分布式系统和多个签名会话。SLH-DSA 是主要的标准化无状态基于哈希的签名算法。它源自提交给 NIST 后量子密码学流程的 SPHINCS+ 方案。SLH-DSA 使用伪随机选择和分层哈希树结构,避免有状态系统中一次性密钥重复使用所导致的灾难性问题。无状态设计更易于安全地进行操作,但代价是签名更大、计算量更高。如果签名随机性或实现规则处理不当,其安全性仍可能下降;但意外的状态回滚不会像有状态密钥重复使用那样立即导致安全性崩溃。有状态与无状态的基于哈希的签名
有状态与无状态的基于哈希的签名之间,最重要的区别在于签名者是否必须追踪已使用的签名索引。如果状态管理完美,有状态系统可以提供高效且基础扎实的签名。无状态系统在操作层面更安全,因为它们不需要永久同步的计数器。有状态系统可能适用于固件签名、证书颁发机构,或签名频率有限且受控的基础设施。无状态系统可能更适合分布式应用、通用软件,以及难以可靠同步状态的环境。区块链验证者网络需要考虑分布式签名、故障切换、备份恢复和频繁生成消息等情况。这些情况可能使状态管理成为最重要的设计问题之一。XMSS
XMSS 是 eXtended Merkle Signature Scheme(扩展 Merkle 签名方案)的缩写。它是一种有状态的基于哈希的数字签名系统,已在RFC 8391中标准化,并获 NIST SP 800-208 批准。
XMSS 使用 WOTS+ 一次性签名和 Merkle 树构建更完整的签名系统。每次签名都会消耗树中的一个特定叶节点。签名者必须确保同一个叶节点绝不被使用两次。XMSS 的安全基础较为扎实,因为其安全性证明主要依赖密码学哈希函数的既定特性。XMSS 公钥相对较小,但其签名远大于当前加密货币账户常用的签名。如果长期抗量子能力比签名大小更重要,且能够安全管理签名者状态,XMSS 便可能适用。XMSS 多树结构
XMSS 多树结构通常写作 XMSSMT,会将多个 XMSS 树组织成层级结构。上层树会对下层树的根进行签名。这种设计无需构建一棵极大的树,就能支持更多次签名。它还可以在密钥的整个使用周期内更有效地分配计算量。签名者仍必须追踪状态,因为下层的一次性密钥不能安全地重复使用。XMSSMT 已纳入 RFC 8391 和 NIST 的有状态基于哈希签名建议。LMS
LMS 是 Leighton-Micali Signature(Leighton-Micali 签名)的缩写。它是另一种获 NIST 批准的有状态 Merkle 树签名系统。该方案载于RFC 8554。
LMS 使用一种称为 LM-OTS 的一次性签名构造,并通过 Merkle 树认证多个 LM-OTS 公钥。与 XMSS 一样,LMS 要求签名者防止重复使用一次性签名索引。它的安全性基于密码学哈希函数,而非许多传统公钥系统所使用的数论假设。LMS 常用于代码签名和固件认证等应用场景,在这些场景中,签名操作可以集中管理。分层签名系统
分层签名系统通常称为 HSS,可将多个 LMS 树组合成层级结构。顶层 LMS 密钥会对下层 LMS 树的公钥进行签名。随后,下层树用于签署普通消息。这种结构可以支持更多签名,并允许在下层密钥的一次性叶节点耗尽后更换该密钥。HSS 并未消除状态管理要求。每棵正在使用的 LMS 树仍需要正确追踪已使用的签名索引。HSS 和 LMS 一同纳入 RFC 8554,并获 NIST SP 800-208 批准。SLH-DSA
SLH-DSA 是 Stateless Hash-Based Digital Signature Algorithm(无状态哈希数字签名算法)的缩写。NIST 于 2024 年 8 月 13 日发布了最终版FIPS 205 标准。
该算法源自 SPHINCS+,后者经过了 NIST 后量子密码学标准化流程的评估。SLH-DSA 使用由 Merkle 树构成的超树、WOTS+ 和名为 FORS 的少次签名组件。该系统不需要维护持久的签名者状态,因此比 XMSS 或 LMS 更容易用于备份和分布式操作。SLH-DSA 支持不同参数集,可基于 SHA-2 或 SHAKE 哈希函数,并适用于不同的安全性和性能目标。更快的参数集通常会生成更大的签名,而签名较小的参数集则需要更多处理时间。SLH-DSA 提供较为保守的后量子安全性,但其签名明显大于当前许多区块链系统使用的签名。SPHINCS+ 与 SLH-DSA
SPHINCS+ 是提交给 NIST 后量子密码学竞赛的算法。SLH-DSA 是由该方案衍生而来的标准化版本。这两个名称相关,但在技术实现中不应始终视为完全可以互换。声称符合 FIPS 205 的系统必须实现标准化的 SLH-DSA 要求和获批参数集。开发者应遵循正式标准,而不能假定任何早期 SPHINCS+ 实现都自动符合 SLH-DSA。FORS
FORS 是 Forest of Random Subsets(随机子集森林)的缩写。它是 SLH-DSA 中使用的一种少次签名组件。FORS 会将消息摘要转换为从多棵小树中选取节点的操作。选定的秘密值和认证路径会成为签名的一部分。生成的 FORS 公共值随后会通过更大的 SLH-DSA 超树进行认证。FORS 帮助无状态系统在不维护简单的一次性密钥计数器的情况下签署多条消息。它也是 SLH-DSA 签名数据远多于普通椭圆曲线签名的原因之一。为什么基于哈希的签名被视为后量子技术
目前许多公钥签名依赖离散对数或相关数论问题的求解难度。Shor 量子算法能够在足够强大的容错量子计算机上高效求解其中若干问题。基于哈希的签名不依赖这些问题。其安全性主要取决于抗原像性、抗第二原像性、抗碰撞性、伪随机生成以及相关的哈希函数特性。量子算法仍可能降低哈希搜索的有效安全性。Grover 算法可以对某些暴力搜索提供平方根级的加速。通过使用足够大的哈希输出和保守的参数,可以应对这种影响。因此,基于哈希的签名被称为抗量子或后量子签名,而不是在数学上不可能遭到攻击的签名。量子计算对加密货币签名的风险
大型容错量子计算机可能威胁当前加密货币网络使用的多种签名算法。如果攻击者能够从公开的公钥信息中还原私钥,就可能授权未经授权的交易。验证者签名、跨链桥签名者、多重签名系统、治理账户和长期使用的金库密钥也可能成为攻击目标。威胁并不只涉及存放在普通钱包中的币。共识协议和跨链通信系统也可能依赖容易受到类似量子算法攻击的签名方案。目前尚无公开展示的量子计算机达到所需规模和纠错能力,能够针对主要区块链密钥实施此类攻击。不过,区块链迁移可能需要数年,因为钱包软件、共识规则、硬件设备、应用、托管流程和用户资金都需要协调更新。NIST 建议组织通过其后量子密码学项目,开始识别易受攻击的密码技术并规划迁移。
基于哈希的签名与 Ethereum
Ethereum 目前使用的签名系统并非为抵御能力足够强大的量子计算机而设计。其共识层依赖 BLS 签名,而普通外部拥有账户通常使用椭圆曲线签名。Ethereum Foundation 当前的后量子路线图讨论了将验证者签名替换为一种名为 leanXMSS 的基于哈希的设计。
该路线图将 leanXMSS 作为研究方向,而非已经完成的主网迁移。基于哈希的验证者签名会带来重大扩容挑战,因为它们远大于当前的 BLS 签名。Ethereum 研究人员正在探索证明聚合技术,以便通过较小的证明验证多个大型签名。Ethereum 后量子研究门户介绍了基于哈希的签名、密码学敏捷性、验证者认证和基于证明的聚合等方面的工作。
Ethereum 最终如需进行任何改动,都需要研究、实现、测试、社区审查和协议升级协调。基于哈希的验证者签名
验证者会对与区块提议、证明、最终确定和共识参与相关的消息频繁签名。替代签名方案必须支持高消息量,同时不能使网络带宽或存储负担过重。有状态签名会带来额外风险,因为验证者可能运行备份系统,或在不同机器之间切换。状态同步不正确可能导致一次性签名密钥被重复使用。无状态签名可以避免这一特定故障,但会产生更大的签名,并增加验证工作量。因此,区块链研究人员正在研究聚合、递归证明、专用硬件和协议重新设计,以使基于哈希的验证者签名切实可行。基于哈希的签名与加密钱包
如果区块链支持所需的验证规则,加密钱包便可使用基于哈希的签名密钥来授权交易。钱包需要生成适当的私钥、计算签名、追踪任何必需的状态,并构造兼容的交易。有状态钱包签名会带来严重的备份和多设备使用难题。用户恢复旧备份时,可能意外重复使用已消耗的签名索引。使用同一有状态密钥的移动钱包和硬件钱包也可能导致状态冲突。无状态的基于哈希的签名更容易备份,但可能会生成大得多、处理成本也更高的交易。钱包开发者还必须考虑种子生成、密钥轮换、地址设计、硬件支持、用户恢复,以及从旧签名系统迁移等问题。基于哈希的签名与智能合约钱包
智能合约钱包有时可以支持新的签名算法,而无需替换区块链中每个账户的基础签名规则。合约可以为基于哈希的公钥加入自定义验证逻辑。用户可以提交基于哈希的签名,由合约按照编程规则进行验证。这种方法可能让用户在全网迁移之前试用后量子账户。不过,链上验证可能需要大量哈希运算,并消耗可观的区块空间或执行资源。开发者必须权衡安全收益、交易成本、合约复杂度和拒绝服务风险。未来,证明系统或许可以让合约验证某个较大基于哈希的签名有效性的简洁证明。基于哈希的签名与账户抽象
账户抽象允许账户使用可编程授权规则,而不必完全依赖单一固定签名算法。抽象账户未来可能接受传统签名、基于哈希的签名、多重签名策略,或由其他认证系统生成的证明。这种灵活性可能让后量子迁移更容易,因为在协议层强制使用抗量子签名之前,用户就可以更新账户验证逻辑。账户抽象也会带来安全责任,因为升级密钥、恢复模块和验证合约可能引入新的攻击途径。如果攻击者可以通过薄弱的恢复模块或管理密钥绕过签名,那么后量子签名也无法保护账户。基于哈希的签名与多重签名安全
多重签名系统要求多个获授权密钥共同批准某项操作。基于哈希的签名可以作为独立签名方式纳入多重签名安排。混合策略可以同时要求传统签名和基于哈希的签名。如果其中一种密码学体系失效,而另一种仍然安全,这种方法便可能提供保护。不过,混合系统会增加交易大小和验证复杂度,也会使恢复流程更困难。系统必须明确规定是否需要所有签名,还是任意一种签名即可。设计不当的备用规则可能抵消更强签名的优势。混合签名
混合签名将两种或更多密码算法的签名结合起来。其中一种组件可能使用当前的椭圆曲线算法,另一种则使用 SLH-DSA 或其他后量子系统。这样做的目的是在一种算法日后被攻破时仍能维持安全性。NIST 的后量子密码学常见问题讨论了用于数据和数字证书的双重签名方法。
混合迁移可以减少对新算法的依赖,避免在该算法尚未经过数十年部署检验前就完全依赖它。这种方案也会增加实现复杂度,并要求明确规定如何组合两种验证结果。如果只要任意一种签名验证通过,交易就有效,那么即使较弱的方案被攻破,也可能足以攻击账户。如果要求两种签名都通过,账户就仍依赖两套系统都可用且运行正确。基于哈希的签名与区块空间
与紧凑的椭圆曲线签名相比,基于哈希的签名可能占用更多区块空间。如果不调整容量或聚合方式,交易变大就会减少单个区块可容纳的用户操作数量。更多数据还可能增加带宽、存储、传播时间和历史数据同步方面的要求。对于每个验证节点都要处理相同数据的基础层区块链,这些成本尤为重要。通过零知识证明或专用协议进行签名聚合,可能减少每个节点必须直接验证的数据量。但聚合本身会引入额外的密码学假设、证明成本、延迟和实现复杂度。签名大小
签名体积较大,是基于哈希的签名在实践中的主要缺点之一。根据参数集不同,SLH-DSA 签名可能包含数千字节或数万字节。XMSS 和 LMS 签名也远大于常见的椭圆曲线签名。对于偶尔进行的软件更新或根证书签名而言,大型签名或许可以接受。但在每个字节都可能带来网络和手续费成本的高频区块链交易中,这类签名更难使用。参数选择必须在签名大小、签名速度、验证速度、最大签名次数和安全级别之间取得平衡。公钥大小
由于 Merkle 根可以承诺多个一次性密钥,基于哈希的签名公钥可能相对紧凑。与分别存储所有一次性公钥相比,这是一个重要优势。公钥紧凑并不能消除签名的成本,因为仍需提供认证路径和一次性签名数据。在区块链系统中,公钥大小会影响账户创建、状态存储、交易见证数据和证明构建。私钥大小
基础的基于哈希的私钥可能包含大量随机秘密值。现代方案通常使用较小的主种子,通过伪随机方式生成其中许多值。这可以减少存储需求,但主种子也因此变得极其敏感。主种子一旦泄露,所有派生的一次性签名密钥都可能暴露。有状态方案必须同时保留秘密种子和当前签名索引。如果只备份种子而不保存最新状态,就可能有危险,因为恢复备份后可能导致密钥重复使用。签名速度
基于哈希的签名需要执行大量哈希计算和树操作。有些参数集通过生成更大的签名来实现更快的签名速度。其他参数集可以缩小签名,但需要更多计算。有状态系统可以预先计算树节点或认证路径,以提高签名速度。预计算会增加存储和状态管理要求。区块链钱包和验证者必须评估能否在严格的时间限制内生成签名。验证速度
验证过程同样需要多次哈希计算。哈希运算通常较简单、应用广泛,也适合硬件加速。不过,如果每个区块都要验证数千个大型签名,总体成本仍可能相当可观。区块链必须考虑最坏情况下的验证负载,因为攻击者可能提交大量结构有效但验证成本高昂的交易。手续费规则和交易限额可能需要体现实际验证成本。状态管理风险
状态管理是 XMSS、LMS、XMSSMT 和 HSS 在操作层面的核心风险。签名者必须在签名期间或之前记录每个已用的一次性索引,并确保系统崩溃或断电后仍能保留记录。状态更新必须是原子操作,避免系统生成签名却未能保存新状态。不得让备份副本使用过期索引进行签名。高可用系统必须协调多台机器,避免重复使用索引。可以使用安全硬件来强制执行单调计数器,或隔离签名状态。NIST 的有状态方案建议将这类方案限制在能够严格控制密钥和状态的环境中。侧信道安全
基于哈希的签名具有吸引力的一个原因是,哈希函数相对简单,可以通过常规操作实现。与某些复杂的数论算法相比,这可能使其更容易抵御某些计时、功耗分析或电磁侧信道攻击。但这并不意味着它们天然免受侧信道攻击。依赖秘密数据的分支、内存访问、随机数生成、故障注入和密钥处理代码仍可能泄露信息。硬件钱包和验证者的实现必须在必要时采用经过审查的恒定时间技术。随机数要求
生成基于哈希的私钥和种子时,安全随机性至关重要。如果秘密值可预测,攻击者就可能还原签名密钥。一些方案还会在每次签名时使用随机数,以防御多目标攻击或隐藏确定性关联。随机数生成器出现缺陷,可能削弱数学上安全的算法。钱包应通过可信的密码学随机数来源生成密钥材料,而不是使用时间戳、用户自选短语或普通应用程序随机函数。密钥耗尽
有状态的基于哈希的密钥支持安全签名的次数有限。签名次数上限取决于所选 Merkle 树的高度和层级结构。所有获准的一次性密钥用完后,必须停用该密钥对。超过设计容量继续使用密钥,可能导致重复使用密钥或签名无效。系统必须监控剩余容量,并在耗尽前轮换密钥。需要签署大量消息的区块链验证者尤其需要谨慎规划密钥容量。密钥轮换
密钥轮换是指用新签名密钥替换旧密钥。有状态系统可能需要在 Merkle 树即将耗尽、参数发生变化或密钥可能已泄露时进行轮换。在可能的情况下,应由旧密钥对新公钥进行认证。区块链协议必须规定账户、验证者、跨链桥和治理系统如何更新获授权的密钥。迁移流程应防止攻击者替换成自己的密钥。如果旧密钥在完成轮换前丢失,用户也需要明确的恢复流程。长期验证
基于哈希的签名可能适用于需要多年保持可验证性的记录。例如协议发布、历史检查点、固件镜像、创世文件和治理决策。要实现长期验证,仍需保留已签名数据、公钥、算法标识符、参数集和所需的哈希函数。如果哈希函数日后安全性下降,系统可能需要加时间戳、重新签名或迁移。后量子并不意味着签名无需维护便能永远保持安全。用于软件发布的基于哈希的签名
加密货币用户经常会安装钱包应用、节点客户端、验证者软件、固件和开发者工具。发布签名有助于用户确认下载的软件来自获授权的开发团队,且在签名后未被篡改。由于软件发布的频率低于区块链交易,基于状态的哈希签名可能适用于此类场景。发布团队可以控制签名设备,并谨慎管理签名索引。后量子发布签名有望保护生命周期较长的软件供应链,抵御未来针对传统签名算法的攻击。用户仍必须通过可信来源验证公钥。硬件钱包固件的哈希签名
硬件钱包会安装固件,以控制密钥生成、交易显示和签名行为。恶意固件更新可能窃取私钥,或显示虚假的交易信息。制造商可以对固件进行签名,让设备只接受经过授权的更新。由于更新频率有限,而且抗量子能力可能具有价值,哈希签名可作为长期固件身份验证的一种选择。更新机制还必须防止回退到存在漏洞的旧版固件。安全启动、硬件信任根、版本计数器和受保护的公钥仍不可或缺。桥和预言机的哈希签名
跨链桥和预言机通常依赖委员会、运营者或分布式节点的签名。这些签名可能授权资产转移,或报告会影响大量加密资产价值的信息。如果底层算法变得脆弱,长期使用的公钥可能成为量子攻击目标。哈希签名有望为委员会消息提供更强的后量子保护。但较大的签名和状态要求仍可能增加链上验证成本。如果智能合约、治理机制、经济假设或验证者门槛设计不当,跨链桥仍然容易受到攻击。更换签名算法并不能解决跨链桥或预言机的所有风险。Layer 2 网络的哈希签名
Layer 2 网络会使用排序器、证明者、验证者、委员会或其他系统,在基础区块链之外处理交易。这些参与者可能会对批次、状态根、数据可用性声明或跨层消息进行签名。哈希签名有望保护这些消息免受未来量子攻击。Layer 2 可以先将多个签名聚合为一个证明,再将数据发送到基础层。这样可以降低链上验证成本,同时在链下保留后量子签名策略。整体设计的安全性取决于证明系统、数据可用性、升级密钥、跨链桥合约和争议处理规则。哈希签名与零知识证明
零知识证明系统有助于压缩大量哈希签名的验证过程。证明者可以在电路中验证多个签名,并生成一个较小的证明来证明验证结果正确。区块链验证的是该证明,而不是逐一直接处理每个签名。这种方法可以减少区块空间占用和验证成本。但它也会引入所选证明系统的假设和实现风险。证明生成速度还必须满足网络的时效要求。Ethereum 当前的后量子研究正在探索这一方法,以聚合大量验证者签名。密码学敏捷性
密码学敏捷性是指无需重新设计整个系统,就能替换或新增密码学算法的能力。这对区块链十分重要,因为不应假设任何签名算法能够永远保持安全。具备密码学敏捷性的钱包可能支持多种签名类型,并通过经过身份验证的升级流程迁移资产。具备密码学敏捷性的协议可能使用带版本的公钥、可编程账户验证或可升级的共识验证。敏捷性不能导致系统轻易降级到较弱算法。每一种受支持的算法、回退规则和迁移密钥都会成为攻击面的一部分。从现有加密签名迁移
要将区块链从传统签名迁移到哈希签名,仅发布新的钱包软件远远不够。网络需要能够识别新的公钥和签名格式。节点需要更新验证规则。钱包需要生成、存储、备份和轮换新密钥。用户需要将资产从旧账户转移到受保护的账户。验证者、跨链桥、智能合约、治理系统和托管策略都需要升级。闲置资产会带来棘手问题,因为其所有者可能无法在量子威胁迫近之前完成迁移。协议设计者可能需要针对公钥已暴露的情况、旧账户类型和长期无人使用的资产制定紧急规则。先存储,后攻击
“先存储,后攻击”通常指今天收集加密数据,待量子计算机能力提升后再将其解密。加密货币签名也存在相关但不同的问题。区块链数据永久公开,因此未来可以对已暴露的公钥和历史签名进行研究。攻击者通常不能仅凭后来发现的私钥,就更改已经最终确认的交易。但攻击者可能窃取仍由同一脆弱密钥控制的资金,或攻击仍信任该密钥的系统。因此,长期使用的国库账户、重复使用的地址、验证者身份和跨链桥密钥都需要尽早规划迁移。哈希签名的优势
哈希签名的主要优势在于,它是后量子签名候选方案中安全基础较强的一类。这些构造主要依赖经过充分研究的密码学哈希函数。它们不依赖受到 Shor 算法威胁的离散对数问题。多个方案已纳入 NIST 和 IETF 的正式标准。哈希运算已得到广泛实现,在硬件和软件中都能有良好表现。Merkle 树可以用一个根来表示多个一次性公钥。无状态设计降低了重复使用签名索引所带来的操作风险。有状态设计则可用于受控、低频的签名环境。哈希签名的缺点
哈希签名最大的缺点是签名体积较大。较大的签名会增加加密货币交易手续费、区块传播时间、存储需求和验证带宽。有状态方案要求严格管理索引;如果备份或并行签名者重复使用状态,可能会造成严重后果。无状态方案避免了永久状态,但通常需要更多数据和计算。许多现有钱包芯片、智能合约、节点客户端和区块链协议目前并不支持这些算法。哈希签名也缺少某些现有签名系统所具备的紧凑原生聚合特性。基于证明的聚合或许能解决部分问题,但会引入另一层复杂的密码学机制。哈希签名坚不可摧吗?
哈希签名并非坚不可摧。其安全性取决于底层哈希函数的强度,以及整个构造是否正确。薄弱的随机数生成器可能泄露私有签名材料。软件漏洞可能导致认证路径计算错误。状态重复使用可能摧毁有状态方案的安全性。侧信道攻击可能泄露机密数据。恶意更新可能替换用于验证的公钥。未来的密码分析发现可能削弱所选哈希函数或参数集。后量子抗性针对的是特定类别的攻击,并不能防范所有安全故障。关于哈希签名的常见误解
一种常见误解是,区块链中的每一种哈希都已能提供抗量子的交易授权。交易哈希用于标识数据,但不能取代授权支出的数字签名。另一种误解是,哈希输出很小,所以哈希签名自然也很小。完整签名还包括一次性签名数据、认证路径和其他结构信息。第三种误解是,只要保护好私有种子,有状态签名就安全了。它们还要求对当前签名状态进行完全保护。第四种误解是,抗量子就意味着免疫所有攻击。实现漏洞、网络钓鱼、恶意软件、治理失效和智能合约漏洞仍然可能存在。第五种误解是,区块链可以立即采用新的签名格式。迁移需要协议、钱包、硬件、托管、应用和用户之间的协同配合。哈希签名系统安全检查清单
只使用经过审查且参数集明确的算法。使用密码学安全的随机数生成器生成私有种子。通过安全硬件或精心设计的密钥管理系统保护主种子。如果没有安全的状态协调设计,切勿将有状态私钥复制到两个独立签名者。确保状态更新具备原子性,并能抵御断电或回滚。监控 XMSS、LMS、XMSSMT 或 HSS 密钥剩余的签名容量。对密钥轮换进行身份验证,防止攻击者替换新公钥。严格按照标准要求使用域分离。使用官方测试向量和独立实现测试互操作性。在现有方案变得不安全之前,提前规划算法迁移。常见问题
什么是哈希签名?
哈希签名是一种数字签名,其安全性主要依赖密码学哈希函数和哈希树构造。哈希签名为何对加密货币很重要?
它们或可为钱包、验证者、跨链桥、治理系统、软件发布和其他区块链基础设施提供后量子授权。哈希签名能抵御量子攻击吗?
在使用安全的哈希函数和足够强的参数时,哈希签名被认为能够抵御量子攻击,不过量子算法仍会降低部分暴力破解安全裕度。什么是 SLH-DSA?
SLH-DSA 是 NIST 在 FIPS 205 中标准化的无状态哈希数字签名算法。SLH-DSA 与 SPHINCS+ 相同吗?
SLH-DSA 是源自 SPHINCS+、经 NIST 标准化的算法,但实现时应遵循 FIPS 205,不能假定所有早期版本的 SPHINCS+ 都完全相同。什么是 XMSS?
XMSS 是一种有状态 Merkle 树签名系统,使用 WOTS+ 一次性签名,并要求谨慎跟踪已使用的签名索引。什么是 LMS?
LMS 是一种有状态哈希签名方案,将 LM-OTS 一次性签名与 Merkle 树认证相结合。什么是 HSS?
HSS 是一种分层系统,可连接多个 LMS 树,使密钥结构能够支持更多签名。有状态签名与无状态签名有什么区别?
有状态签名要求签名者跟踪已使用的一次性密钥,而无状态签名则无需维护永久签名计数器。为什么重复使用状态很危险?
重复使用一次性签名密钥可能泄露足够的机密信息,从而削弱甚至破坏有状态哈希签名方案的安全性。什么是 Merkle 树签名?
Merkle 树签名使用 Merkle 根,通过简洁的基于哈希的认证路径验证多个一次性公钥。什么是 WOTS+?
WOTS+ 是一种 Winternitz 一次性签名构造,是 XMSS 和 SLH-DSA 使用的基础组件。什么是 FORS?
FORS 是一种少次签名构造,在 SLH-DSA 中用于签署消息摘要,之后再通过超树验证结果。主要区块链目前已使用哈希签名吗?
哈希签名尚未成为大多数主要区块链网络的常规交易签名,不过相关研究和专门部署正在不断增加。Ethereum 目前使用哈希签名吗?
Ethereum 目前尚未将其用作标准验证者签名或用户签名,但其后量子研究路线图正在探索 leanXMSS 和基于证明的聚合。智能合约可以验证哈希签名吗?
智能合约可以实现兼容的验证逻辑,但计算和交易数据成本可能较高。哈希签名为什么这么大?
哈希签名必须包含一次性签名值、Merkle 认证路径以及将消息签名与公钥根关联起来所需的其他信息。哈希签名可以聚合吗?
哈希签名通常缺少某些现有方案所具备的紧凑原生聚合能力,但证明系统有望聚合其验证结果。硬件钱包可以使用哈希签名吗?
只要硬件钱包具备兼容固件、安全密钥存储、足够的处理能力,以及必要时安全处理状态的能力,就可以支持哈希签名。哈希签名可以取代加密吗?
不能。签名用于身份验证和完整性校验,而加密旨在保护信息机密性。我可以将现有加密私钥转换为哈希密钥吗?
安全迁移通常需要生成新的哈希密钥对,并按照现有账户或协议规则授权新公钥。哈希签名比所有其他后量子方案都安全吗?
哈希签名具有保守的安全基础,但安全性还取决于性能需求、实现质量、密钥管理、参数和外围协议。XMSS 和 LMS 的主要风险是什么?
主要操作风险是由于备份回滚、并行签名或状态更新失败,意外重复使用一次性签名索引。SLH-DSA 的主要风险是什么?
其主要实际局限是签名较大且计算量较高,同时实现错误和随机性故障仍会带来安全隐患。量子计算机会立即攻破加密货币吗?
目前尚无已展示的量子计算机能够对主要区块链密钥实施所需攻击,但迁移必须尽早开始,因为全球协议变更需要大量准备工作。结论
哈希签名是主要由密码学哈希函数、一次性签名和 Merkle 树认证构成的数字签名系统。它们与加密货币密切相关,因为它们为交易和验证者身份验证提供了一条可信路径,有望抵御已知的量子计算攻击。XMSS、XMSSMT、LMS 和 HSS 等有状态方案可以提供强大的安全性,但必须准确跟踪每一个已使用的签名索引。恢复旧备份,或在两台设备上使用同一个有状态密钥,都可能意外重复使用签名材料,严重削弱密钥安全性。无状态的 SLH-DSA 无需维护永久状态,并于 2024 年 8 月通过 FIPS 205 成为 NIST 正式标准。代价是,SLH-DSA 签名远大于当前加密货币账户和验证者通常使用的签名。较大的签名会影响交易手续费、区块空间、带宽、存储、同步和验证成本。因此,区块链研究人员正在研究账户抽象、混合签名、零知识聚合、可编程验证和密码学敏捷性。Ethereum 当前的后量子研究包括哈希验证者签名,以及旨在压缩其验证过程的证明系统。哈希签名无法解决所有加密安全问题。钱包恶意软件、助记词窃取、网络钓鱼、智能合约漏洞、治理薄弱、不安全的跨链桥、随机性错误和实现错误仍可能造成损失。应将哈希签名视为强大的身份验证技术,而非完整的安全解决方案。对加密货币网络而言,长期挑战不仅是选择一种抗量子签名算法。更大的挑战是迁移数十亿美元规模的账户、应用、验证者系统和基础设施,同时避免影响网络安全,并防止闲置用户被落下。哈希签名为这一转型提供了最成熟、设计最为审慎的基础之一。您可能也喜欢
反恐融资(CTF)
反恐怖主义融资(CTF)是指旨在发现、预防和打击恐怖主义活动资金支持的法律、法规和活动。这包括监控和监管资金流动、在金融机构内部实施合规计划,以及执行旨在遏制恐怖主义融资的国际制裁和法规。 反恐融资在各领域的重要性 反恐融资在包括银行业、科技和国际贸易在内的各个领域都至关重要。在金融领域,强而有力的反恐融资措施可确保银行和其他金融机构不会被恐怖组织利用为其活动提供资金。这不仅有助于维护金融体系的完
2025/12/23 18:42
框架
在专业情境中,「框架」指的是一套结构化的指南、工具或实践,旨在支援专案、应用程式或系统的开发和实施。它提供了一种标准化的方法来解决复杂问题或实现特定目标,通常包含可根据具体需求进行调整和扩展的预先建置元件。 框架的关键特征 框架在软体开发、专案管理和数位行销等各个领域都至关重要。例如,在软体开发中,Angular、React 和 Django 等框架提供了开发人员用来高效建立高品质应用程式的程式库
2025/12/23 18:42
波动性爆发
「波动性爆发」是指金融市场、资产或指数的波动性突然显著增加,通常由不可预见的事件或市场情绪变化所驱动。这种突如其来的增加会导致价格大幅波动和交易量激增,从而影响投资者和交易者的风险和机会。 了解波动性爆发 波动性是衡量特定证券或市场指数收益分散程度的统计指标,显示资产价格在特定期间内的波动幅度。当这种波动超出正常水平时,就会发生波动性爆发,这通常是对意外新闻或经济事件的反应。这些事件可能包括地缘政
2025/12/23 18:42
热门
目前热门备受市场关注的加密货币
最高成交量
按交易量计算交易量最大的加密货币

