以太坊基金会与Open Anonymity在以太坊主网推出zkAPI
要点速览
- •zkAPI由以太坊基金会与Open Anity Project合作在以太坊主网推出,使用户能够为按量计费的API(包括AI服务)付费,而无需将使用记录与计费身份关联。
- •在runtime-key模式下,支付服务器看不到提示内容,AI提供商也无法得知付款方的计费身份,这意味着没有任何单一中间方能同时掌握请求内容和付款方身份。
- •该系统使用BN254曲线上的Groth16证明、Poseidon哈希和Nullifier防止重复花费,支出在用户设备上得到证明,而以太坊合约作为余额的强制保障。
- •即使zkAPI服务器不可用,用户仍可通过以太坊合约提取已存入的USDC,本地客户端支持标准的OpenAI和Ollama API,便于现有应用接入。
- •基金会承认zkAPI无法隐藏提示内容、IP地址或请求时间,提供商仍可能通过重复使用的个人信息、写作风格或对话历史将各次会话关联起来。

根据以太坊基金会10月1日的博客文章,以太坊基金会与Open Anonymity Project已在以太坊主网推出zkAPI,这是一个让用户能够为按量计费的API(包括AI服务)付费、而无需将使用记录与计费身份关联的系统。此次发布将基于账户的API计费通常合并在一起的两种角色分离开来:为服务付费的一方和发起每次请求的一方。
工作原理
用户将充值额度存入以太坊金库,然后通过在自己设备上生成的零知识证明来授权支出。证明用于验证已充值余额足以支付费用,而无需暴露充值记录或其背后的用户身份。
在runtime-key模式下,支付服务器验证证明并签发一个设有支出限额的短期API密钥。随后提示内容直接从用户设备传输至AI提供商。当密钥到期时,一份签名的使用回执确定从私密余额中扣除的费用。基金会表示,在该模式下,支付服务器看不到提示内容,而AI提供商虽然能看到请求,却无法得知密钥背后的计费身份。这种分离意味着在整个流程中,没有任何单一中间方能同时掌握请求内容和付款方身份。
一种更简单的代理模式则通过zkAPI服务器转发请求,允许该中间方查看流量——这是其配置更简单所付出的代价。
密码学设计
该系统使用BN254曲线上的Groth16证明、Poseidon哈希以及32层Merkle树。Nullifier用于识别重复花费的企图。支出证明在链下验证,而金库则验证充值、余额结算和紧急提款的证明。在实践中,支出在用户设备上得到证明,而以太坊合约仍作为余额的强制保障。
即使zkAPI服务器不可用,用户仍可通过以太坊合约提取资金,因此已存入资金的使用并不依赖于服务的持续在线。本地客户端支持标准的OpenAI和Ollama API,使现有应用能够通过本地端点接入。
范围与局限性
基金会表示,同样的设计还可支持区块链RPC查询、图像和视频生成、VPN带宽以及机器对机器服务。主网上的实际金库目前持有USDC额度,此外还有Sepolia测试网部署可供测试,提供了一条不涉及主网额度的测试途径。
基金会还指出了该系统的边界:zkAPI无法隐藏提示内容、IP地址或请求时间。提供商仍可能通过重复使用的个人信息、写作风格或对话历史将各次会话关联起来。网络匿名性和内容隐私被标记为两个独立的局限。这些边界共同标明了系统隐私保障的尽头,为开发者提供了一份关于zkAPI能隐藏什么、不能隐藏什么的具体清单。
开发背景
该实现基于Davide Crapis和Vitalik Buterin的一项以太坊研究设计。Open Anonymity协助开发了客户端、服务器和合约。从基金会所述的局限性到其提出的超出AI访问范围的扩展,项目自身的文档勾勒出zkAPI在发布之后值得关注的方面。