场提供的关键功能包括去中心化证明生成、拍卖机制以及硬件利用率和成本效率。应用程序向网络提交证明请求,证明者使用证明生成硬件进行响应,确保有效处理证明请求。拍卖机制将这些请求与证明者进行匹配,从而实现有竞争力的证明定价。此外,证明者使用专用硬件,降低了证明成本,去中心化市场允许聚合不同应用程序的证明请求,从而提高硬件利用率和成本效益。 证明市场还确保了审查阻力和快速终结性,并实施了质押机制。市场保证了短期审查阻力,因此证明者的出价不会被不公平地阻止或忽略。证明者需要与网络进行质押,以防止恶意活动并确保网络的可靠性和完整性。 最后,市场利用规模经济。大规模协调 ZKP 生成可降低最终用户的成本。聚合证明订单流使证明者能够投资和运营更高效的基础设施。由于可以聚合证明以进行优化,因此应用程序还可以从降低的链上验证成本中受益。一些项目包括: Succinct Network:Succinct Labs 正在开发一个去中心化的证明者市场,作为其 Succinct Network 的一部分,旨在为 ZKP 创建统一协议。这个市场将允许应用程序将其证明生成外包给专门的证明者网络,为基于 ZKP 的系统提供更高效、更具成本效益的解决方案。证明者市场将通过拍卖机制运作,该机制将应用程序的证明请求与一组不同的证明者进行匹配。 =nil; Foundation:=nil; Foundation 已经开发了一个证明市场,这是一个去中心化的分布式系统,旨在作为 ZKP 的现货市场。这个市场允许证明请求者(例如应用程序)将 zkProof 的生成外包给专门的证明生产者。证明市场在 =nil; Foundation 的数据库管理系统之上运行,功能更像是“Proof DEX”,而不是中心化服务。 Gevulot:Gevulot 不是传统的证明者市场,而是模块化堆栈的去中心化证明层。它是一个无需许可且可编程的第 1 层区块链,专门设计用于将证明系统部署为链上程序。与典型的证明者市场不同,Gevulot 允许用户直接在区块链上部署证明者和验证者程序,类似于在以太坊上部署智能合约。这种方法使应用程序能够从去中心化证明中受益,而无需引导其证明者网络或依赖中心化解决方案。 2.2.2 证明聚合 资料来源:证明它:共享证明器、证明聚合和证明器市场 - Delphi Digital ZKP 聚合是一种将多个 ZKP 合并为一个证明的技术,可降低在链上验证这些证明的总体成本。这对于严重依赖 ZKP 的Rollup尤其有益。一些值得注意的项目包括: Polygon AggLayer:它旨在通过利用聚合 ZKP 和统一桥接合约 (LxLy Bridge) 实现 Polygon 生态系统中 L2 解决方案之间的顺畅互操作性。聚合证明可确保依赖链状态和捆绑包一致,防止无效Rollup状态在以太坊上结算(如果它依赖于另一条链的无效状态)。 Nebra:其产品通用证明聚合 (UPA) 是用于聚合 ZKP 的协议。Nebra 的 UPA 可以聚合来自不同路线、证明系统和各方的证明,从而将链上验证的 gas 成本降低 10 倍以上。 Nebra 与 AltLayer 等项目合作,将 UPA 集成到他们的Rollup解决方案中,使 AltLayer 的用户和 dApp 能够从大幅降低成本中受益。 Electron Labs:Electron Labs 开发了 Quantum,这是一个聚合层,它利用 zk-recursion 将来自不同协议和各种证明方案的证明聚合成一个“超级证明”。然后在以太坊上验证这个超级证明,分摊多个协议的验证成本,并为单个协议提供更便宜的验证。 2.3 证明验证 zkRollups 中的证明生成过程计算量很大。但是,在以太坊主网上验证这些证明相对轻量,在保持底层区块链的安全保障的同时实现了可扩展性。 以太坊中的 zk 验证智能合约使用高效的加密算法来验证有效性证明。如果证明有效,则提议的状态转换是正确的,并且新的状态根被接受,从而更新主网上的 rollup 状态。一些项目(如 Aligned Layer)通过利用以太坊中的验证器提供更快、更便宜的验证。 2.3.1 对齐层 资料来源:whitepaper.alignedlayer.com Aligned Layer 是专为以太坊设计的去中心化 ZKP 验证和聚合层。作为 EigenLayer 主动验证服务 (AVS),它通过名为“再质押”的过程利用以太坊的经济安全性,确保 ZKP 在以太坊区块链上得到准确验证和结算。 Aligned Layer 提供两种不同的操作模式来满足不同的需求。快速模式针对最低验证成本和低延迟进行了优化,使其成为需要快速且经济高效的证明验证的应用程序的理想选择。另一方面,慢速模式利用证明聚合来充分利用以太坊的安全保障,从而提供全面的安全性。这种双模式方法使 Aligned Layer 能够提供灵活的解决方案,可根据不同用例的特定要求在速度和安全性之间取得平衡。 3. zkRollups 分析 如第 2 节所述,各种项目都在优化 zkRollup 供应链。让我们仔细看看生产中最值得注意的 zkRollup 项目,特别是与 EVM 兼容的项目 zkSync 和 Starknet,以及与比特币兼容的项目 Merlin Chain 和 SNARKnado。 3.1 zkSync zkSync 是 Matter Labs 开发的 zkRollup 解决方案,旨在解决以太坊网络面临的可扩展性挑战。虽然 zkSync 最初的重点是扩展以太坊,但它的野心远不止于成为 L2 解决方案。Matter Labs 将 zkSync 设想为全面跨链生态系统的基础,旨在无缝连接各种基于 zkSync 的汇总。为了实现这一目标,zkSync 正在开发一个复杂但用户友好的跨链环境,其中包含 zkRollup 技术、ZK Chain 和 Hyperbridge。让我们来看看每个概念。 3.1.1 zkRollup——经济效率优化 zkSync 采用基于 zk-SNARK 的 zkRollup 技术,zk-SNARK 的证明生成和验证方法,证明体积小,验证速度快。但随着 zk-STARK 的量子抗性、大规模处理等优势凸显,zkSync 也在尝试部分采用 zk-STARK,比如名为“Boojum”的证明生成系统,就采用 zk-STARK 方法进行证明生成。 3.1.2 结构部件 Sequencer:zkSync 中的 Sequencer 按照特定的规则对交易进行排列和处理。Sequencer 包括 Prover,Prover 生成无法详细查看的证明和交易数据并发送到 Layer 1。 Prover:zkSync 中的 Prover 使用 zk-SNARK 生成证明,证明生成过程中使用的数据包括无法详细查看的交易数据和代表 L2 链状态变化的前后状态变化数据。生成的证明由 Layer 1 上的 Rollup 合约进行验证。 Settlement:zkSync 使用 Layer 2 上生成的数据进行验证,并在 Layer 1 智能合约中进行更新。如果出现验证问题,则受影响批次中的交易不会更新。这个过程是模块化的,下面将介绍每个 ZK Chain 连接一个或多个智能合约。 3.1.3 ZK Chain ZK Chain 是一条超越 Layer 2 的区块链,包含了 zkSync 提供的基础设施。之所以被称为超越 Layer 2,是因为 zkSync 采用了不受限制的分层结构,包括 L3 之类的分形结构。 目前最知名的 ZK Chain 是由 zkSync 构建的 zkSync Era。它兼容 EVM,允许部署简单的 dapp。然而,对于 zkSync 最终的跨链生态系统目标而言,不同 ZK Chain 之间的关系至关重要。zkSync 专注于如何与其他未来的 ZK Chain 连接。 利用 ZK Chain 环境的一个例子是 Hyperbridge。通过 Hyperbridge,用户可以方便地将来自连接链的所有资产发送到他们链特定的钱包中。当用户需要使用他们链上的资产时,中继器会促进资产的桥接、销毁和发行。 例如,如果使用跨链 Uniswap,并且 era.zksync 链上的用户想要将 1 ETH 兑换为 10,000 DAI,则流程如下: 从 era.zksync 链钱包生成“1 ETH → 10,000 DAI”交易。 中继器将 1 ETH 转移到 uni.chain,将其兑换为 10,000 DAI。 然后,中继器将交换后的 10,000 DAI 转移回 era.zksync 链。 这样,用户可以轻松使用 zkSync 的环境执行跨链交易,而无需了解有关其他链的详细信息。 3.1.4 EVM兼容性 zkSync 目前声称与 Solidity 和 Vyper 的兼容性达到 99%。最初,zkSync 支持类似于 Rust 的语言 Zinc,以实现更合适、更高效的 zkEVM。然而,他们将重点转移到 Solidity 兼容性上,自 2021 年 9 月起停止了 Zinc 的开发,以确保全面优化。 3.2 Starknet Starknet 与 zkSync 类似,都是基于 zkRollup 的第 2 层解决方案,但其技术堆栈和内部技术有所不同。值得注意的是,它使用 zk-STARK 而不是 zk-SNARK,并使用自己的智能合约语言 Cairo。 3.2.1 zk Rollup - 专注于高容量 Rollup 处理 Starknet 使用 zk-STARK 生成和验证与 Rollup 相关的证明。与 zkSync 类似,它仅使用前后状态变化来更有效地在第 1 层管理 Rollup 数据。 此外,由于 Starknet 采用 zk-STARK,它受益于无信任环境和同时处理大量交易的能力。这使得 Starknet 成为交易量大的 DeFi dApp 或游戏 dApp 的首选。 3.2.2 结构特点 从结构上看,Starknet 采用与其他 zkRollup 类似的架构。但它的不同之处在于积极利用 zk-STARK 零知识证明模型,并通过其专有编程语言 Cairo 保持 EVM 兼容性。 来源:Starknet 架构:概述 Sequencer:Starknet 中的 Sequencer 在管理交易的验证和执行以及提议区块方面起着至关重要的作用。它的主要功能是批量处理交易。未通过验证的交易受到 Sequencer 的限制,只有经过验证的交易才会被纳入区块。Sequencer 还包括一个证明者,负责将完成的 rollup 数据发送到 Layer 1。 证明者:Starknet 中的证明者使用 zk-STARK 生成证明。在证明生成过程中,证明者保存每个交易执行步骤以创建 Execution Trace 并跟踪 L2 链中的状态变化,记录 State Diff。证明生成过程需要大量的计算资源,并设计为支持并行处理,允许多个证明者分工并同时执行任务。 结算:Layer 2 上生成的数据传输到 Layer 1(例如以太坊),其中组件接受交易并管理证明和状态差异。这些组件由两个智能合约处理:验证者合约和 Starknet 核心合约。验证者合约会分析从第 2 层收到的证明,如果发现任何问题,则对交易行使否决权。如果证明的有效性得到确认,则将其转移到 Starknet 核心合约,该合约使用提供的状态更改更新第 1 层链。此更新状态将添加到第 1 层链块中,一旦该块通过第 1 层的流程,它就会受到第 1 层的影响。 3.2.3 EVM 兼容性 Starknet 正在通过 Cairo 语言开发自己独特的 EVM 兼容性路径。要在 Starknet 上部署智能合约,必须使用 Cairo。虽然 Cairo 尚不支持许多 Solidity 功能,尽管 Cairo 开发人员的数量正在增加,但在社区规模和采用率方面仍落后于 Solidity。 Starknet 的智能合约语言 Cairo 继承了 Rust 的功能。它针对 zk-STARK 证明生成进行了优化,可以高效地执行和生成智能合约的证明。克服使用 Cairo 的障碍可以在更好的环境中部署和执行智能合约,并将数据安全地汇总到第 1 层。 下表概述了 Cairo 和 Solidity 之间的主要区别。 3.3 Merlin Chain Merlin Chain 是 Bitmap Tech 开发的基于比特币的第 2 层 zkRollup 解决方案,该公司主要专注于以太坊。Merlin Chain 基于 Polygon 的零知识证明技术,具有与 EVM 兼容的优势,同时将Rollup数据安全地存储到比特币 L1。通过这种方式,Merlin Chain 旨在提高流动性并扩大比特币网络内的生态系统,包括 BTC,其口号是“让比特币再次变得有趣”。 3.3.1 zkRollup - 针对比特币特性的混合方法 Merlin Chain 使用结合了 zk-SNARK 和 zk-STARK 的 zkRollup 技术。最初,由于比特币网络的结构特性为图灵不完备,无法在比特币网络上直接验证 ZKP。然而,在 Taproot 升级后,部分验证变得可行。Merlin Chain 利用 Taproot 将链下生成的Rollup数据和证明数据记录到比特币网络上。 在 Merlin Chain 中,zkProver 负责验证交易数据的有效性,并根据验证的数据生成证明。这个过程的阶段如下: Merlin Chain 的序列节点将当前状态信息存储在数据库中。 序列节点将交易发送给 zkProver。 zkProver 访问数据库以检索交易验证所需的数据。 一旦 zkProver 完成交易验证,它就会生成证明并将其发送给序列节点。 该过程涉及几个步骤。首先,使用 Polygon zkEVM 团队开发的基于 zk 汇编语言 (zkASM) 的 zkEVM 验证和处理交易。然后使用 zk-STARK 的高容量处理能力聚合生成的数据并进行压缩以优化Rollup经济效率。最后,使用 zk-SNARK 生成产生一致证明大小的证明。然后在去中心化的 Merlin Chain 预言机网络环境中验证生成的数据和证明,并通过 Taproot 上传到比特币网络。 3.3.3 未来升级:链上欺诈证明 虽然 zkRollup 似乎可以很好地应用于以太坊生态系统的 L2 解决方案(如第 3.2.1 节所述),但它本身无法完美保证 rollup 内交易的有效性和准确性。为了弥合比特币网络结构差异造成的差距,Merlin Chain 独特地计划引入类似于 optimistic rollup 的链上防欺诈机制。 链上防欺诈机制在 rollup 数据提议者和挑战者的关系中运作。如果挑战者认为 rollup 数据不正确,他们可以挑战上传到比特币网络的交易数据、ZK 状态信息和 ZK 证明。大多数 L2 交易不需要在比特币网络(L1)上重新验证,但如果对先前提出的 rollup 数据提出挑战,则必须重新执行和验证数据和交易。如果发现某个角色有过错,他们将受到惩罚。 3.3.4 EVM 兼容性 Merlin Chain 通过在其 zkProver 中使用基于 zkASM 的 zkEVM 实现 EVM 兼容性。这使得使用现有以太坊开发工具和基础设施开发的智能合约可以在比特币网络上执行,从而提供了将以太坊的功能扩展到比特币的优势。 3.4 SNARKnado SNARKnado 是 Alpen Labs 使用 zk-SNARK 实现的基于比特币的第 2 层解决方案。Alpen Labs 旨在利用 SNARKnado 使区块链更专注于验证而不是计算,从而在比特币生态系统中实现更高的可扩展性和效率。 3.4.1 zkRollup - BitVM 的继任者 SNARKnado 是一种经过修改的模型,它针对 zk-SNARK 进行了进一步优化,该模型借鉴了 BitVM Optimism 方法中使用的证明者-挑战者结构。与 BitVM 相比,这使其性能提高了约八倍。但是,它仍然没有达到 BitVM2 允许任何人发起挑战的优势,因为 SNARKnado 目前将挑战能力限制在允许的角色中。 3.4.2 结构特点 证明验证方法 - 二分多项式 使用 zk-SNARK 允许 SNARKnado 以较小的证明大小管理比特币上的Rollup数据和证明数据,但比特币对复杂计算的限制需要对证明验证进行优化。SNARKnado 通过使用二分多项式转换证明数据来解决此问题。验证过程通过 Taproot 升级启用的链上计算进行。 当证明者收到挑战时,他们会披露挑战所需的一些数据,并与挑战者一起进行验证过程。二分多项式方法用于验证,确定哪个角色(证明者或挑战者)有错。 3.4.3 SNARKnado 与 BitVM 或 BitVM2 SNARKnado 与 BitVM 有许多相似之处,特别是作为 BitVM 和 BitVM2 之间的中点出现。那么,它们之间有什么区别呢?(由于 BitVM2 是比 BitVM 更先进的模型,因此比较将主要集中在 BitVM2 上。) 首先,考虑比特币内部资源的使用情况。BitVM2 固有地显示链上资源使用量的线性增加,而 SNARKnado 将这种增加降低到平方根级别,从而优化链上资源使用量。另一个区别在于能够发出挑战的角色的可访问性。虽然 SNARKnado 将挑战限制在允许的角色中,但 BitVM2 允许任何人在未经许可的情况下发出挑战。 3.4.4 EVM 兼容性 根据 Alpen Labs 的最新记录,EVM 兼容性尚未得到官方支持,目前也没有任何关于 EVM 兼容性的未来计划。 4. 展望未来 回顾最近推出的 zkRollups 主网,我们看到了 2023 年 8 月推出的 zkSync Era 和 2023 年 12 月推出的 Polygon zkEVM。这些项目推出的时间并不长,因此大多数项目仍在积极开发中。此外,开发范围已不仅限于 zkEVM。通用 zkVM、zkWasm 和链下协处理器也在执行部分开发中,其中使用自定义 zk 路线。 随着基本执行和证明生成变得更加可靠,人们正在努力提高供应链效率。策略包括建立证明者市场、聚合多个证明以及创建验证层以进行经济高效的验证。预计未来 zkRollups 的供应链将变得更加高效和实惠。 来源:金色财经lg...