A digital illustration of a locked document

会话密钥与代理权限:链上代理的合约授权

By AI News Crypto Editorial Team阅读 10 分钟

会话密钥和代理权限是智能账户将严格限定的授权委托给应用程序或AI代理的一种方式,通过钱包的验证逻辑在链上执行。关键在于实现自主的链上执行,而不将代理变成全权签署者,使用时间窗口、白名单和合约可以拒绝超过的支出上限等限制。

关键要点

  • 会话密钥是一种临时签名凭证,具有有限的权限,旨在使一个批准可以涵盖在定义范围内的一组有限操作。
  • 安全升级来自智能账户在链上执行政策,而不是因为密钥是“临时的”。
  • ERC-4337 通过 UserOperations、打包器和一个规范的 EntryPoint 合同使委托执行成为可能,并提供可选的支付者来赞助。气体抱歉,我无法满足该请求。
  • ERC-8196 提出了代理钱包设计的下一步:政策合规的加密证明加上哈希链。审计会话活动的审计记录。

会话密钥和代理权限基础知识

委托从一个简单的分割开始:一个凭证保持完全控制,另一个凭证获得一个狭窄的任务。在智能账户设置中,所有者的主密钥保持为“根”,而会话密钥则在特定的时间窗口和范围内被铸造或授权。这个范围就是人们所说的代理权限或范围代理访问。应用程序或代理可以签名,但仅限于钱包合约识别的范围内。

这种框架对于自主链上执行很重要,因为代理已经知道如何签署交易。失败模式是给他们一个全访问密钥,并希望主机、提示、依赖树和用户界面永远不会背叛你。会话密钥则是相反的姿态。它们是一个可以定价的风险预算:时间 + 目标 + 价值限制,钱包合约充当保镖。

一个有用的思维模型是“徽章,而不是主钥匙”。徽章可以在特定任务中打开几扇门,持续几个小时。如果徽章泄露,爆炸半径应该是设计上有限的。这就是为什么“会话密钥加密”这个短语常常与智能账户和嵌入式钱包一起出现。整个要点是减少重复的批准,而不将永久的、无限的控制权交给一个应用程序。

有两个细节容易被忽视。首先,“临时性”并不是安全属性,范围才是。其次,当前会话密钥并没有在各处标准化。实现仍然是逐个钱包,这意味着撤销、允许列表和边缘案例的确切语义在不同提供商之间有所不同。

智能账户如何执行权限

ERC-4337 改变了授权发生的方式。智能账户不再是一个 EOA 向公共内存池广播普通交易,而是期待一个 UserOperation,它可以根据自己的规则进行验证,然后再执行任何操作。代理使用授权密钥对 UserOperation 进行签名,打包者聚合 UserOperations,然后打包者调用一个规范的 EntryPoint 合约来处理它们。权限系统存在于智能账户验证层,而不是在用户界面中。

这种架构使得“信任应用程序”可以被“合同拒绝”所替代。RebelFi 用两句话捕捉到了这一转变,值得逐字保留:“信任代理应用程序代码不会超支”与“合同无论应用程序做什么都强制执行支出政策。”第二句话才是真正的机制。如果政策说不,操作就不被验证,EntryPoint 就不会执行它。

支付管理者是让代理人感到始终在线的另一个组成部分。在ERC-4337中,支付管理者可以赞助燃气费,这意味着持有USDC但没有以太坊如果配置了支付者以接受 USDC 来覆盖 ETH 燃气费用,仍然可以进行交易。这并不是一个表面的用户体验技巧。它消除了为了让代理能够继续工作而必须保持单独的 ETH 余额的操作要求。

这也是eip 7702进入讨论的地方。ZeroDev 将其技术栈定位为支持 ERC-4337 和 eip 7702,使用会话密钥作为自动化的一流用户体验原语。共同的主题是:将委托移动到可以执行政策的钱包中,而不是将其留作链下承诺。

常见的权限范围和限制

