图标安装ios 图标安装ios icon_install_android_web

ZK Rollups:房间里的大象

分析7 年前发布 6086比...
133 0

原作者:Jaehyun Ha

编译:TechFlow

概括

  • 虽然零知识证明(ZKP)有望 更加私密且可扩展 区块链生态系统中,零知识(ZK)的许多方面被误解或实现方式与人们普遍认为的不同。

  • ZKP主要有两个方面: “零知识”和“简洁性”。 虽然这种说法没有错,但是大多数 ZK Rollup 仅仅利用了简洁性特性,交易数据和账户信息并不是完全零知识或私密的。

  • 对于各种类型的 DApp, ZK Rollups 可能不是开发堆栈的最佳选择 例如,生成 ZKP 可能会成为快速最终确定性的瓶颈,从而降低 Web3 游戏的性能,而基于状态差异发布的数据可用性保证可能会损害 DeFi 借贷协议的服务。

ZK Rollups:房间里的大象

图 1:ZK 是一个很流行的词

资料来源:imgflip

区块链行业的现状可以比作零知识(ZK)时代。 ZK 无论走到哪里都引人注目,越来越难找到一个不将 ZK 融入其名称的下一代区块链项目。从技术角度来看,不可否认 ZK 是一项有前途的技术,可以为更具可扩展性和私密性的区块链生态系统做出贡献。然而,由于 ZK 的技术背景复杂,许多投资者(无论是散户还是机构投资者)往往基于“相信”它看起来很酷、很新颖,而且可能解决区块链三难困境而投资 ZK 项目,而没有完全理解 ZK 技术如何使每个项目受益。

在本系列文章中,我们将探讨 ZK Rollup 的不便之处(缺点和劣势)及其有益应用。首先,我们将解析区块链中 ZK 证明 (ZKP) 的两个核心属性:“零知识”和“简洁性”。然后,我们将讨论目前投入使用的大量 ZK Rollup 为何没有真正利用“零知识”方面。接下来,我们将研究应用 ZK Rollup 弊大于利的领域,避免实施复杂性等众所周知的问题。最后,我们将重点介绍有效体现 ZK 原则并真正从使用 ZK 技术中获得明显好处的杰出项目。

回顾:ZK Rollups 中的交易生命周期

Rollup 是一种扩展解决方案,通过在链下执行交易捆绑,然后将最新 L2 状态的摘要数据存储在 L1 上来解决 L1 吞吐量限制。其中,ZK Rollups 的突出特点是能够通过在链上提交链下计算的有效性证明来快速提取资金。在深入探讨 ZK Rollups 的问题之前,让我们简单回顾一下它的交易生命周期。

ZK Rollups:房间里的大象

图 2:ZK Rollups 中的交易生命周期

来源:Presto 研究中心

  • 每个 L2 用户生成并提交他们的交易给排序器。

  • 排序器将多笔交易进行聚合和排序,然后在链下执行这些交易以计算出新的 rollup 状态。排序器随后将这个新的 rollup 状态以批量的形式提交给链上状态智能合约,并将对应的 L2 交易数据压缩成数据块,以保证数据的可用性。

  • 该批次被发送给证明者,证明者创建批次执行的有效性证明(或 ZKP)。然后,该有效性证明连同附加数据(即先前的状态根)一起发送到 L1 上的验证者智能合约,这有助于验证者识别其正在验证的内容。

  • 在验证者合约检查证明有效之后,rollup 的状态会更新,并且提交批次中的 L2 交易将被视为完成。

(请注意,此解释是 ZK Rollup 流程的简化版本,每个协议的实现可能有所不同。如果我们区分角色,L2 中可能会有更多的实体,例如聚合器、执行器和提议器。数据块的层次结构也可能不同,例如块、块组和批次,具体取决于它们的用途。上面的解释假设一个集中式排序器具有强大的权限来执行交易,并且还会生成统一的数据块格式作为批次。)

与 Optimistic Rollups 不同的是,得益于 ZKP(例如 ZK-SNARKs 或 ZK-STARKs),ZK Rollups 可以通过验证一个简单的证明来验证数千笔交易执行的正确性,而无需重放所有交易。那么,这个 ZKP 是什么,它有什么特点呢?

ZKP 的两个特性:零知识和简单性

