地址后面加链名再校验:ERC-7828 可互操作名字格式
把 BTC 地址错填进 EVM 收款框,或者把某条链的地址粘贴到另一条链的转账页,是跨链世界里最常见的事故之一。ERC-7828(Interoperable Names)想给这类事故加一道语法防线:定义一种自带链名和校验码的地址写法,让”哪个链上的哪个地址”在字符串本身就能读出来、验出来。按 ercs 仓库记录,该提案状态为 Review,创建于 2024 年 11 月 27 日。
三段式语法:地址、链名、校验码
可互操作名字的结构是 `<address>@<chain>#<checksum>`。address 部分可以是一个原始地址,也可以是一个 ENS 域名;chain 部分可以是 CAIP-350 定义的链标识(如以太坊主网写成 eip155:1),也可以是人类可读的链标签,标签到链元数据的映射登记在 ENS 的 on.eth 命名空间下,由链上解析器裁决,同一条链可以有多个别名标签(如 op 与 optimism)指向同一份登记数据。checksum 是可选的八位十六进制数,取对地址相关字段拼接做 Keccak-256 哈希的前四个字节。提案建议:address 是原始地址时尽量带校验码,因为校验码能帮助客户端识别同形字仿冒和手改地址;address 是 ENS 名时不应带校验码,因为域名解析结果可能随解析器变更而改变,校验码无从稳定。
钱包解析链标签的路径也定义清楚了:通过 ENSIP-24 的任意数据解析,用 interoperable-address 这个键从 on.eth 的解析器取回 ERC-7930 格式的链上地址元数据;反查(从地址找回规范链名)则走 reverse.on.eth 命名空间的文本记录,多个别名最终收敛回唯一的规范名。

校验码防的是什么,防不住什么
提案把安全定位讲得很克制。校验码能防的是输入与显示环节的意外损坏和粗糙仿冒:目标地址被改一个字符、混进视觉相似的替身字符,重新计算校验码就对不上,客户端应当弹警告。但它防不了地址投毒的另一半:攻击者仍然可以给你看一个校验码完全合法的”新地址”,因为校验码只证明这串字符内部自洽,不证明这个地址与你有过任何历史关系。提案在安全考量里同时点名了原始地址方式的投毒风险与 ENS 解析器可能变更、通配解析可能返回动态数据的事实。
钱包与转账页该怎么落地这个格式
标准把格式定义清楚了,但真正的安全收益取决于客户端怎么用它,落地动作可以列成四条。录入侧:粘贴框识别到 @ 结构就按可互操作名字解析,链标签解析失败时宁可报错,不要回退成”把整串当前缀截断”的猜测行为——提案的意图正是消灭这类静默降级。显示侧:转账确认页把链名单独呈现,链标签与当前网络不一致时用视觉更强的警示,因为格式最大的红利就是把”检查网络”从用户习惯变成界面对比。校验侧:对带校验码的原始地址在本地重算校验,不一致立即警告;对 ENS 形态则按 ENSIP-9 与 ENSIP-11 的链上解析取目标地址,解析结果与用户认知之间的确认对话不能省。历史侧:客户端应记录”这个可互操作名字上次与你成功交互”的地址指纹,地址变化时升级提示——校验码防不了全新合法地址的投毒,只有历史对比能补这一刀。四条做完,这个格式才从语法变成防线。
因此正确的使用姿势是把这种格式当作第一层提示而不是最后一道保障:链名读对了只是没转错链,真金白银的确认仍然要回到”这个地址是否是我认得的对方”这一人肉核验。对钱包开发者,提案也留出自由度——校验失败、解析失败、显示带不带校验码,都允许各家自行设计警告方式。本文为机制说明,不构成任何投资建议。
发表评论
还没有评论,来说两句吧。
评论区为展示样式,提交不会被处理。