产生有效性证明的信息,目前相对安全,但量子计算的进步可能会打破其安全模型。 使用 ZK SNARK的项目 Polygon Hermez Polygon 在 2021 年 以 2.5 亿美元并购 Hermez,成为首个两个区块链网络全面并购的案例。Hermez 给 Polygon 快速增长的用户群带来的 ZK 技术和工具,使 Polygon 获得开发 zkEVM 的支持。Hermez 1.0 是支付平台,把一批交易在链外执行,允许用户便捷地把 ERC-20 代币从一个 Hermez 账户转移到另一个 Hermez 账户,每秒交易可达 2000 次。 Hermez 2.0 作为一个零知识的 zkEVM 以透明方式执行以太坊交易,包括具有零知识验证的智能合约。其可与以太坊完全兼容,无需对智能合约代码进行太多改动,方便开发者将 L1 的项目部署到 Polygon Hermez 上。Hermez 1.0 使用 SNARK-proofs,2.0 中同时使用 SNARK-proofs 和 STARK-proofs。在 2.0,使用 STARK-proof 证明链外交易的有效性。但 STARK-proof 在主链上验证的成本很高,因此引入 SNARK-proof 来验证 STARK 。 zkSync Matter Labs 于 2020 年推出的 zkSync 1.0 不支持智能合约,主要用于交易或转账。支持智能合约的 ZkSync 2.0 已于 2023 年 3 月份公开上线主网。 ZkSync 把以太坊上的智能合约源代码 Solidity 编译为 Yul 来实现 EVM 的兼容性。Yul 是可以编译成不同 EVM 的字节码的中间语言。使用 LLVM 编译器框架可以将 Yul 代码重新编译为为 zkSync 的 zkEVM 设计的自定义、电路兼容的字节码集。通过这种方法,免除通过更高级别的代码对 EVM 执行中的所有步骤进行 zk 证明,从而在保持高性能的同时更容易使证明过程去中心化。未来还可以通过构建新的编译器前端来添加对 Rust、Javascript 或其他语言的支持,增加 zkEVM 架构的灵活性和更多的开发者。 Aztec Aztec 是第一个混合型 zkRollup,在一个环境中同时实现公共和私有智能合约的执行。这是一个零知识的执行环境,而非 zkEVM。通过将公共和私有执行合并到单个混合汇总中来实现机密性,例如公开 AMM 的隐私交易、公开游戏中的私密对话、公开 DAO 的隐私投票等等。 4.2 ZK-STARK ZK-STARK 不需要可信的设置。ZK-STARK 是 for Zero-Knowledge Scalable Transparent Argument of Knowledge 的缩写。相比 ZK-SNARK, ZK- STARK 有更好的可拓展性和和透明性。 优势 1. 去信任 ZK-STARK 公开可验证随机来取代可信设置,减少对参与人的依赖,提高协议安全性。 2. 更强的扩展能力 即使底层计算的复杂性呈指数级增长,ZK-STARK 依然保持了较低的证明和验证时间,而非像 ZK-SNARK 线性增长。 3. 更高的安全保证 ZK-STARK 使用抗碰撞哈希值进行加密,而不是 ZK-SNARK 中使用的椭圆曲线方案,可抗量子计算的攻击。 局限 1. 更大的证明尺寸 ZK-STARK 证明尺寸更大,使得在主网验证的成更更高。 2.较低的采用率 ZK-SNARK 是零知识证明是区块链中的第一个实际应用,因此大多数 ZK rollup 采用 ZK-SNARK, 具有更成熟的开发者系统和工具。尽管 ZK-STARK 也有以太坊基金会的支持,但是相比之下采用率不足,基础工具还有待完善。 哪些项目使用 ZK-STARK? Polygon Miden Polygon Miden,一个基于 Ethereum L2 的扩展解决方案,利用 zk-STARK 技术将大量 L2 交易集成到单一的以太坊交易中,从而提升了处理能力并降低了交易成本。在不进行分片的情况下,Polygon Miden 可以在 5 秒内产生一个区块,并且其 TPS 可以达到 1000 以上。而在进行分片后,其 TPS 可高达 10,000。用户只需要 15 分钟,就能将资金从 Polygon Miden 提现到 Ethereum。Polygon Miden 的核心功能是一个基于 STARK 的图灵完备虚拟机——Miden VM,它使得合约的形式化验证变得更为简便。 StarkEx 和 StarkNet StarkEx 是一个需要许可的、为特定应用程序定制的扩展解决方案的框架。项目可以使用 StarkEx 来进行低成本的链下计算,生成证明执行正确性的 STARK 证明。这样的证明包含 12,000–500,000 笔交易。最后将证明发送到链上的 STARK 验证器,验证正确后接受状态更新。在 StarkEx 上部署的应用程序包括永续期权 dYdX、NFT L2 Immutable、体育数字卡牌交易市场 Sorare 和多链 DeFi 聚合器 rhino.fi。 StarkNet 是一个无需许可的 L2,任何人员都可以在其中部署以 Cairo 语言开发的智能合约。部署在 StarkNet 上的合约之间可以进行交互来构建新的可组合协议。与应用程序负责提交交易的 StarkEx 不同,StarkNet 的排序器批量交易并发送它们进行处理和证明。StarkNet 更适合需要与其他协议同步交互或超出 StarkEx 应用范围的协议。随着 StarkNet 开发的进展,基于 StarkEx 的应用将能够移植到 StarkNet,享受可组合性。 ZK-SNARK 和 ZK-STARK 对比 4.3 递归 ZK-SNARK 普通 ZK rollup 只能处理一个交易区块,这限制了他们可以处理的交易数量。递归 ZK-SNARK 可以验证一个以上的交易区块,把不同的 L2 区块生成的 SNARK 合并为一个单一的有效性证明,提交给 L1 链。一旦 L1 链上合约接受了提交的证明,所有这些交易都会变得有效, 极大地增加了可以用零知识证明最终完成的交易数量。 Plonky2 是 Polygon Zero 的一种使用递归 ZK-SNARK 来增加交易的新证明机制。递归 SNARK 通过将几个证明聚集到一个递归证明中,来扩展证明生成过程。Plonky2 使用同样的技术来减少生成新区块证明的时间。Plonky2 将成千上万的交易并行生成证明,再递归地将它们聚合成一个区块证明,因此生成速度很快。而普通的证明机制试图一次性生成整个区块证明,效率更低。此外,Plonky2 还可以在消费级设备上生成证明,解决了 SNARK 证明常伴随的的硬件集中化问题。 5. Zero Knowledge Rollup VS Optimistic Rollup ZK-SNARK 和 ZK-STARK 已经成为区块链扩展项目的核心基础设施,特别是 Zero Knowledge Rollup 方案中。Zero-Knowledge Rollup 就是指是指使用零知识证明技术将所有的计算转移到链下处理来减轻网络堵塞的一种以太坊的二层扩容解决方案。Zero Knowledge Rollup 的主要优点是可以大幅提高以太坊的交易吞吐量,同时保持较低的交易费用,且交易一旦打包进 rollup,就能立即确定。 目前以太坊的 L2 扩展方案除了 Zero Knowledge Rollup, 还有 Optimistic Rollup。在 Optimistic Rollup 运行的交易被默认为有效并立即执行。只有当发现欺诈性交易时(有人提交欺诈证明),该交易才会被撤销。所以安全性是低于 Zero Knowledge Rollup 的。为了防止欺诈交易,Optimistic Rollup 设有一段挑战期,如果交易需要在挑战期过后才能最终确定。这可能导致用户在取回他们的资金时需要等待一段时间。 最初设计 EVM 的时候没有考虑到使用零知识证明技术。以太坊创始人 Vitalik 认为短期内 Zero Knowledge Rollup 存在技术上的复杂性,但最终在扩容战争中会战胜 Optimistic Rollup。以下是 Zero Knowledge Rollup 和 Optimistic Rollup 的对比。 来源:SUSS NiFT, ChatGPT 6. 零知识证明技术的未来前景如何? 零知识证明技术领域处于独特的地位:近年来,经过大量努力致力于推进该领域的研究,许多成果在密码学和安全通信领域都是相当新的。因此,许多有趣的问题还有待学术界和开发者社区解答。与此同时,零知识证明技术被用于各类项目,展现了零知识技术的挑战并拓展了其要求。 零知识证明技术值得关注的领域之一是零知识证明技术的后量子安全性的讨论。可公开验证的 SNARK(简洁的非交互式知识论证)是零知识技术领域的关键组成部分。然而,大多数广泛使用的可公开验证的 SNARK 方案并不被认为是量子安全的。例如 Groth16、Sonic、Marlin、SuperSonic 和 Spartan。这些方案所依赖的数学问题可在量子计算机的帮助下会被有效解决,这大大损害了它们在后量子世界中的安全性。 我们发现学术界正在积极寻找量子安全的零知识证明,该证明可用于各种没有预处理阶段的语句。目前最先进的量子安全零知识证明的例子包括 Ligero、Aurora、Fractal、Lattice Bulletproofs 和 LPK22 等方案。Ligero、Aurora 和 Fractal 基于哈希函数,而 Lattice Bulletproofs 和 LKP22 基于点阵函数。这两个函数都被认为是量子安全的。推广这些方案并提高其效率已成为趋势。 我们对零知识技术未来的另一个期望是它抵抗攻击的能力和实现相关的代码成熟度。鉴于编写的代码量的增加,将会有更多安全且经过审查的库和最佳实践用于各种零知识证明技术。当然,未来也会有更多将等待被发现和沟通的常见错误。我们期望该领域成熟并被高度采用,努力标准化协议并确保不同实现之间的互操作性, 一个名为 ZKProof 的项目已经开始这样做了。 零知识技术社区中将继续存在的另一个趋势是在高效算法和可能的特殊硬件上进行更多工作。近年来,我们已经看到证明大小的减小以及证明者和验证者变得更加高效。算法、特殊硬件和计算优化的进步可能会带来更快、更具扩展性的实现。 虽然现有算法的效率有利于未来零知识证明技术的用户,但我们也期望看到零知识证明的功能不断扩大。过去,我们在实现预处理 ZK-SNARK 时遇到过很多实例。现在我们发现越来越多的可升级 ZK-SNARK 实例。此外,一些零知识证明技术的使用更多是因为其简洁性,而不是其零知识能力。 最后,零知识证明技术的另一个趋势是机器学习与零知识证明的交叉(ZKML)。这个想法需要在多方环境中训练大型语言模型,并使用零知识技术来验证计算。这对于当前人工智能非常有用。该领域有兴起项目的可能。 结束语 本文由区块链安全联盟成员共同撰写,通过本文的介绍,我们可以了解到零知识证明在区块链领域的广泛应用,技术路径,发展趋势与所面临的挑战。相信随着硬件技术与密码学的发展,零知识证明将在未来取得更多突破,为数字世界提供更快速,更安全的应用服务。 来源:金色财经lg...