顾名思义,ZKP 基本上是一种证明。证明可以是任何能够充分支持提供商声明的东西。假设 Bob(提供商)想说服 Alice(验证者)他对笔记本电脑有权限。证明这一点的最简单方法是 Bob 直接告诉 Alice 密码,然后 Alice 在笔记本电脑上输入密码并验证 Bob 确实有权限。然而,这个验证过程对 Alice 和 Bob 来说都不令人满意。如果 Bob 设置了一个非常长且复杂的密码,那么 Alice 很难正确输入(假设 Alice 不会复制和粘贴)。更现实的是,Bob 可能不愿意向 Alice 透露他的密码来证明他的权威。

如果有一个验证过程,Alice 可以快速验证对计算机的访问权限而无需 Bob 透露密码,会怎么样?例如,Bob 可以在 Alice 面前使用指纹识别解锁笔记本电脑,如图 3 所示(请注意,这不是 ZKP 的完美示例)。Alice 和 Bob 都可以从 ZKP 的两个关键属性中受益: 零知识性质和简单性性质。

ZK Rollups:房间里的大象

图 3:零知识和简单性的高级直觉

资料来源:imgflip

零知识(ZK)

零知识属性是指提供者生成的证明除了证明的有效性之外,不会透露有关秘密见证人的任何信息(即私人数据),使验证者对数据一无所知。在区块链中,此属性可用于保护个人用户的隐私。如果将 ZKP 应用于每笔交易,用户可以证明其行为的合法性(即证明用户有足够的资金进行交易),而无需向公众暴露其交易细节(例如,转账、账户余额更新、智能合约部署和执行)。

简单

简洁性是指 ZK 能够从大型语句生成简短且可快速验证的证明,换句话说,它将大型语句压缩为紧凑的形式。在区块链中,这对于 rollups 特别有用。使用 ZKP,L2 中的验证者可以通过向 L1 中的验证者提交简洁的证明来声明交易的正确执行(TB 级交易的有效性可以用 10~100 KB 的证明来表示)。然后,验证者可以通过验证简洁的证明在短时间内(即 10 毫秒到 1 秒)轻松确认执行的有效性,而无需重放所有交易。

ZK Rollup 很棒,但并不意味着隐私

上述 ZKP 的特性在 ZK Rollups 中得到了很好的利用。虽然验证者无法从提供商处收到的 ZKP 推断出原始交易数据,但验证简洁证明可以让他们有效地验证提供商的声明(即新的 L2 状态)。话虽如此,断言当前的 ZK Rollups 完全遵守零知识和简洁性属性是一种误导。当关注提供商和验证者之间的交互时,这可能是正确的,但 ZK Rollups 中还有其他组件,例如排序器、提供商和 rollup 节点。那么,零知识原则是否也为它们提供了保障?

在任何 ZK Rollups 中使用 ZKP 实现完全隐私的挑战来自于如果某些部分通过 ZK 设为私有而其他部分保持公开则可能出现的妥协。 想想 ZK Rollups 中的交易生命周期,当交易从用户发送到排序器时,隐私是否得到维护?对于提供商来说呢?或者当 L2 批次提交到 DA 层时,个人帐户信息的隐私是否得到保护?目前,这些都不是真的。

ZK Rollups:房间里的大象

图 4:ZK Rollups 中的隐私泄露

资料来源:Presto Research

在大多数主流的 ZK Rollup 中,排序器或提供者(或其他拥有强大权限的中心化实体)可以清晰地看到交易的详细信息,包括转账金额、账户余额更新、合约部署和执行。举一个简单的例子,你可以通过访问任何一个 ZK Rollup 区块浏览器,就可以轻松观察到所有提到的细节。不仅如此,考虑这样一种情况,中心化排序器因为某种原因停止服务,另一个 rollup 节点试图恢复 rollup 状态。它会从 DA 层(大多数情况下是以太坊的 L1)公开发布的 L2 数据中提取信息,重建 L2 状态。在这个过程中,任何能够重放 DA 层存储的 L2 交易的节点都可以恢复每个用户账户状态的信息。

因此,在目前的 ZK Rollups 中,“零知识”这一术语是以碎片化的形式实现的。虽然这不能被认为是错误的, 这显然不同于“ZK 意味着零知识,相当于完全隐私”的普遍认知。目前 ZK Rollups 的创新之处在于利用“简洁性”而非“零知识”属性,即在链下执行交易并为验证者生成简洁的证明,以便他们可以快速且可扩展地验证执行的有效性,而无需重新执行。