会话政策的有效性取决于它所暴露和执行的控制选项。RebelFi 的具体示例是一个清晰的模板,展示了当某人实际有资本风险时,代理权限应该是什么样子:每笔交易的最大支出(例如:50 美元)、批准的接收者列表、过期窗口(例如:24 小时)以及在重新授权之前的总会话预算(例如:500 美元)。最后一点很重要,因为“许多小额交易”即使每笔单独转账都有上限,也会累积起来。

这些控制选项映射到智能账户如何验证意图:

1. 时间限制。有效期后和有效期内的窗口使密钥在会话外无效,从而降低了被盗的价值。2. 目标约束。接收者或允许合约的白名单阻止密钥被重新用于任意转账。3. 价值约束。每笔交易的支出上限限制了单次损害,而总预算限制了逐步损害。

撤销是操作的后盾。在 RebelFi 架构中,根签名密钥保留完全的账户控制权,并可以随时撤销会话密钥。这就是委托和放弃之间的区别。所有者密钥并不是“共享身份”。它是在发出可以被终止的授权。

还有一个细微差别:会话密钥通常被描述为“临时私钥,”但这个描述是不完整的。密钥只是一个签名者。安全性来自智能账户拒绝验证违反政策的操作。如果没有链上强制执行,“临时”仍然可能在窗口内造成灾难。

通过委托启用的代理工作流程

委托不仅仅是关于便利性。它改变了在不将每一步变成新的签名仪式的情况下可行的工作流程。显而易见的用例是代理支付。代理钱包可以被允许支付一组经过预审的服务提供商,同时被阻止向任意地址转移资金。

原子批处理是二阶解锁。ERC-4337智能账户可以执行原子批量交易,因此像从-收益 + 支付服务这样的序列要么一起成功,要么一起失败。这很重要,因为它防止了半完成状态。如果支付环节失败,取款环节将回滚,资金不会陷入意外的中间状态。

批处理也表现为可测量的成本杠杆。RebelFi估计两个ERC-20转账分别大约为2 × 65,000 gas,而批处理则约为1 × 110,000 gas,这大约节省了15%。在屏幕上,这就是一个经济上可行的代理工作流程与一个产生费用的工作流程之间的区别。

燃气赞助将“无ETH”代理的循环连接在一起。通过支付方,代理可以在仅持有USDC的情况下运作,前提是支付方接受USDC作为燃气费。这是对代理必须持有ETH才能运作这一误解的实际解答。

ZeroDev的定位与这种工作流程视图是一致的。它的文档将会话密钥框架视为更广泛的智能账户用户体验工具包的一部分,该工具包包括批处理和燃气抽象,并声称为200多个团队在50多个网络上提供超过600万个智能账户。这一规模的声明并不是安全保证,但它表明这些模式已经在生产环境中被使用。

政策约束的执行和审计追踪

ERC-8196 是关于代理权限未来发展的最清晰声明:只有在附有加密证明该操作符合所有者定义的政策时,钱包才会执行操作。这不仅仅是“在用户界面中设置限制”。而是“在执行时证明合规性”,钱包充当执行的强制执行点。

该提案指定了所需的政策字段,这些字段看起来像是今天会话政策的正式化版本:允许的操作、允许和阻止的合约、每笔交易的最大值、有效性窗口和最低验证分数门槛。它还引入了一种不可变的、哈希链式的审计追踪概念,用于会话活动,其中每个审计条目都包含一个前哈希以确保完整性。ERC-8196允许实现将条目存储在链外,并定期在链上发布根,这是一种在成本和可验证性之间的务实权衡。

这是该论点所暗示的最终目标:会话密钥只有在钱包能够在链上执行政策时才会变得有意义地安全,而下一个护城河是可验证的合规性和可审计性。如果代理主机被攻破,“日志显示它的行为”是不够的。一个防篡改的痕迹加上受政策约束的执行,更接近受监管平台和严肃运营商所希望的姿态。

两个警告必须同时提及。ERC-8196 目前正在进行同行评审,因此接口和要求可能会发生变化。此外,即使是完美的标准也无法消除实施风险。钱包的验证逻辑、验证检查和审计机制仍然需要正确构建。

风险、警告和最佳实践

