Lens推出基础设施Lens Netw
ZK Rollups:房间里的大象
原文作者:Jaehyun Ha
编译:深潮 TechFlow
摘要
虽然零知识证明(ZKPs)有望打造一个更加私密和可扩展的区块链生态系统,但许多关于零知识(ZK)的方面被误解或与普遍认知中的实施方式不同。
ZKPs 主要有两个方面:“零知识”和“简洁性”。虽然这种说法没有错,但大多数 ZK rollups 只利用了简洁性属性,交易数据和账户信息并没有完全保持零知识或私密。
对于各种类型的 DApps,ZK rollups 可能不是最佳的开发堆栈选择。例如,生成 ZKPs 可能成为快速终结的瓶颈,从而降低Web3游戏的性能,而基于状态差异发布的数据可用性保证方法可能会损害 DeFi 借贷协议的服务。
图 1 :ZK 是一个很好的流行词
来源:imgflip
区块链行业的当前状态可以比喻为零知识(ZK)时代。无论你走到哪里,ZK 都很突出,找到不将 ZK 纳入其名称的下一代区块链项目变得越来越罕见。从技术角度看,无可否认,ZK 是一项有前景的技术,能够为更具可扩展性和私密性的区块链生态系统做出贡献。然而,由于 ZK 的复杂技术背景,许多投资者,无论是散户还是机构,常常基于“相信”这看起来很酷、新颖且可能解决区块链三难问题而投资于 ZK 项目,而没有完全理解 ZK 技术如何使每个项目受益。
在这个 ZK 系列中,我们将探讨 ZK rollups 的难以忽视的事实(缺点和劣势)及其有益的应用。首先,我们将解析区块链中 ZK 证明(ZKPs)的两个核心属性:“零知识”和“简洁性”。然后,我们将讨论当前在服务中的大量 ZK rollups 为何没有真正利用“零知识”方面。接下来,我们将研究在哪些领域应用 ZK rollup 比较有害而非有益,避免实施复杂性等众所周知的问题。最后,我们将突出那些有效体现 ZK 原则并实际从使用 ZK 技术中获得明显好处的杰出项目。
回顾:ZK Rollups 中的交易生命周期
Rollup 是一种扩展解决方案,通过在链外执行交易束然后将最新 L2 状态的摘要数据存储在 L1 上来解决 L1 的吞吐量限制。其中,ZK Rollups 的突出特点是能够通过在链上提交链下计算的有效性证明来快速提取资金。在我们深入研究 ZK rollups 的问题之前,让我们简单回顾一下它的交易生命周期。
图 2 :ZK rollups 中的交易生命周期
来源:Presto 研究中心
每个L2用户生成并提交他们的交易给序列器。
序列器聚合并排序多个交易,然后在链下执行这些交易以计算新的 rollup 状态。随后,序列器将这个新的 rollup 状态以“批次”形式提交到链上状态智能合约,并压缩相应的L2交易数据成为数据块以确保数据可用性。
这个批次被发送给证明者,证明者创建该批次执行的有效性证明(或 ZKP)。然后,这个有效性证明连同额外数据(即之前的状态根)一起发送到L1的验证者智能合约,这有助于验证者识别它正在验证的内容。
在验证者合约检查证明有效后,rollup 的状态会被更新,且已提交批次中的L2交易被视为已完成。
(请注意,这种解释是 ZK Rollup 过程的简化版本,每种实现可能因协议而异。如果我们区分角色,L2中可能有更多实体,如聚合器、执行器和提议者。数据块的层级也可能不同,如块、块组和批次,具体取决于它们的用途。上述解释假设了一个情况,即一个集中式序列器具有强大的权威来执行交易,并且还生成统一的数据块格式为批次。)
与 Optimistic Rollups 不同,得益于 ZKPs(例如 ZK-SNARKs 或 ZK-STARKs),ZK Rollups 可以通过验证一个简单的证明来验证数千个交易的执行正确性,而无需重播所有交易。那么,这个 ZKP 是什么,它有什么特性呢?
ZKPs 的两个属性:零知识和简洁性
顾名思义,ZKP 基本上是一种证明。证明可以是任何能够充分支持提供者声明的东西。假设 Bob(提供者)想要让 Alice(验证者)相信他对自己的笔记本电脑有权威。证明这一点最简单的方法是,Bob 只告诉 Alice 密码,Alice 在笔记本上输入密码并验证 Bob 确实有权限。然而,这个验证过程对 Alice 和 Bob 来说都是不满意的。如果 Bob 设置了一个非常长且复杂的密码,Alice 要正确输入将非常具有挑战性(假设 Alice 不能复制粘贴)。更现实的是,Bob 可能不愿意透露他的密码给 Alice 以证明他的权限。