出于这个原因,一些 ZK Rollups(例如 Starknet)将自己称为“Validity Rollups”,以避免混淆,而其他能够确保真正 ZK 隐私的 Rollups(例如 Aztec)则将自己标记为 ZK-ZK Rollups。

对 ZK Rollups 实用性的深入思考

前面提到,大多数 ZK Rollup 都没有完全实现 ZK 隐私。那么,我们的下一个目标是什么?通过在 Rollup 的每一个部分完全部署 ZK 来实现完全的交易隐私?其实这并不是一个简单的问题。除了需要重大的技术进步来让技术进一步成熟之外,ZK 在意识形态(比如隐私交易的非法用途)和实用性(比如它真的有用吗?)上仍然存在争议的问题。鉴于讨论完全交易隐私的伦理问题超出了本文的讨论范围,我们将重点讨论区块链项目中遇到的两个 ZK Rollup 实际问题。

要点 1:生成 ZKP 可能会成为快速确定性的瓶颈

首先我们来讨论一下 ZK Rollups 本身的实用性。ZK Rollups 最引人注目的卖点是由于 ZKP 的交易快速终结性而降低了资产提取的延迟。增加 TPS 和降低交易费用是额外的好处。最能有效利用 ZK Rollups 特性的领域是游戏行业,因为游戏内货币的存取非常频繁,每秒都会产生大量的游戏内交易。

但 ZK Rollups 真的可以被认为是游戏的最佳技术栈吗?为此,我们需要更深入地思考 ZK Rollups 中的快速终结性概念。想象一下,一个用户正在享受一款基于 ZK Rollup 技术栈运行的 Web3 游戏。用户用游戏内物品换取游戏币,并试图从游戏中提取资产。

要提取资产,游戏内交易必须被最终确认。这意味着交易必须被纳入新的 Rollup 状态承诺中,对应的 ZKP 应该被提交到 L1,并且需要等待 L1 以太坊中证明的最终性以确保交易不可逆。如果所有这些过程都可以即时发生,那么我们就可以实现 ZK Rollups 经常吹捧的即时交易确认,让用户可以立即提取资产。

但事实远非如此。 根据 L2beat 提供的不同 ZK Rollup 的最终时间统计 其中,zkSync Era 大约需要 2 小时,Linea 大约需要 3 小时,Starknet 大约需要 8 小时。这是因为生成 ZKP 需要时间,同时还需要额外的时间将更多交易纳入一批(即单个证明)以降低交易费用。换句话说,生成和提交证明的速度是实现 ZK Rollups 快速确定性的潜在瓶颈,这可能会降低 Web3 游戏中的用户体验。

ZK Rollups:房间里的大象

图 5:ZKP 生成可能是 ZK Rollups 快速确定性的潜在瓶颈

资料来源:imgflip

另一方面,像 Ronin(为 Pixels 和 Axie Infinity 等 Web3 游戏提供支持)这样的游戏优化链确保了超快速的最终性,牺牲了去中心化和安全性。Ronin 不是基于 ZK 或 Rollup 的链:它是在 PoA(权威证明)+ DPoS(委托权益证明)共识算法下运行的 EVM 区块链。它根据委托的权益数量选择 22 个验证者,然后这些验证者以 PoA 方式生成和验证区块(即仅在 22 个验证者之间进行投票的过程)。因此,在 Ronin 上,交易能够快速完成,几乎没有延迟地包含在区块中,并且验证时间很短。在 Shillin 硬分叉之后,平均仅需要 6 秒 每笔交易都需要经过验证才能最终完成。Ronin 无需 ZKP 即可实现所有这些。

当然,Ronin 也有缺点。由中心化验证者管理使其相对更容易受到 51% 攻击的威胁。另外,由于它不使用以太坊作为结算层,因此无法继承以太坊的安全性。使用跨链桥也存在安全风险。但从用户的角度来看:他们关心这些吗?当前没有去中心化排序的 ZK Rollups 也存在单点故障(SPOF)问题。以太坊为它们提供了保证,因为它降低了交易回滚的可能性,但如果中心化排序器或验证者发生故障,ZK Rollups 也会冻结。再次注意,ZK Rollups 中的 ZK 仅用于验证执行正确性的有效性。如果有另一个项目提供相同的功能,但速度更快、更便宜,ZK Rollups 可能不再被 Web3 游戏用户和开发者视为首选技术栈。

