作者:o1labs Phil Kelly

翻译:YBB Capital Erin

前言

Mina的重大升级带来了创新的零知识用例,引入了在客户端环境(如浏览器或服务器)中离线执行智能合约的能力。本文探讨了 zkApps(启用 zk 的应用程序)的重要性,它们对 Web3 的潜在影响,以及 Mina 即将到来的 Berkeley 升级的关键作用。

在快速发展的 Web3 领域中,零知识的最新突破已经开启了新的时代。从更快的 rollups 和轻客户端到桥接技术,zk 基础设施的进步一直在引起关注。但我们认为,一个真正改变游戏规则的能力已经出现——在客户端环境如浏览器或服务器中完全离线执行智能合约。

转移至链下

这是如何实现的?这一创新的关键在于使用 zk 应用程序(zkApp)代码制作智能合约。这种代码可确保防篡改执行,并能向第三方证明操作的正确性,而无需引入新的信任假设,本质上反映了链上智能合约的功能。

这些支持 zk 的应用程序影响深远。通过将智能合约的执行转移到链外,可以克服与链上执行相关的众多挑战,如 Gas 成本、数据限制、规模限制和时间滞后。此外,zkApps 还能增强隐私保护,允许验证年龄等敏感信息,而不会泄露出生日期等准确的个人详细信息。

zkApps 的推出将掀起一股创新浪潮,为 Web3 的赛弗朋克精神注入新的活力,并重振过去 5-10 年中一度被认为无法实现的想法。

在链上进行锚定

尽管 zkApps 具有链外功能,但锚定链仍然至关重要。经过两年多的开发,Mina的Berkeley升级版已进入最后准备阶段。为什么 zkApps 需要链?因为链外的 zkApp 证明需要验证,而利用链可以带来几项令人信任的验证优势:

  • 在链本身由专业的中立验证者进行自动验证

  • 根据验证结果自动触发后续行动(例如,当您证明自己年满 18 岁时,您的 DeFi 账户就会开通,交易就会结束)

  • 永久存储验证信息,用于未来数据参考

  • 可连接到其他链的验证

实际情况是,在链下智能合约和链上验证之间的验证过程听起来似乎是不那么性感的一步,如果出现错失,链外方法的优势就会很快被削弱。但如果没有像 Mina 这样专门构建的链,智能合约验证可能会变得庞大、复杂,而且耗资巨大,所以Mina 从一开始就是为处理零知识证明(ZKPs)而构建的。Berkeley升级后,Mina 区块链将成为验证链外应用证明的绝佳场所。为什么 Mina 将成为验证 zkApps 的绝佳场所?

  • 没有Gas成本,无论链下智能合约的规模的大小,验证链上证明的成本总是很低;

  • Mina的微小状态意味着在不久的将来,一个完整的节点应该能够在用户的浏览器中运行,允许提交证明而无需使用第三方的远程过程调用(RPC)协议——非常适合保护隐私;

  • Mina的微小状态还意味着它可以通过基于状态证明的桥接在其他链上进行表达(无需Token进行黑客攻击),因此 Mina 可以作为整个 Web3 的模块化证明层。除了其他许多功能之外,这可以让您仅需编写一次 zk 应用程序,一次在 Mina 上验证输出,然后将验证桥接到多个其他链上。这就是一个即时的、多链 DApp时代。

其验证可直接在 EVM 链上进行,但在软件应用领域我们都知道 "可以 "并不等于 "应该"。所以理论上EVM 也可以用作其他链的数据可用性(DA)层和去中心化排序器,但 Web3 世界已过验证模块化是实现这些专业功能的途径,而验证证明是一项高度专业化的功能。

链下革命

让我们回到应用程序代码上,展望2024年剩余时间,我们在o1Labs期待着由zk链下计算驱动的应用程序和用例创新的激增,而这种链下革命带来了几个令人兴奋的可能性:

无燃料费的计算:zk链下计算允许无需燃料费地进行任意大小的计算,无需信任;

可验证的隐私:客户端zk确保了可验证隐私的广泛可用性;

Web2数据的使用:使用多方计算(MPC)和ZK进行“公证”,使Web2数据的日常使用成为可能;

zkApps的简单构建:新的领域特定语言(DSL),如o1js,使用TypeScript,使开发人员能够快速轻松地构建zk应用程序。

o1js: 让链下也能访问 zk 代码

过去虽可以在链下构建 zk 代码,但实际一直存在困难,o1js 让这一切变得简单。通过利用 TypeScript,o1js 提供了一个高级、直观的语言,让您可以更轻松地部署和维护。由于 o1js 支持 WebAssembly (WASM) 功能,您的 zkApp 也可以在用户的浏览器中无缝运行。此外还可以使用 o1js 的递归能力将来自链下计算的多个证明汇总并压缩成一个小的证明。

o1js 自 2022 年以来已经可用,它不仅成熟还在获得新的能力。近期对 o1js 基本功能的一轮激动人心的增强,使 zk 应用程序能够处理更广泛的输入。示例包括:

  • 发布 ECDSA 和 Keccak 处理基元,这样您就可以使用经 MetaMask 签名的以太坊数据源数据;

  • 支持 SHA-256 加密技术,它是 Web2 世界中许多数据源(例如护照数据)的基础;

  • 公证和见证基元,使 Web2 会话中的信息成为经证明的数据(例如,您的银行账户余额)。更多相关信息,敬请关注!

 

加入 zkApp 革命

zkApps 在 Mina 上的出现标志着 Web3 发展的一个关键时刻,解锁了曾经被认为不切实际的可能性领域。我们很期待看到 Berkeley 升级后生态系统将构建什么。通过在 Twitter/X 上关注我们,并加入 Mina Discord,来及时了解 Berkeley 的最新动态。