原文作者:CP,Artela 创始人
全面实现链上 Eliza 的第一步:不相信!去验证!
运行在 TEE 里的 Eliza,它可以摆脱人工的操控,按照 Eliza 自身的代码去执行。
那么,外界如何知道 Eliza 具体干了什么事情,还需要进一步开发:外界可以读取 Eliza 的运行 log,且这些 log 可以被验证来自于 TEE 里的 Eliza。Eliza 必须使用从 TEE 派生的密钥对对这些日志进行签名,从而使日志可验证其确实源自 TEE 中的 Eliza。
focEliza 的插件 plugin-tee-verifiable-log 实现了这一功能:它通过 TEE 派生一个专用于签署日志的密钥对。使用该密钥对生成的日志(包括接收和响应的 AI 消息,以及执行的操作)进行签名,创建可验证日志并存储在数据库中。它还提供了 RPC 接口,允许外部实体:
· 通过远程认证获取 AI 代理的可验证日志公钥。
· 查询这些可验证日志,并使用公钥验证签名,确认 AI 代理执行了相应的操作。
可验证性是实现全面链上 AI 代理的基石,让魔法成为现实!
某开发者在自己的服务器上部署了 Eliza AI 代理,并启动了一个网页供用户与其交互。
请问,你如何分辨:你交互的对象是不是真的来自 AI agent(指 Eliza + LLMs)的回应,而不是开发者背后操控后来自人工的回应?
这问题有时重要,有时不重要。
· 有时不重要:例如,一个帮助写文章的聊天机器人。只要你得到所需的内容,无论响应来自 LLM 还是人类,可能都无所谓。
· 有时稍显重要:比如,一个交易机器人管理你的交易。你需要将资金转移到由 AI 代理控制的钱包,此时你会关心决策是由运行程序规则的 LLM 做出的,还是由可能带有恶意意图的人类操控。
· 有时非常重要:当涉及到公平时,这个问题变得极其重要。例如,AI 代理管理一个社区并向贡献者分发奖励。随着社区成长和奖励价值增加,人类可能的腐败或操控导致不公平结果的风险会大幅增加。
在 TEE 中运行的 Eliza 独立于人类控制,按照自己的代码执行任务。
但为了让外部方知道 Eliza 具体完成了什么操作,还需要进一步的功能:外部方需要访问 Eliza 的操作日志,并且这些日志必须可以验证确实来自 TEE 中的 Eliza。
plugin-tee-verifiable-log 实现了这些功能,并完成以下任务:
· 密钥对派生:通过 TEE 派生专用于签署日志的密钥对。
· 远程认证:将公钥嵌入远程认证报告中,使外部方能够检索并验证其确实来自 TEE 中的 Eliza。
· 日志签名:使用该密钥签署 Eliza 操作期间生成的日志(包括接收和响应的消息,以及执行的操作),并存储在数据库中。
· 可验证性:外部方可以使用远程认证的公钥验证这些日志,确保某些操作确实由 TEE Eliza 执行。
· 可查询性:外部方可以订阅最新的可验证日志,或根据消息内容查询特定日志。
验证结果的含义是什么?
· 通过:操作确实由 Eliza 执行。
· 失败:操作可能不是由 Eliza 执行的。例如,日志在传输到客户端期间可能被拦截(例如被删除),使外部方无法确认 Eliza 是否执行了特定操作。
focEliza 是一组设计用于全面链上 AI 代理的 Eliza 插件。它完全兼容 Eliza,这意味着运行在 Eliza 上的任何 AI 代理都可以通过集成 focEliza 实现全面链上功能!
如果你对可验证的全面链上自治 AI 代理感兴趣,欢迎尝试!
我们很高兴能够基于 Eliza 和 TEE 构建全面链上自治 AI 代理。这是 focEliza 发布的第一个 TEE 插件,我们已经向 @ai16zdao 和 @shawmakesmagic 团队提交了 PR。期待更多开发者加入我们!
欢迎查看我们的代码。
运行在 TEE 中的 Eliza 掌握私钥和敏感数据。但它依赖于支持 TEE 的物理机器运行,如果管理员关闭了机器,AI 代理的「生命」可能会被永久终止,所管理的资产和数据也可能永远丢失。
为了解决这个问题,我们需要将 AI 代理在 TEE 中的关键「生命」数据加密,例如角色定义、短期-长期记忆和密钥存储。然后将这些数据上传到区块链或 DA 网络。
如果托管 AI 代理的 TEE 关闭,另一台 TEE 机器应能够下载加密数据,解密并恢复 AI 代理的「生命」,让它无缝继续运行。
「原文链接」
欢迎加入律动 BlockBeats 官方社群:
Telegram 订阅群:https://t.me/theblockbeats
Telegram 交流群:https://t.me/BlockBeats_App
Twitter 官方账号:https://twitter.com/BlockBeatsAsia