第 2 点:发布状态差异是一把双刃剑

另外一点是 ZK Rollup 协议实现的实用性。其中,我们这里重点介绍状态差异发布,这是 ZK Rollup 中保证数据可用性的方法之一(见 解锁 Dencun 升级:扩展 DA 层的不为人知的真相 ,Jaehyun Ha,24年4月12日)。

理解 Rollups 中数据可用性的一个简单方法是想象一个业余登山者证明并记录他登上珠穆朗玛峰的过程。最简单的方法是用视频记录下从大本营到山顶的每一步。虽然视频文件可能很大,但任何人都可以验证登山者的攀登情况,并可能重播录像。这个比喻可以与原始交易数据发布方法进行比较,以确保数据可用性。Optimistic Rollups 遵循这种方法,以便各个挑战者可以重播并验证正确执行,因为序列器的状态承诺是不可信任的。在 ZK Rollups 中,Polygon zkEVM 和 Scroll 采用了这种方法,将原始的 L2 交易数据以压缩形式存储在 L1 上,以便任何人都可以重播 L2 交易以在需要时恢复 Rollup 的状态。

回到业余登山者的例子,另一种验证方法可能是让一位著名登山者和这位业余登山者一起攀登珠穆朗玛峰,向世界证明这次攀登确实完成了。由于这次攀登已经得到了一位值得信赖的人的确认,登山者不再需要记录每一步。只需在起点和山顶拍一张照片,就能让别人相信登山者已经到达了山顶。这个比喻反映了 国家差异方法 用于保证数据的可用性。在 ZK Rollups 中,zkSync Era 和 StarkNet 都采用了这种方式,只保存 L2 交易在 L1 上执行前后的状态差异,这样任何人都可以在必要时计算出与初始状态的状态差异,从而恢复 Rollup 的状态。

ZK Rollups:房间里的大象

图 6:原始交易发布和状态差异发布

资料来源:Presto Research

这种状态差异方法相对于原有的交易数据发布方法无疑是节省成本的,因为它可以省去存储中间交易的步骤,从而降低 L1 的存储成本。虽然这通常不是问题,但这里有一个潜在的缺陷:这种方法不允许恢复完整的 L2 交易历史,这对某些 DApp 来说可能是一个问题。

以 DeFi 借贷协议 Compound 为例,假设它建立在基于状态差异的 ZK Rollup 堆栈之上。这些协议需要完整的交易历史记录来计算每秒的供应和借贷利率。然而,如果 ZK Rollup 定序器发生故障,当其他 Rollup 节点尝试恢复最新状态时会发生什么?它可能会恢复状态,但利率将恢复不准确,因为它只能跟踪批次之间的快照,而不是每个中间交易。

综上所述

本文的主要主张是 如今大多数的 ZK Rollups 中都没有“ZK”,而且在 DApp 中有很多地方使用 ZKPs 和 ZK 程序可能不是最好的选择。 ZK 技术可能因为本身并没有什么问题而觉得自己被指责是无辜的,但在利用其技术进步的过程中,它可能给 DApp 带来潜在的性能下降。然而,这并不是说 ZK 技术对行业毫无用处。当 ZKP 和 ZK Rollup 最终成熟时,它们肯定可以为区块链三难困境提供更好的解决方案。事实上,目前已经有基于 ZK 的项目保持了 ZK 隐私,也有很多类型的 DApp 有效地利用了 ZKP 和 ZK 卷积。

原文链接

本文来源于网络:ZK Rollups: The Elephant in the Room

相关:香港现货ETF即将上市,还有哪些香港概念项目值得关注?

4月24日,据官方消息,华夏基金(香港)今日宣布,华夏基金比特币ETF和华夏基金以太坊ETF已获香港证券及期货事务监察委员会(证监会)批准,定于2024年4月29日发行,并于2024年4月30日在香港交易平台上市。这是此类产品首次在亚洲市场推出。这两类产品旨在提供锚定比特币和以太坊现货价格的投资回报。这一重大举措再次让港股概念受到关注。今年初,港股概念龙头CFX在两个月内从US$0.19涨至US$0.52。…

© 版权声明

相关文章