
2026年7月14日,以太坊发布了一项新的提案,阐述了自主人工智能代理如何在不将记忆内容上传至公共区块链的情况下,证明其记忆随时间推移而发生变化。该提案草案( ERC-8350 )描述了一个ERC-8350代理记忆注册表,根据以太坊改进提案网站上发布的规范,该注册表仅记录与代理私有数据相关的加密承诺,而非数据本身。
要点总结
- ERC-8350 允许自主代理在以太坊上注册内存更改,同时将实际内存内容保存在链下。
- 每次更新都会被封装在一个名为 ExperienceDelta 的签名结构中,并通过哈希处理生成唯一的 Transition ID。
- 该系统通过检查序列号和先前的状态根来阻止乱序更新,然后再接受任何新内容。
- 为了保护隐私,注册表中明确禁止包含原始内存、加密密钥、盐值和存储位置。
- 执行合同代码必须永远保持不变,不允许任何升级途径。
ERC-8350简介及其用途
ERC-8350 建立了一个最小化的注册表接口,使得代理运营商、钱包开发者、审计员和其他交易对手可以在不同系统间查阅代理的内存历史记录,而无需暴露内存本身。作者 Everest An、XiaoHai Luo 和 Eric 指出,代理系统通常将长期存在的内存保存在私有数据库中,而仅依赖以太坊进行身份验证、支付或执行。
发布纯文本内容哈希值并不能告诉任何人它代表哪个状态,是否是正确的下一步,或者谁有权批准它。该提案通过承诺使用私有增量、可选的来源引用、解释配置文件和可选的私有定位器来弥补这一缺陷,同时保持注册表本身与底层内存引擎无关。
经验 Delta 和状态转换机制
对代理内存的每次更改都会被打包到一个名为 ExperienceDelta 的结构体中,该结构体包含 spaceId、sequence、prevStateRoot、deltaCommitment、provenanceCommitment、profileId 和 locatorCommitment 等字段。该结构体拥有其唯一的标识符,即转换 ID,该标识符通过 EIP-712 结构体哈希计算得出。
连续性是通过数学方式强制执行的。注册表仅接受以下转换:转换的序列号等于当前序列号加一,且其 prevStateRoot 与注册表的当前状态根匹配。下一个状态根是通过将前一个状态根和新的转换 ID 进行哈希运算生成的。根据规范的原理部分,这样做可以防止更新操作像指向先前记录的简单指针那样,声明一个不相关的先前内存状态。
授权模型和签名验证
每个存储空间都包含一个控制器和一个可替换的授权器。这两个角色都可以由普通的外部账户或遵循 ERC-1271 标准的智能合约账户担任。控制器负责管理恢复,而授权器负责批准日常交易,它可以是热钱包、多重签名机制或策略合约。
所有用于注册、授权更新和转换的签名都必须使用与注册管理机构的链 ID 和合约地址关联的 EIP-712 签名域,以防止签名在其他链或其他部署中被重放。当账户已部署代码时,注册管理机构首先会通过 ERC-1271 检查签名;如果该检查失败、回退或账户没有代码,则会回退到标准的 ECDSA 签名恢复机制。
隐私考量和注册表局限性
规范明确规定,原始内存、盐值、加密密钥和原始定位器绝不能通过 ExperienceDelta 结构体或任何其他必需参数到达注册表。只有对这些数据的承诺才会存储在链上,其目的是完全防止敏感的代理数据被公开。
这种设计存在一个明确的局限性:有效的提交仅证明配置的授权器批准了状态转换。它并不能证明提交的内存实际上可用,也不能证明其内容真实。需要这些保证的应用程序必须在注册表之上构建单独的验证机制。
合同不可更改性和安全性要求
该提案将不可变性视为安全前提条件而非偏好。符合规范的注册表不得位于任何能够替换强制执行序列线性、状态根链接或签名验证逻辑的升级机制之后,并且完全不得暴露任何针对这些逻辑的升级权限。
作者警告说,合约的可升级版本仍然可能重现规范中的每个测试向量,同时接受违反序列规则的转换。
参考实现和测试向量
已有参考实现以 Solidity 合约 AgentMemoryStateRegistry.sol 的形式存在,它实现了提案中描述的 IAgentMemoryState 接口。根据规范,该合约复现了与草案一同发布的标准 v1 测试向量,包括 ExperienceDelta、MemoryState 和 MemorySpace 的匹配类型哈希。
本文由人工智能辅助生成,并经编辑团队审核。