以太坊ZK协处理器Axiom V2上线 开发者用例一览
作者:Yi Sun,Axiom;翻译:0xjs@金色财经
Axiom V2现已于1月22日在以太坊主网上线。Axiom 允许智能合约以无需信任的方式计算更多数据,包含以太坊的整个历史数据。我们认为数据访问的高成本是智能合约的关键瓶颈。通过使用 ZK 消除这一瓶颈,我们的目标是让开发者能够构建数据丰富的链上应用程序。
Axiom V2 版本增加了对交易、收据和 Solidity 映射到之前可用的账户、合约存储和区块头的支持,这意味着以太坊的完整历史记录现在可以通过 Axiom 在链上获得。开发人员使用 Axiom SDK 在 Typescript 中查询此历史记录,该 SDK 现在支持对数据类型和块的任意组合进行用户自定义指定的计算。借助我们新的通用验证器,从 Axiom 接收链上经过 ZK 验证的结果只需要在智能合约中实现单个回调。?
我们让你可以轻松地在智能合约中使用 Axiom – 它只需要 Solidity 和 Typescript – 并且你可以通过直接在链上发送交易来查询 Axiom。要尝试一下,请运行npx create-axiom-client启动启动存储库或查看我们的开发人员文档docs.axiom.xyz。您可以在此处查看我们在以太坊主网和 Sepolia 上的合约,并在explorer.axiom.xyz上查看对 Axiom 的查询。
在发布V2 版本的同时,我们将 Axiom V2 测试网从 Goerli 迁移到 Sepolia,并于 2024 年 1 月 22 日弃用 Axiom V1。
Axiom V2 现已部署在以太坊主网上并可供生产使用。在应用程序中使用 Axiom 需要两个步骤:
1、使用 Axiom Typescript SDK编写Axiom 电路,该电路请求对来自以太坊的历史数据进行 ZK 验证计算。
2、使用 Axiom 智能合约 SDK实现Axiom 客户端合约,该 SDK 通过链上回调从 Axiom 接收经过 ZK 验证的结果。
首先,运行:npx create-axiom-client?
这将创建一个具有默认电路和合约的入门存储库以及默认的 Next.js Web 前端,可用于为你的 dapp 发起对 Axiom 的查询。?
你可以使用 Axiom SDK 为应用程序定制电路,它提供:
计算以太坊账户的平均历史余额的 Axiom 电路示例
编写 Axiom 电路可以完全在 Typescript 中完成,如上面的示例所示。要集成到你的应用程序中,编译 Axiom 电路会创建一个 ZK 证明者,可用于在你的 Web 应用程序或服务器上创建 Axiom 查询。
要在应用程序中使用 Axiom 的结果,只需实现_validateAxiomV2Call和_axiomV2Callback函数即可使用查询结果验证和执行 Axiom 提供的回调。
Axiom 客户端合约接受带有 ZK 证明的 Axiom 结果的callback
为了进行测试,我们编写了 Foundry 测试库的扩展,它提供了作弊代码来根据你的智能合约在本地测试 Axiom 电路。这使得 Axiom 支持的应用程序可以在标准智能合约工作流程中进行测试。
使用我们的 Foundry 作弊代码测试发送查询和恶作剧callback
Axiom V2 背后的智能合约和 ZK 电路在我们的Github上完全开源,并经过Spearbit、Zellic和Trail of Bits的审计。你只需将链上交易发送到部署在以太坊主网和 Sepolia 测试网上的 AxiomV2Query 智能合约即可查询 Axiom。
Axiom允许智能合约开发人员访问链上新型数据。我们从以太坊的历史开始,包括交易、收据和历史状态。它保存着有关链上声誉和身份、DeFi 交易和治理参与的关键信息,但令人惊讶的是,以前如果不依赖中心化的链下预言机,智能合约就无法访问它。
开发人员可以通过 Axiom 访问新可用的链上数据并将其纳入其合约中,包括:
Axiom 查询结果通过 ZK 证明在链上进行验证,这意味着它们的正确性在密码学上等同于通过 EVM 访问的数据。这使得 Axiom 能够在单个查询中组合不同类型的链上信息,并无需许可地与现有协议进行互操作。这使得新型信任最小化应用程序能够包含:
我们很高兴支持开发人员使用这些原语和其他由以太坊丰富历史支持的原语来构建引人注目的新链上体验。
在接下来几周内,我们将分享更多关于已经集成 Axiom 的早期合作伙伴的信息,访问有关汇总和跨桥上的以太坊 L1 的 Axiom 查询,以及我们未来升级的路线图。