A glowing orange key on a dark network grid

AI代理如何在链上执行交易:意图与ERC-4337

By AI News Crypto Editorial Team阅读 9 分钟

AI代理在链上执行交易的方式归结于基础设施,而不是“AI魔法”:代理生成签名意图,其他参与者将其转化为以太坊状态变化。只有当两个轨道正确连接时,交易才会结算,即执行轨道(EOA交易或ERC-4337用户操作)和代币权限轨道(授权或Permit2风格的许可)。

关键要点

  • 一个AI代理并不会在以太坊上“交易”。它必须控制或被授权由一个能够触发合约调用和代币转移的链上账户。
  • 有两个执行轨道:一个是EOA发起的交易,另一个是ERC-4337用户操作,打包者将其提交给EntryPoint合约进行验证和执行。
  • 交换在代币移动之前需要明确的代币支出权限,以及Permit2AllowanceTransfer 为绑定和重放保护该权限添加了到期时间和每个(所有者、代币、支出者)的随机数。
  • 对于更大的规模或更严格的控制,Safe 可以通过让代理提出交易,而多个所有者在执行前进行确认,从而分离职责。

AI代理如何在链上交易

模型输出不是链上操作。链只对通过签名检查并从持有账户调用合约的消息做出反应。资产这就是自主链上交易背后的核心现实:“代理”是一个链外决策引擎,而链上部分是一个账户加上网络将接受的签名请求。

两个轨道在区块浏览器上显示。第一个是执行轨道,意味着请求如何变成以太坊交易。在以太坊上,只有外部拥有账户(Externally Owned Account,EOA)可以发起交易,因为EOA是由一个私钥控制的。私钥并直接签署交易。智能合约账户可以持有资产并运行逻辑,但它不能独立发起交易。只有在被其他东西调用时,它才会执行工作。

第二条轨道是代币移动。一个DEX交换并不只是“调用路由器”。ERC-20代币并不是因为调用了交换函数而移动的。它们之所以移动,是因为代币持有者已授予某个花费者支出权限,然后该花费者利用该权限转移代币。如果代理正在构建触及ERC-20的链上代理执行,它必须每次解决这两条轨道:(1)让链执行调用,以及(2)确保正确的合约被授权提取正确数量的代币。

这就是defai产品聚集的地方:围绕钱包用户体验的自主执行,设定了关于什么被签署和什么被支出的保护措施。有效的思维模型与defai自主链上执行作为一个类别背后的思维模型相同:代理作者意图,基础设施将这些意图转化为结算。

ERC-4337执行管道

ERC-4337将“发送交易”转变为一个包含额外参与者的供应链,这改变了可靠性假设。与其说是一个EOA将交易广播到公共内存池,不如说是一个ERC-4337钱包构建一个UserOperation对象,并将其交给一个捆绑者,后者随后向一个单例EntryPoint合约提交链上交易。

端到端的流程最容易跟踪为一个序列:

代理准备一个有效载荷。对于一个ERC-4337智能账户的代理钱包,有效载荷是一个UserOperation,包含字段如发送者、随机数、调用数据,气体限制、费用参数和签名。2. 代理将 UserOperation 提交到替代的内存池。钱包通常将其发送到捆绑器 RPC 端点,而不是标准的以太坊交易池。3. 捆绑器收集并模拟。捆绑器监视替代内存池,模拟候选 UserOperations,并决定将哪些包含在一个捆绑中。4. 捆绑器发起链上交易。捆绑器调用 EntryPoint.handleOps,传入一个 UserOperations 数组,该调用就是实际落入区块的以太坊交易。5. EntryPoint 验证后执行。EntryPoint 遵循两阶段模式:它在账户上调用 validateUserOp(如果附加了支付方,则调用 validatePaymasterUserOp),然后才运行执行阶段。6. 燃气费用通过预付款或支付方结算。ERC-4337 允许支付方合约通过在定义的规则下补偿捆绑器来赞助燃气费用。

为了人工智能交易代理机制的关键点不在于签名格式,而在于谁负责包含。对于 ERC-4337,“代理执行”并不是代理签名的时刻,而是当 EntryPoint 执行时,这取决于捆绑器的行为和支付者规则(如果燃料费是由赞助的)。

代理如何获得代币消费权限

代币流动是大多数代理设计泄露风险的地方,因为权限往往会超出交易的有效期。干净的模型是先权限,后执行。ERC-4337可以通过将多个操作打包成一个单一的UserOperation来将这些压缩为一个结算,但权限仍然必须是明确和有限的。

UniswapPermit2 允许转移是该层的一组具体原语。它支持三个核心入口点:approve(在链上设置权限)、permit(通过签名设置权限)和 transferFrom(在有效权限已存在时进行支出)。与旧的“永久批准最大值”习惯的重要区别在于,Permit2 允许可以使用到期时间戳进行时间限制。

Permit2 还提供了一个实际的重放保护机制,代理可以真正使用。它的随机数模式按所有者、每个代币和每个支出者递增随机数,打包到一个授权映射中。这意味着权限不仅仅是“所有者签名一次”,而是“所有者是否为这个支出者签署了这个特定的支出窗口,并且该随机数是否已经被消费”。Permit2 的许可支持 EOA 签名、EIP-2098 紧凑签名和 EIP-1271 合约签名,这在所有者是智能账户而非 EOA 时尤为重要。

对于代理如何交易 DeFi,这是在仔细构建时出现的操作模式:

1. 代理请求一个狭窄的支出窗口。金额有限,过期时间短,支出者特定。2. 代理将权限与执行打包在一起。许可或批准可以与交换调用结合,以便授权不会闲置。3. 代理仅在该窗口内通过 transferFrom 进行支出。如果窗口过期,权限在链上失效。

