担保要靠签名链:ERC-8107 用 ENS 名字搭代理信任网 图 1
担保要靠签名链:ERC-8107 用 ENS 名字搭代理信任网 · 图 1

担保要靠签名链:ERC-8107 用 ENS 名字搭代理信任网

ERC-8001 给多个 AI 代理合办一件事定了最小协作原语,同时明确写了一句:隐私、阈值、质押、跨链留给模块去做。ERC-8107 就是补信任这一块的模块——它回答的问题是:协调者凭什么允许某个代理参与。文件头记录创建于 2025 年 12 月 16 日,仓库记录状态为 Draft,声明依赖 ERC-137、EIP-712、ERC-1271 与 ERC-8001。

身份用名字,担保用签名

登记处的键是 ENS 名字而不是裸地址:每个代理持有一个 ENS 身份,担保关系以凭证形式记录,hashAttestation 给出凭证的哈希口径,签名验证兼容外部拥有账户与合约钱包两条路径(后者对应 ERC-1271)。信任被切成四档:Unknown、None、Marginal、Full——完全未知、明确不信任、有限信任、完全信任。setTrustrevokeTrust 维护档位变化,标准注明从 None 升到 Marginal 或 Full 需要新的凭证,而撤销不是永久刑:之后仍可重新担保。getTrust 问“某名字对某名字信到什么程度”,getTrusteesgetTrustors 分别查我担保了谁和谁担保了我,canSubmitRevocation 界定谁有资格撤销一份凭证。

担保要靠签名链:ERC-8107 用 ENS 名字搭代理信任网 图 2
担保要靠签名链:ERC-8107 用 ENS 名字搭代理信任网 · 图 2

信任会传递,但只走短路

真正让这张网有用的是传递:我不认识目标代理,但我的朋友以 Full 档位担保了它,我或许愿意间接接受。标准的 pathExists 沿签名链寻找从请求者到担保者的路径,并设了最大路径长度为二的硬限制——只信任朋友、以及朋友的朋友,链条再长不算。validateAgent 把判断打包成一次调用:给定协调者视角与目标,回答这条信任链是否达标。协调侧留有身份闸门,setIdentityGategetIdentityGate 指定哪个合约负责把关,ERC-8001 的协调流程据此放行或拒绝;getNonce 处理凭证的序号与防重放。

读这套设计时该盯住的三件事

凭证的结构与撤销的语义

一份凭证长什么样,规范用哈希函数与签名字段交代了骨架:担保者名字、被担保者名字、信任档位、序号与有效期限定共同构成被签名的载荷,hashAttestation 定义这套载荷的规范序列化,签名验证按账户类型分流。撤销走 revokeTrust,标准注明档位回升需要新的凭证,撤销不是把关系拉黑而是把现值归零——这个语义差别决定了图的演化方式:信任网允许改主意,但每次改主意都留下新的签名记录。链上可查询的是凭证当前状态,凭证的历史(谁在何时以何档位担保过、又被谁以何理由撤销)要靠订阅事件重建,canSubmitRevocation 划出的撤销资格边界因此格外重要:若任何签名者都能单方撤销,凭证的存续期完全取决于担保者的警觉;若撤销要走多重授权,受害者地址被盗时的止损速度就要打折扣。标准把这条边界交给部署方配置,等于承认信任网本身也需要治理——担保链能回答“谁担保了谁”,回答不了“担保这件事出了纠纷听谁的”,后者留在名字系统与协调者策略里,是任何想采用它的人必须自答的一题。

第一,信任的根是 ENS 名字的控制权。名字转手、解析器被改,担保网络里的节点身份跟着漂移,这套机制对“名字易主”没有提供额外的历史隔离,凭证验的是签名时的名字,跨时间的身份连续性要靠时间戳与凭证序号自己维护。第二,短路径限制是把双刃剑:它防住了“陌生人转了十八道手声称可信”的欺骗路径,代价是新代理几乎只能靠圈内人直接担保入场,信任网的开放度因此偏低。第三,CCIP-Read 这类链下解析机制在原文的部署说明里被点明不能用于链上验证——链上合约能自证的只有签名与注册表状态,任何“链上查不到但链下说可信”的环节都是实现层自己加的,不在标准担保范围。Draft 阶段的提案,接口可能继续调整,引用时先看当前草稿原文。本文为机制说明,不构成任何投资建议。