Skip to content

TEE 与链上确认

使用 Advanced 0G 供应商时,模型在可信执行环境(TEE)里运行。本页解释你能从中得到什么、链上实际验证的是什么、Ghast 在 UI 里展示什么。

一句话讲完

  • 每个 Advanced 供应商加入 0G 推理注册表时会在链上注册一个 TEE 签名者地址
  • 推理响应由该密钥签名,供应商以此证明调用确实经过了 TEE。
  • 给子账户充值之前,Ghast 会让你确认(acknowledge) 该 TEE 签名者(每个供应商一次链上交易)。
  • 链上对每对(你的地址,供应商)维护一个 acknowledged 布尔标志。

"确认" 到底是什么

链上 inference.acknowledgeTEESigner(provider, true) 翻转 Inference 合约里的一个标志,记录:"这个用户已确认这个供应商的 TEE 身份。" 它本身用密码学验证 TEE 远程证明。这是 UX 层的确认,不是 TEE quote 验证。

实际意义:

  • 链上知道你显式选择了这个供应商的 TEE。
  • 供应商知道可以服务你并从子账户扣费。
  • 链下工具与审计可以把确认记录当作"用户在某个时间显式同意了某个 TEE 身份"的证据。

TEE 实际保护什么

TEE 是供应商运行模型的运行环境。它的职责:

  • 让你的 prompt 和响应与供应商运营方隔离。
  • 让远程证明可以(原则上)验证推理代码就是预期的那个二进制。
  • 用一个仅存在于 enclave 内的密钥对响应签名。

TEE 做的事:

  • 它不让供应商变得无需信任。你仍然要相信 TEE 本身(硬件厂商的 enclave)按预期运行。
  • 它防不住一个声称跑 TEE 但实际从未真正部署 TEE 的供应商——链上确认本身不能证明 enclave 里跑的是什么二进制。
  • 它不加密你到供应商的流量——那是 TLS 的事;TEE 只处理已经到达的请求。

简而言之:TEE 比"把 prompt 发进黑盒、信他们"是有意义的改进。但它不是对运营方的完全无需信任替代。

Ghast UI 里 TEE 确认怎么呈现

在 Settings → Providers → 0G Advanced 里,每个供应商条目显示:

  • TEE 签名者地址——从链上注册表拉取。
  • 确认状态——已确认未确认
  • 重试确认按钮(仅在充值成功但确认交易失败时出现,方便单独重试)。

未确认的 Advanced 供应商不能用于推理——客户端在没有确认的情况下拒绝构造 app-sk-... token。

签了什么

确认操作:

  • 是一笔普通的 EVM 交易。你的钱包签名后,Ghast 提交到 https://evmrpc.0g.ai
  • 你支付少量 OG 作为 gas。
  • 链上确认是永久的。重复确认是 no-op。
  • 没有"取消确认"流程。想停用一个供应商就退款;链上的 acknowledged 标志会一直保留。

你能自己验证什么

任何人都可以在链上验证:

  • 你的钱包地址在某个区块高度确认了某个供应商的 TEE 签名者。
  • 某个供应商注册了某个 TEE 签名者密钥。

仅凭链上数据不能验证:

  • TEE 实际跑的是供应商声称的那个代码。
  • TEE 签名者密钥真的是在 enclave 内生成的(而不是从外部带进来的)。

这些较弱的性质是对当前链上证明真实位置的诚实描述。确认是一个有用的审计原语;它本身不是 TEE 完整性证明。

相关页面