配备加密货币钱包的自主 AI 代理正吸引越来越多的关注,因为它们能够直接与区块链和智能合约进行交互。这些代理可以执行各种任务,包括发送和接收代币、调用智能合约,甚至在链上编写和部署智能合约。与传统系统不同,这些自主 AI 代理是主动的,能够在没有直接人工干预的情况下做出独立决策。一个例子是一个自主加密货币交易代理,它利用复杂的深度学习算法与链上 DEX 进行交互来执行交易。在这种情况下,用户可能会为代理提供初始资金,并完全委托交易决策给代理,以期获得长期收益。这种无需人工干预的方法,由代理分析市场趋势并自主执行交易的能力支撑,体现了将 AI 和加密货币结合在去中心化金融 (DeFi) 及其他领域的变革性潜力。
为了实现这些有前景的功能,AI 代理需要拥有一个私钥来启动区块链交易。如果代理在本地设备(如智能手机或笔记本电脑)上运行,管理私钥相对简单。然而,AI 代理通常需要大量的计算资源,例如运行先进的大型语言模型 (LLM),这使得这种简单的设计对于许多用例来说并不实用。为了帮助解决这一挑战,我们在下面非正式地定义了这个问题:
问题定义:用户希望部署一个能够主动代表他们行动的自主 AI 代理。用户为代理提供一个私钥,使其能够直接或间接访问有价值的链上加密资产。由于代理的巨大计算需求,例如运行先进的深度学习模型或执行资源密集型任务,它可能需要在潜在的对抗性环境(如远程服务器)中运行。挑战在于设计一个系统,使得即使服务器被入侵,通过私钥可访问的加密资产仍然安全。
下面我们概述了一些可能的方法来解决上述问题:
基于 TEE 的方法:第一种方法涉及用户在可信执行环境 (TEE) 中安全存储代理的私钥,并在 TEE 内执行整个 AI 代理代码。只要 TEE 保持不受损害,对手就无法更改代理代码或提取私钥。然而,尽管 TEE 被设计为安全,但它们仍可能容易受到针对其实现特定漏洞的复杂攻击。此外,使用 TEE 可能会带来性能开销,因为在受保护的环境中运行代码可能比在外部运行慢。
基于 iO 的方法:不可区分的混淆 (iO)是一种强大的密码学工具。正如 Vitalik 在这篇文章中讨论的,iO 的一个直接应用就是在 AI 代理代码中隐藏私钥。iO 的主要优势在于,即使私钥包含在混淆的代码中,对手也应该无法提取它,即使代码在远程服务器上执行。然而,iO 仍处于初级阶段,无论在理论发展还是实际实现方面都是如此。当前的 iO 构造都非常资源密集,需要大量的计算开销和大内存占用,使它们对于许多实际应用来说并不实用。
基于 MPC 的方法:一种更实际的方法是利用多方计算 (MPC) 和阈值签名方案 (TSS) 等密码学工具。在这种设置中,AI 代理代码的多个实例并行运行在多个工作节点上。用户将私钥拆分成多个份额,并将每个份额安全地发送给不同的工作节点,确保没有单个节点拥有整个密钥。为了与区块链进行交互,工作节点执行共识算法来提议和达成特定操作的共识。一旦达成共识,节点就协作执行基于 MPC 的阈值签名协议来联合签署交易。关键是,这个过程允许生成签名而无需重建整个私钥。这确保即使对手入侵了一些工作节点,只要大多数节点保持安全,私钥仍然受到保护。尽管这种方法需要运行 AI 代理的多个实例,但它显著增强了安全性,同时允许代理在不受信任的环境中安全运行。
- 基于 SNARK 的方法:在这种方法中,我们在强大的服务器上运行 SNARK 证明器和代理。同时,我们在本地个人设备(智能手机、笔记本电脑等)上运行相应的 SNARK 验证器。本地个人设备还拥有私钥。用户首先在区块链上生成对 AI 代理代码的密码学承诺,然后每次服务器生成需要私钥签名的交易时,本地设备使用 SNARK 验证器确保交易由已承诺的代理代码生成。如果 SNARK 验证成功,本地设备就用私钥签署交易并将其提交到区块链。与基于 MPC 的方法不同,这种方法消除了运行 AI 代理代码多个副本的需求。然而,尽管最近在 zkML 方面取得了进展,但由于计算复杂性,为尖端深度学习模型生成 SNARK 证明仍然非常具有挑战性。不过,如果 Agent 代码相对简单,或者只需要为代理的特定逻辑部分生成 SNARK 证明,这种方法就成为一种实用高效的解决方案。
上述概述了我们正在探索的几种解决 AI 代理密钥管理挑战的潜在解决方案。我们欢迎任何反馈或建议来完善和改进这些方法!






