同一个键名互不覆盖:ERC-7406 多命名空间链上登记处的结构
链上登记是 NFT 生态的基础设施:合约地址和名字的对应关系、元数据字段的权威解释、各家工具的注册表,都需要一份有历史可查的公共账本。问题在于,多条公共记录挤在同一命名空间里,迟早互相覆盖或撞名。ERC-7406(Multi-Namespace Onchain Registry,多命名空间链上登记处)给出的办法很朴素:给每条记录前面再加一层命名空间,同一个键在不同空间里各归各的。按 ercs 仓库记录,该提案状态为 Draft,创建于 2023 年 7 月 23 日。
登记项的形状:命名空间加键,各自挂所有者与解析器
标准把登记处描述为以命名空间(namespace)和键(key)两个 bytes32 值定位的映射集合。每个(namespace, key)组合挂两个角色:owner(所有者)与 resolver(解析器地址)。查询接口是 resolver(namespace, key),返回该条目当前登记的解析器地址。写入接口分三类:setOwner 只在当前所有者调用下转移条目归属,事件用 Transfer 记录;setResolver 由所有者设置解析器,发出 NewResolver;createNamespace 创建一个新命名空间并发出 NewNamespace 事件。所有关键事件都以 namespace 和 key 作为索引参数,索引器可以按空间或按键高效过滤历史。
提案特别强调:同一个键在不同命名空间下是完全独立的条目,可以有不同的所有者和解析器。这正是”多命名空间”的意义——以太坊社区风格的名字登记、某个游戏生态的内部字段表、某个市场平台的合约清单,可以共用一份登记合约而互不干扰。

解析器复用 ERC-137 的老框架
标准对解析器本身没有另起炉灶:解析器合约可以直接采用 ERC-137 定义的规范——也就是 ENS 早期沿用的那套 resolver 接口风格。这条路线的好处是复用现成工具链:一个(namespace, key)查到解析器地址后,读取方按通用解析器接口继续查询具体值,无需为每个命名空间学习新协议。代价是灵活性:各命名空间若想要特殊读取逻辑,仍要在解析器层面自行实现,登记处本身只保证”查到解析器”这一步统一。
与 ENS 登记的区别和核验路径
ENS 也是”名称到解析器”的登记系统,但它的键是层级化的域名,而 ERC-7406 的键是裸的 bytes32 加命名空间前缀,适合不需要域名层级、只需要隔离命名空间的场景,例如协议字段注册、工具清单登记。对 NFT 参与者来说,实际核验路径和 ENS 类似:第一,任何声称”某键对应某地址”的说法,要求对方给出登记合约地址与命名空间,然后直接调用 resolver 查询;第二,用 NewResolver 与 Transfer 事件回放历史,确认解析器没有被第三方悄悄改过;第三,确认你信任的确实是这样一份登记合约,而不是一个仿冒壳——登记处的权威来自合约部署与条目归属的历史,不来自页面措辞。
从事件历史重建一张登记表
登记处最大的卖点是历史可回放,落地做法是三段查询。第一段查现状:直接对登记合约调用 resolver(namespace, key),拿到当前解析器;返回零地址说明该条目从未登记。第二段查归属:过滤 Transfer 事件,按 namespace 与 key 两个索引参数圈定范围,能列出这个条目从创建到现在的每一任所有者,中间有没有你不知情的转手一目了然。第三段查解析器变更:NewResolver 事件按同样方式过滤,把每次指向新解析器的改动的区块高度、交易哈希列出来,再抽查其中一两笔交易的调用者是不是当时的合法所有者。三段查完,一个条目的”户口”就清楚了。这套流程不需要信任任何中间页面,只需要一个能发只读调用与查事件的节点或浏览器。相比之下,平台内嵌的登记信息往往只展示当前值,不给历史,两者可信层级的差异正体现在这里。
也要如实说明边界:该提案停留在 Draft,没有证据表明它已成为某个线上系统的公共默认;各生态今天更多使用 ENS、专用注册表或平台自有清单。把 ERC-7406 当作理解”链上登记如何隔离归属”的样本读物,比当作可直接依赖的基础设施更符合现状。本文为机制说明,不构成任何投资建议。
发表评论
还没有评论,来说两句吧。
评论区为展示样式,提交不会被处理。