证明你留了这份文件:ERC-7585 MixHash 与公共数据存储证明
NFT 元数据指向一份链下文件时,“谁还保存着这份文件”没有标准答案。ERC-7585 提供了一条博弈路线:公开数据用一种叫 MixHash 的标识钉死,任何人可以提交“我保存了完整副本”的证明换取激励,造假会被更快的挑战者拆穿。2026 年 9 月 9 日在 ethereum/ERCs 仓库核对,该标准状态为 Draft,2023 年 12 月 27 日创建,依赖 ERC-165、ERC-721 与 ERC-1155。
MixHash:把文件大小塞进根哈希
MixHash 是一个 256 位值,高 2 位选哈希算法(二进制 00 为 SHA256,10 为 Keccak256,另两个组合预留),中间 62 位记录文件字节数(上限为二的六十二次方减一字节),低 192 位来自按指定算法构建的默克尔树根。构造分四步:文件切成 1KB 分块、末块零填充;每块算哈希并取低 128 位作叶节点;内部节点同样用 256 位哈希取低 128 位构树;最后把算法、长度、根低 192 位拼合。总长仍是 256 位,替换 Keccak256 或 SHA256 不增加字段成本;标准自评 192 位哈希已足以抵御碰撞攻击,代价是长度信息让安全裕度略有缩水。

存储证明:赌的是“找得到更好的”
证明流程围绕一个从区块高度 h 导出的 256 位 nonce 展开。供应方(Suppliers)为数据 D 造证明时,要把 nonce 追加到每个 1KB 块尾部重算整棵树的根,找出使根最小的块 m,然后把 mix_hash_d、h、m 下标、路径 m_path 和叶值提交到公共网络。验证者能独立核对 m 确属 D(正确性)与 h 的新鲜度(时效性),但无法从证明本身判断“这真是最小的”——于是设计把裁决交给博弈:任何握有全量数据的他人可提交更优的 m 来挑战,网络比较两个结果即可判定旧证明是否伪造;一定窗口内无人挑战,则从博弈论角度视为成立。标准由此强调配套的经济模型:奖励正确、惩罚虚假。
与 NFT 的三种挂接
标准给 ERC-721 与 ERC-1155 各写了扩展接口:tokenDataHash 让合约返回某代币对应公共数据的 MixHash,tokenIdIsMixHash 声明“代币编号本身就是 MixHash”,getPublicDataOwner 按 MixHash 反查登记所有者,verifyDataProof 则把上述验证逻辑放在链上。合在一起,一幅链上艺术作品的引用文件第一次有了可计量的“存续证明”市场。
供应方、验证者与围观者各自的功课
把博弈模型拆到三方视角更清楚。供应方要有全量数据(遍历每个 1KB 块找最小根的成本与文件大小成正比),从区块高度 h 派生 nonce 后构造 {mix_hash_d, h, m, m_path, m_leaf_data} 提交;验证合约一侧,链上能独立完成的是路径正确性与 h 的时效性检查,verifyDataProof 承担的就是这部分代码,算出的 proof_result 会连同窗口期暂存——窗口内无人提交更优证明,该证明被视为成立。第三方挑战者则要握有完整数据,比对 proof_result 后提交更好的 m 即可翻案,伪造者受罚、正确者受赏的经济设计被文本称为“健康竞争”的前提。标准对 NFT 的三种挂法里,tokenIdIsMixHash 最激进:代币编号直接就是 MixHash,编号即文件指纹,市场若不支持变长编号的展示就会水土不服;tokenDataHash 则保守得多,只是给常规代币补一个“指向哪份文件”的只读答案。判断某个项目是否真用上了这套机制,看它有没有链上验证函数和可查的挑战窗口即可,宣传页里的一句“支持存储证明”不算数。顺带给内容创作者一个对照视角:MixHash 路线解决的是“公共文件有人肯留副本吗”,它回答不了“这份 NFT 的图像是否永远能被渲染”,两者常被营销文案混为一谈;在存储激励市场成熟之前,多网关冗余与 IPFS、Arweave 混合锚定仍是更朴素也更可靠的做法,标准本身也把自己定位为这套拼图里偏激励层的实验环节而非唯一答案。
给读者的冷静提示:该标准仍处于 Draft,链上验证成本高、生态采用有限;把 ERC-7585 读成“NFT 文件永久保存的保证”会过头——它证明的是“某个时点有人愿意为这份副本担保”,不是数据永远在线。本文为协议机制科普,不构成任何投资建议;标准状态以 ethereum/ERCs 仓库文本为准(核验时间 2026 年 9 月 9 日)。
发表评论
还没有评论,来说两句吧。
评论区为展示样式,提交不会被处理。