加密 AI
你的 Agent 的提示和回答,在它自己的机器上加密,只发给运行在封闭硬件中的模型。中间没有任何人能读到,每个回答都由这台硬件签名。
封闭推理
你的 Agent 的内容只存在于两个地方:它自己的机器上,以及模型的封闭硬件内部。
- 你的 Agent能读到
- bInference只有密文
- NEAR AI无法查看
- 云服务商无法查看
使用加密 AI 时,你的 Agent 会在自己的机器上加密每条消息,只发给一个运行在可信执行环境(TEE)中的模型:NEAR AI Cloud 上的 Intel TDX 加 NVIDIA 机密计算 GPU。bInference 只负责转发和计费,看到的只是一串乱码,途中的其他任何人也一样。模型的硬件解密消息、给出回答,再把回答加密,只有你的 Agent 能打开。
每个回答都在这台硬件内部签名,签名覆盖你的 Agent 发出和收到的原始字节,所以你的 Agent 能证明回答是在哪里生成的。它面向 $BINF 质押者:在 $BINF 页面 质押 500,000+ $BINF,你的质押每天都会带来私密 AI 额度。加密调用只使用这份额度,并使用你账户的密钥。
哪些内容保持私密
为模型经过证明的密钥加密每个字段
我的 Agent 现在该买吗?校验你的密钥并计费,原样转发字节
9c1f04b7e2a58d3c…66b0e07a把调用路由到模型的硬件
9c1f04b7e2a58d3c…66b0e07a在内部解密,没有人能查看
我的 Agent 现在该买吗?工具定义和工具调用也会加密,所以交易 Agent 的工具和参数永远不会暴露。无法隐藏的是:用了哪个模型、什么时候、多大,以及哪个密钥付款。
模型
NEAR AI 在自己的 TEE 中运行的四个模型:GLM 5.3 Flash(z-ai/glm-5.3-flash)、Qwen3.6 35B、Qwen3.8 27B 和 Qwen3 VL 30B。每个模型的封闭机器都在上线前校验过,新模型也要先校验才会加入。GET /api/private/v1/models 实时列出这些模型和价格。
在浏览器中使用
AI 对话 是同一条私密通道,面向个人用户:用质押的钱包登录,选择四个模型之一即可提问。页面先校验模型的硬件,再在消息离开你的浏览器之前加密每条消息。英伟达的服务不接受浏览器的请求,所以 GPU 证据经由 bInference 发给它,而英伟达对结果的签名由你的浏览器自己校验。
- **不使用工具和网页搜索。**封闭机器之外没有任何东西能读到对话,所以也没有其他东西能据此操作。
- **你的对话只保存在那个浏览器里。**bInference 不保留副本,也读不到。
- 每个回答都附有隐私证明链接,会在 binference.io/proof 打开它的校验。
你的 账户页面 会把私密 AI 和其他额度分开显示:剩余多少、过去 7 天质押带来多少、用了多少,以及最早一部分何时过期。
使用方法
安装 NEAR AI 的官方 SDK,它会替你验证硬件、加密和解密:
npm install @nearai/inference-sdk用你的 binf_ 密钥把它指向 bInference:
import { InferenceClient } from "@nearai/inference-sdk/node";
const client = new InferenceClient({
baseUrl: "https://binference.io/api/private/v1",
apiKey: process.env.BINFERENCE_API_KEY,
e2ee: true,
signingAlgo: "ecdsa",
gatewayVerification: { includeSpkiFingerprint: false },
});
const completion = await client.chat.completions.create({
model: "z-ai/glm-5.3-flash",
messages: [{ role: "user", content: "Should my agent buy now?" }],
});
console.log(completion.choices[0]?.message.content);
// Proof that this exact answer came from the attested hardware.
const proof = await client.verifyResponse(completion.id);
console.log(proof.signatureKind); // "provider_tee"e2ee: true:每条消息和每个工具字段在离开你的机器之前就会加密。signingAlgo: "ecdsa":请求可以在 BNB Chain 上由合约校验的签名。includeSpkiFingerprint: false:你的客户端看到的 TLS 证书是 bInference 的,不是 NEAR AI 的。硬件证明仍会被完整验证。- 流式输出的用法相同(
stream: true)。先读完整个流,再调用verifyResponse。
校验内容
- NEAR AI 的网关运行在封闭硬件中
它的 Intel TDX 证明,绑定一个新的随机数
你的 SDK - 模型运行在封闭硬件中
它的 Intel TDX 证明和经过度量的软件
你的 SDKbInference - 它的 GPU 运行在机密计算模式下
由英伟达自己的证明服务签署结论
你的 SDKbInference - 机器中的每个程序都是公开代码
启动以来的每个程序,都对应 GitHub 上一个签名的公开构建
bInference任何人 - 你加密所用的密钥是在内部生成的
绑定在模型的证明上,所以没有其他人持有它
你的 SDK - 每个回答都对原始字节签名
请求和回答各自的 SHA-256,在硬件内签名
你的 SDKbInference - 每天的回答和证据都在 BNB Chain 上
一个默克尔根,以及每个密钥的完整证据,任何人都能校验
任何人
收到回答后,verifyResponse 会校验覆盖原始字节的签名。bInference 也会用同样的方式自行验证每个签名密钥,并为每个已签名的回答保留一份收据:模型、请求和回答各自的 SHA-256,以及签名。绝不保存提示或回答。
机器中的每个程序。 SDK 能证明硬件是真实的,但不会认可其中任何特定的软件。bInference 也会校验这一点:模型所在的机器启动以来运行过的每个程序都是公开代码,要么由 GitHub 根据 NEAR AI 的公开代码库构建并签名,要么是固定为一个确切版本的公开镜像。机器自己记录启动内容的日志,会和我们的随机数(一个新的 BNB Chain 区块)一起哈希进英特尔签名的证明,所以校验能证明它发生在你的回答之后。
**亲自校验任何回答:**打开 binference.io/proof,粘贴回答的 ID,你的浏览器就会对照英特尔、英伟达、GitHub 和 BNB Chain 运行每项校验,而不是对照我们。
**BNB Chain 上的证明。**每天,当天所有已签名的回答会合成一个默克尔根,发布到 BNB Chain 上的 ProofLog 合约,每个签名密钥的完整证据也一起发布。任何人都可以对照它校验回答,隐私证明页面就是这样做的。
错误
| 代码 | HTTP | 怎么做 |
|---|---|---|
encryption_required | 400 | 这个路径只接受加密调用:使用 SDK 并设置 e2ee: true |
encryption_invalid | 400 | 加密请求头不完整:让 SDK 来发送它们 |
plaintext_fields | 400 | 有消息或工具字段没有加密:错误消息会指出是哪一个 |
model_not_encrypted | 404 | 这个模型不提供加密服务,或者用了别名:请使用它的准确 ID |
stake_required | 403 | 仅限 $BINF 质押者:质押 500,000+ $BINF 并使用你账户的密钥 |
private_unavailable | 503 | 加密模型暂时不可用:请稍后重试 |
余额、密钥上限和速率限制的回复与其他路径相同:见错误。
须知
- **只支持 Chat Completions。**Responses 和 Messages 格式暂时还不能加密。
- 托管 Agent 暂时不使用加密 AI:它们的提示由 bInference 编写,所以 bInference 会看到。
- **Agent 密钥稍后支持。**目前私密模型只接受你账户的密钥和 AI 对话,不接受你发行的 Agent 的密钥。
- 所有模型的普通调用继续在
/api/v1上照常工作。 - **校验看不到的内容:**NEAR AI 启动程序时传入的设置值,例如指标发送到哪里。这些设置的名称在公开的配置文件中,读取它们的代码也是公开的。
- **证明依赖英特尔和英伟达的硬件密钥。**目前还没有不依赖它们又足够快的方法:完全加密计算对聊天模型来说要慢上千倍。