这也是基于意图的执行和求解网络在概念上契合的地方。代理可以签署一个表达期望结果的意图,而求解者则竞争路由和结算。无论谁进行路由,代币权限轨道仍然决定可以从所有者账户中提取什么。

使用 Safe 的多重签名和政策控制

对于真实货币来说,最强大的控制模式是政策分离:让代理提出,但要求 Safe 阈值才能执行。这保持了自动化,同时消除了单一模型运行密钥的单方面权威。

Safe 的文档流程明确说明了交接。创建一个交易,提议给 Safe 交易服务,由其他所有者确认,然后执行。在 Safe 协议工具包指南中,顺序是:创建一个交易对象,计算 Safe 交易哈希,提出以便其他所有者可以看到,收集所有者的确认(签名),然后执行 executeTransaction。

这对于自主执行很重要,因为它改变了“代理行为”的含义。代理可以生成 DEX 路由调用的确切 calldata,或 ERC-4337 账户的 executeBatch,但 Safe 是决定该有效载荷是否允许上链的风险控制台。这是一个强有力的地方来执行源头未为代理标准化的政策,比如限制新的支出者、要求新代币的额外确认或限制大小。

Safe 还与账户层的会话密钥模式良好配合。ERC-4337 账户可以在 validateUserOp 内验证不同的签名方案,而会话密钥可以是其中一种方案。关键不在于流行词汇,而在于短期密钥可以被授权用于狭窄的操作,而长期所有者保留最终控制权。

对于构建 DeFi 系统的团队来说,这就是“代理可以交易”和“代理可以草拟交易”之间的区别。草拟是便宜的,而执行是不可逆状态变化发生的地方。

设计权衡和失败模式

第一个失败模式是混淆消息类型。UserOperation 不是以太坊交易。它是在替代内存池中的数据,直到打包者将其包装成 EntryPoint.handleOps 调用。这就是为什么智能合约账户不能“像 EOA 一样直接发送交易”。只有 EOA 发起交易,而智能账户在被调用时才会执行。

第二种失败模式是将打包者视为隐形基础设施。ERC-4337 将假设从“我的钱包广播”转变为“打包者会包括我吗”。Eco 的描述明确指出,打包者监视替代内存池,进行模拟并提交打包,支付 L1 燃气费用并从预付款或付款人那里获得退款。如果打包者的端点出现故障、限速或拒绝某些操作,代理可以继续签名,但不会有任何结算。

第三种失效模式是权限扩散。无限制的批准不是一种交易特性,而是一种持续的损失表面。Permit2 的到期时间戳和每个(所有者、代币、支出者)的随机数是可以限制该表面的链上控制,但前提是集成使用它们。一个常见的集成错误是授权错误的支出者或传递错误的来源。地址进入转账调用,Uniswap将其标记为集成合约的安全考虑。

第四种失败模式是对AI的过度信任。大多数链上代理执行的崩溃来自于接线,而不是模型选择了错误的一方。如果代理钱包能够签署广泛的许可,或者如果支付方的规则过于宽松,系统就可以完全按照其被授权的方式操作,但仍然是不可接受的。

权衡总结很简单。EOA(外部拥有账户)简单直接,但将整个系统置于一个密钥之下。ERC-4337 增加了批处理、自定义验证和赞助燃气,但引入了一个包含打包者、入口点和可选付款方的交易供应链。Safe 通过设计增加了摩擦,而这种摩擦在规模重要时成为关键。在任何严肃的架构文档的底部,更广泛的话题仍然是自主链上执行,问题是系统在压力下实际上可以支持哪条轨道和哪种政策层。

观点

我看到团队过于专注于“AI”部分,然后犯下昂贵的错误:一个广泛、长期的代币批准与脆弱的基础设施相结合。当出现问题时,很少是因为模型产生了错误的交易。通常是因为权限层允许支出者超出预期的额度,或者因为ERC-4337供应链在打包器处停滞,而没有人监控包含情况。

干净的姿态是每次都将其视为一个双钥图:执行权限和支出权限。如果设计无法用一句话回答,谁发起了交易(EOA与通过EntryPoint的打包者)以及支出者可以提取的确切内容(金额、到期时间、随机数范围),那么该系统就不是“自治”的。它只是无人看管。

来源

常见问题

AI代理需要自己的私钥才能在链上交易吗?

它们需要某种地方的签名权限,但不必是一个全能的私钥。代理可以作为EOA签名,为ERC-4337智能账户签名UserOperations,或者提议交易,只有在多个所有者确认后,Safe才会执行。

ERC-4337 UserOperation和普通以太坊交易有什么区别?

普通以太坊交易由EOA发起,直接进入公共内存池。UserOperation是一种伪交易,停留在替代内存池中,直到打包者将其包装成对EntryPoint合约的调用,然后进行验证和执行。

支付者如何实现无燃料的链上代理执行?

在ERC-4337中,支付者是一个可选的智能合约,同意通过报销打包者的燃料费用来赞助燃料。EntryPoint在验证阶段调用validatePaymasterUserOp,如果通过验证,燃料将从支付者的链上存款中支付,而不是用户账户中。

Permit2如何使自主链上交易比无限批准更安全?

Permit2 AllowanceTransfer支持具有明确到期时间戳的授权,因此权限可以在链上自动失效。它还使用按所有者、代币和支出者索引的随机数,这有助于防止在预期支出窗口之外重放已签名的许可。

可以将Safe多重签名与AI交易代理一起使用吗?

可以。一个常见的模式是代理生成交易负载并将其提议给Safe交易服务,然后所有者确认并在达到阈值后执行。Safe的文档流程是创建、提议、收集确认,然后使用executeTransaction执行。