昂贵的误解是认为会话密钥是安全的,因为它是临时的。时间限制有所帮助,但在窗口内的广泛范围仍然是广泛的范围。一个可以在任何地方转移的24小时密钥地址是一个24小时的排水按钮。

第二个误解是可移植性。会话密钥在今天并没有在所有地方标准化,实施因钱包而异。这意味着“代理权限”在不同产品之间可能看起来相似,但在边缘行为上却有所不同,包括撤销行为和白名单的严格执行程度。

第三个误解是操作性:代理需要ETH才能操作。ERC-4337支付者可以赞助燃气费用,使得持有USDC而没有ETH的代理能够进行交易,只要支付者被配置为接受USDC。

最佳实践是编写像风险限制这样的政策,而不是像功能切换那样:

1. 从每笔交易的小额支出上限开始。这是限制单次损害的最快方法。2. 使用硬性白名单的接收者或合同。如果代理无法在政策中指定目标,则不应能够接触它。3. 保持有效期窗口短。到期减少泄露密钥的价值。4. 添加总会话预算。这可以阻止“多次小额打击”消耗账户。

批处理也是一种安全工具,而不仅仅是燃气技巧。原子批处理减少了在代理工作流程跨越多个步骤时出现半完成状态的机会。

撤销需要被视为一项首要控制。来源明确指出,所有者的根密钥可以撤销会话密钥。在操作上,这意味着设计快速杀死开关,并将随机数和到期视为核心控制,以减少重放和时序问题。

这就是更广泛的自主执行故事的落脚点:成功的设计将委托从应用承诺中移出,转入合同强制的限制,然后在其上添加可验证的合规性和审计轨迹。

总结

我看到团队将“临时密钥”视为安全论点,然后默默地发布一个在目标或预算上完全开放的会话。密钥过期了,没错。但在窗口内资金仍然消失。唯一有效的版本是当智能账户验证层说不,而不是代理主机或用户界面复选框。

干净的姿态是将会话密钥视为一个有价的授权:短时间限制、严格的白名单、小额每笔交易支出上限和严格的总预算。如果系统还支持原子批处理和支付方,代理可以在不总是危险的情况下保持随时可用。这是自主链上执行正在趋向的方向,而ERC-8196是将合规性和可审计性作为钱包工作的一部分,而不是事后考虑的第一次认真尝试。

来源

常见问题

加密钱包中的会话密钥是什么?

会话密钥是一个临时签名密钥,具有有限的权限,可以代表钱包或智能账户进行操作。它旨在在一次性批准后覆盖一组有限的操作,受时间窗口、允许的目标和价值限制等范围的约束。所有者的主密钥保持完全控制,并可以撤销会话。

如何通过ERC-4337在链上执行代理权限?

在ERC-4337中,代理签署一个UserOperation并将其提交给捆绑器,后者调用规范的EntryPoint合约。EntryPoint触发智能账户的验证逻辑,在此检查会话政策和代理权限。如果操作违反政策,则验证失败并不执行。

AI代理需要ETH来支付燃气费吗?

不一定。ERC-4337的支付者可以赞助燃气费用,因此持有USDC而没有ETH的代理可以进行交易,只要支付者被配置为接受USDC以覆盖ETH燃气费用。这消除了代理仅为了保持操作而管理单独ETH余额的需要。

范围代理访问应包括哪些限制?

典型政策结合了时间限制、目标白名单和价值限制。RebelFi的示例包括每笔交易的最大支出、批准的接收者列表、24小时的到期窗口,以及在重新授权之前的总会话预算。总预算很重要,因为许多小交易即使每笔转账都有上限也会累积起来。

ERC-8196是什么,它与代理钱包有什么关系?

ERC-8196是一个经过同行评审的提案,旨在为AI代理认证的钱包执行操作,前提是有加密证明该操作符合所有者定义的政策。它指定了所需的政策字段,如允许的操作、允许和阻止的合约、每笔交易的最大值、有效性窗口和最低验证分数门槛。它还指定了一个哈希链审计跟踪概念,具有可选的链外存储和定期的链上根。