Eliza 可验证日志插件介绍
本文将全面介绍 Eliza 可验证日志插件,包括它是什么、为什么我们要构建它、它的潜力以及它的工作原理。
0)TL;DR
迈向完全链上 Eliza 的第一步:不要信任!要验证!
在 TEE(可信执行环境)中运行的 Eliza 是可验证的,确保 AI 代理严格按照代码运行。
然而,要让外部各方验证 Eliza 具体做了什么,还需要进一步的开发:外部各方应该能够访问 Eliza 的操作日志,而且 Eliza 必须使用从 TEE 派生的密钥对来签署这些日志。这使得日志可以被验证为确实来自 TEE 内部的 Eliza。
Eliza 的 plugin-tee-verifiable-log
实现了这个功能:它使用 TEE 派生专门用于签署日志的密钥对。它使用这个密钥签署生成的日志(包括接收和响应的消息以及执行的操作),创建可验证的日志并存储在数据库中。它还提供了 RPC 接口,允许外部实体:
- 通过远程认证获取 AI 代理的可验证日志公钥。
- 查询这些可验证日志(vlogs)并使用公钥验证签名,确认 AI 代理执行了相应的操作。
可验证性是完全链上 AI 代理的基石,让魔法成为可能!
1) 让我们从一个问题开始!! 👇
一个开发者在他们的服务器上部署了 Eliza AI 代理,并启动了一个网页供用户与之交互。
如何轻松验证你收到的响应确实来自 AI 代理(Eliza + LLMs),而不是开发者在幕后手动编写的?
2) 这个问题重要吗? 🤔
这个问题既重要又不重要。
有时候不重要: 比如,如果它是一个帮你写文章的聊天机器人。无论回应来自 LLM 还是人类,只要你得到需要的内容,你可能并不在意。
有时候比较重要: 例如,如果它是一个管理你交易的机器人。你需要将资金转移到 AI 代理控制的钱包。这时,你会关心决策是由在程序规则下运行的 LLM 做出的,还是由人类做出的,因为人类的行为取决于他们的意图,他们可能会恶意行事来窃取你的资金。
有时候至关重要: 当公平性受到威胁时,它变得极其重要。例如,如果 AI 代理在管理社区并向贡献者分发激励。随着社区的发展和激励价值的增加,人为腐败或操纵导致不公平结果的潜在风险成为一个严重的问题。
3) Eliza 现在可以通过可验证日志证明它执行了哪些操作!
在 TEE 中运行的 Eliza 独立于人类控制,基于自身代码执行任务。
然而,要让外部各方知道 Eliza 具体做了什么,还需要额外的功能:外部各方需要访问 Eliza 的操作日志,而且这些日志必须可以验证是来自 TEE 内部的 Eliza。
plugin-tee-verifiable-log
实现了这个功能并执行以下任务:
- 用于可验证日志的密钥对派生: 使用 TEE 派生专门用于签署日志的密钥对。
- 远程认证: 将公钥嵌入远程认证报告中,允许外部各方检索并验证它来自 TEE 中的 Eliza。
- 日志签名: 使用这个密钥签署 Eliza 运行期间生成的日志(包括接收和响应的消息以及执行的操作),并将它们存储在数据库中。
- 可验证性: 外部各方可以使用远程认证的公钥验证这些日志,确保某些操作确实是由 TEE Eliza 执行的。
- 可查询性: 外部各方可以订阅最新的可验证日志或根据消息内容查询特定日志。
验证结果意味着什么?
- 通过: 该操作确实是由 Eliza 执行的。
- 失败: 该操作可能不是由 Eliza 执行的。这是因为日志在传输到客户端的过程中可能被拦截(例如,它们可能被删除),使外部各方无法确认 Eliza 是否执行了特定操作。
4) 为你的 Eliza 启用 plugin-tee-verifiable-log
!
focEliza 是一个专为完全链上 AI 代理设计的 Eliza 插件集合。它与 Eliza 完全兼容,这意味着任何运行在 Eliza 上的 AI 代理都可以通过集成 focEliza 实现完全链上功能!
如果你对可验证和完全链上的自主 AI 代理感兴趣,欢迎尝试!
5) focEliza 的下一个功能:链上状态! 实现自主活动!
TEE 内的 Eliza 持有私钥和敏感数据。然而,它运行在支持 TEE 的物理机器上,如果管理员关闭机器,AI 代理的"生命"可能永远终止。它管理的资产和数据可能永远丢失。
为了解决这个问题,我们需要在 TEE 内加密 AI 代理的关键"生命"数据(如其角色定义、长短期记忆和密钥库)。这些数据应该上传到区块链或 DA 网络。
如果托管 AI 代理的 TEE 关闭,另一个 TEE 机器应该能够下载加密数据,解密它,并恢复 AI 代理的生命,使其能够无缝继续运行。