越用越少的密钥怎么存:EIP-8310 给 XMSS 定的保管规则 图 1
越用越少的密钥怎么存:EIP-8310 给 XMSS 定的保管规则 · 图 1

普通签名密钥可以随便备份:拷十份、随便恢复哪份都一样。但有几类密钥越用越少,每签一次就消耗掉内部的一块材料,用旧备份恢复等于把用过的钥匙重新塞回锁里——轻则报错,重则整个密钥体系当场报废。EIP-8310(Post-Quantum Keystore for Stateful Keys)就是给这类”消耗型密钥”设计的容器格式,2026 年 6 月 19 日提交,状态 Draft,依赖 ERC-2335 与 EIP-3076。

为什么 BLS 那套容器不够用

背景是 Lean Ethereum 路线把验证者签名从 BLS 换成 XMSS——一种基于哈希的抗量子签名方案。XMSS 的每个签名消耗一个一次性密钥”叶子”,同一个叶子签两条不同消息就等于把伪造权送给旁观者,规范把这叫 key-destroying。而 ERC-2335 时代的所有工具链默认三条假设:密钥文件永不变化、可以随意复制多份、任何时候恢复都安全。消耗型密钥把三条全打破了——文件必然变化、复制必然危险、恢复旧文件可能致命。这份 EIP 的主体不是加密包装(那只是 AES-256 与 AEAD 的小升级),而是围绕”状态权威”的整套纪律。

越用越少的密钥怎么存:EIP-8310 给 XMSS 定的保管规则 图 2
越用越少的密钥怎么存:EIP-8310 给 XMSS 定的保管规则 · 图 2

高水位线与状态的权威在哪里

规范引入一组术语:签名消耗的叶子编号叫 leaf index;已被(或保留为已)消耗的最大编号叫 high-water mark;而权威状态(authoritative state)是这台签名器唯一该信的那份记录——规范明确写着:权威状态不是 keystore 文件本身。签名模式分两种:同步模式下叶子编号是共识位置的函数(哪个 slot 签什么固定),权威在 slashing 保护数据库;计数器模式下编号自由递增,权威在一个专门原子更新的存储里。文件里的容量快照被定义为”非权威”,只用来提醒余量,不可拿来做决定。

签一次名的五步顺序

EIP-8310 用 MUST 语言规定了顺序:确定候选叶子编号;确认它严格大于高水位线;把推进后的高水位线持久化——写盘、fsync、原子改名,一步不少;然后才计算签名;最后才把签名交给调用方。先交签名后落盘被明确定性为违规:进程在两秒之间崩溃,重启后同一个叶子会被再签一次。这类”顺序即安全”的条款和助记词和私钥不是一回事:一个是根,一个是枝,泄露的代价完全不同讲过的助记词导入事故属于同一主题:密钥系统的错误往往不报错,只在远处爆炸。

导入导出:备份纪律的反直觉之处

规范的导入导出条款直接改写运维习惯:导出一份消耗型密钥必须携带或指向它的权威状态;只带文件不带状态的导出可以存在,但必须打上”仅供恢复与核验”的标记,任何客户端不得拿它签名;恢复时如果检测到高水位线倒退,实现必须拒绝签名而不是默默继续。翻译成用户语言:对这类密钥,“多备几份总没坏处”是错的,旧备份是危险资产;真正要备份的是那台签名器的状态库,方式和助记词的物理备份完全不同,思路可对照把助记词拆成几张卡片保管:SLIP-39 门限备份的规则怎么算的门限拆分——但门限方案在这里同样要回答”每份卡片都带着过期状态”的问题。

为什么它和助记词的备份哲学相反

助记词的备份口诀是”多处存放、任取其一”;消耗型密钥的口诀恰好反过来:“单点权威、备份只读”。原因是恢复语义不同:助记词是无状态的,恢复哪份都一样;XMSS 密钥恢复错版本,轻则签名被拒,重则同叶子双签毁掉整条信任链。实操上可行的分工是:签名器本机的状态库是唯一可写权威,异地存放的加密文件只承担机器全毁时的最后核验,启用前必须先与最新状态对账。验证者运维里成熟的双签防护数据库在这份规范里被正式承认为同步模式的权威存储,说明它不是新发明,而是给既有防线补了一个标准容器——这也解释了为什么 EIP-8310 坚持复用 EIP-3076 的思路:换机器时连历史一起搬,而不是只搬钥匙。

现状

提案仍是草案,面向的是验证者客户端与密钥管理工具的作者,个人钱包短期内不会直接生成 v5 keystore。值得现在读它的原因,是它把”密钥有状态”这件事写成了可执行规范:高水位线、权威状态、提交先于签名——三条概念将来大概率会出现在更多签名体系的产品设置页里。格式字段与各 EIP 状态以官方仓库为准。本文为机制科普,不构成投资建议。