# zkEVMs：不是灵丹妙药

By [MINA Holder](https://paragraph.com/@mina-holder) · 2022-08-07

---

原文地址：[https://eng-blog.o1labs.org/posts/plonk/](https://blog.o1labs.org/zkevms-not-a-panacea-8fb64adb071f)

作者：O(1) Labs

鉴于最近关于 zkEVM 的所有新闻，您可能会认为 Web3 世界在零知识证明 (ZKP) 上已接近“任务完成”。在 O(1) Labs，虽然我们对零知识证明世界的整体进展速度感到兴奋，但我们认为这些公告只是实现 ZKP 可以带来的所有好处的道路上的一步。让我解释：

> _今天市场上基本上有两个 ZKP“运动”，使用相同的高级密码学原理，但技术方法和实际目标截然不同：_

(1) 可扩展性： zkEVM 以及迄今为止宣布的其他 zk rollup 将有助于扩展“正常”Web3 活动——基本上可以降低以当前形式运行智能合约的成本，而无需添加任何新功能，以解决主要 L1 的挑战。（Mina 也与可扩展性空间相关，与其他方法相比具有潜在优势——稍后会详细介绍。）

(2) 隐私和证明：更广泛的类别可以称为“可验证的链下计算”，隐私和证明是两个关键用例，但为了便于在本文中解释，我将其缩小。O(1) Labs 和少数其他项目首先专注于向市场提供一种全新的能力。这允许在不披露基础信息（私有、可验证的计算）的情况下证明某些事情。一些示例用例包括：

*   私人/匿名投票、推特、聊天等仅限于封闭组（例如，在过去 6 个月内拥有代币 x 的任何人）。
    

广泛的身份例程：

*   在不破坏钱包和交易的情况下证明你的 Web3 生活（例如，向 DAO 或潜在的项目合作伙伴证明你在 2014 年持有加密货币）
    
*   证明来自 Web2 资源的东西，而不会对你的链下生活造成影响——例如，向 defi 协议证明你不是 OFAC 批准的国家的居民，或者你的信用评分超过 700
    
*   在没有数据接收者见证数据来源的情况下证明数据的来源（zkOracles 和链下计算的证明）
    

随着时间的推移，这些功能将与所有链一起使用——EVM 兼容和其他方式——实际上，在不久的将来，它们并不是 zk 可扩展性汇总、EVM 或其他方式中的原生选项。

举一个例子，说明这两种方法在技术上有何不同： 隐私和证明（可验证的链下计算）用例需要一些非常复杂的链下活动，因为在证明的生命周期中有两个步骤：

a.处理需要保密的数据，并在客户端生成证明（在我们的例子中，通过使用 O(1) Labs 的 SnarkyJS 库开发的产品），以及

b.在第二步中验证证明的完整性（在我们的案例中是 Mina 区块链）。

O(1) Labs 的信念是，有效（时间和成本）处理隐私和证明的零知识证明需要一个专门的、专用的平台来生成和验证证明，因此我们的工作重点是过去 5 年的 Mina 协议，以及我们对 SnarkyJS 开发的关注。

SnarkyJS 与 Mina 结合使用有很多优点。这些包括：

*   SnarkyJS 允许在客户端，在常规浏览器内部生成证明，这样只有证明而不是底层数据会离开用户的设备。这确保了完全的隐私（大多数其他证明系统需要将数据发送到外部证明生成器，这会影响数据公开、成本和速度）。
    
*   证明系统（SnarkyJS + Mina）是专门为使用基于 PLONK 的 zkSNARK 机制而构建的，该机制不需要设置仪式，无限递归，并通过自定义门等技术进行了优化。
    
*   Mina 的交易费用稳定、低，没有汽油费。这允许任意复杂的计算需要与最简单的计算相同的链上费用。
    
*   Mina 有一个很小的链状态（他们[宣传 22kb，但目前更接近 11kb](https://minaprotocol.com/blog/22kb-sized-blockchain-a-technical-reference)），使用无限递归技术实现。这有什么帮助？
    
*   解决了随着状态累积而影响其他链的链膨胀问题，
    
*   降低运行节点的障碍，更容易实现去中心化。举一个实际的例子：你可以在几分钟内建立一个 Mina 节点并让它参与区块生产，因为它只需要在它加入之前验证一个恒定的、设定数量的最近区块/链状态证明。而在其他 L1 上同步新节点可能需要几天时间。易于设置和运行 Mina 节点应该会减少对其他 L1 中常见的链入口服务的需求，并且是中心化点。随着时间的推移，个人移动设备将能够运行节点。
    
*   Mina 的整个链状态可以直接记录在其他链上。以太坊基金会和米娜基金会共同发起了一个以太坊桥[项目](https://verify.mina.nil.foundation/)Nil 团队就是这样做的——在以太坊主网上建立一个智能合约，维护整个 Mina 链状态的最新记录。这通常被称为“桥”，但我认为这是一种跨链共享数据的新方法（它不依赖于最近被证明对某些桥很脆弱的方法，例如多个分片密钥监护人，或令牌驱动的信任），并且应该被称为 zkBridge 或指出替换或增强其他桥接技术的方式。这样的桥梁将允许 Mina 积累许多 ZK 证明，然后将它们“汇总”到其他 L1，从而为用户提供更高的效率，从而降低交易成本。
    

另一种看待这一点的方式是，Mina 成为一个全球 L2，为任何 L1 链提供私有 zk 功能。虽然 Mina 是[L1](https://medium.com/minaprotocol/understanding-the-l1-race-zkevms-and-other-common-l1-features-a130b056cdc6)，但由于隐私和证明的独特作用，我们预计在很多情况下，Mina 上的 ZKP 电路会在客户甚至是另一个 L1 上的 dapp 的交易生命周期中整体使用。例如，以太坊主网 defi 协议可能会使用 Mina 让客户在客户入职和帐户维护方面以匿名方式证明他们的居住地和信用评分范围。也就是说，我们预计会有许多原生的 Mina 用例，并将 Mina 视为多链活动中的中介环境。

> _Mina 是否期望支持高规模？根据 Mina Foundation 首席执行官 Evan_[_最近的推文，是的。_](https://twitter.com/evanashapiro/status/1549899736911515648)_事实上，作为我们上一个_[_zkApps Builders Program_](https://minacrypto.com/2022/05/16/o1-labs-announce-2022-summer-zkapps-builders-program/)_的一部分启动的一个汇总项目_[_现在由 Mina 基金会资助_](https://twitter.com/MinaProtocol/status/1553163677905338375?s=20&t=LG35dEb5dUHZMapftICwSA)[_，_](https://minacrypto.com/2022/05/16/o1-labs-announce-2022-summer-zkapps-builders-program/)_并且一些 dapp 正在探索特定于 dapp 的汇总，并汇总到 Mina 主网。_

随着我们走向 zkApps 上线，O(1) Labs 将发布一些关于 SnarkyJS 和 Mina 用例特定部署的更深入的观点。同时，请查看以下链接加入我们的零知识证明运动！

*   [使用我们的 SnarkyJS 发布周中的材料](https://www.crowdcast.io/e/snarkyjs-week-2022)学习基础知识，如果您是[这里](https://docs.minaprotocol.com/en/zkapps)的开发人员，可以开始构建 zkApps 。
    
*   阅读有关我们启动合作伙伴计划的[公告](https://blog.o1labs.org/announcing-the-snarkyjs-launch-partner-program-5e7db549edb5)，Web3 隐私和证明创新者（例如 Brave Browser、SISMO 和 DIA）使用 SnarkyJS 构建 ZK 智能合约代码并提供反馈。
    
*   申请即将推出的 O(1) Labs-run [zkApps Builders Program](https://www2.minaprotocol.com/2022-summer-zkapps-builders-program)，供开发人员使用。

---

*Originally published on [MINA Holder](https://paragraph.com/@mina-holder/zkevms)*
