Cointime

扫码下载App
iOS & Android

区块链扩展的下一个前沿:深入探索ZK Rollups

原文标题: ZK Rollups: Elephant In the Room

原文作者:Jaehyun Ha

原文编译:深潮 TechFlow

区块链行业的当前状态可以比喻为零知识(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 研究中心

1. 每个 L2 用户生成并提交他们的交易给序列器。

2. 序列器聚合并排序多个交易,然后在链下执行这些交易以计算新的 rollup 状态。随后,序列器将这个新的 rollup 状态以「批次」形式提交到链上状态智能合约,并压缩相应的 L2 交易数据成为数据块以确保数据可用性。

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

4. 在验证者合约检查证明有效后,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 以证明他的权限。

如果有一种验证过程,Alice 可以迅速验证计算机的权限,而无需 Bob 透露他的密码呢?例如,Bob 可以在 Alice 面前用指纹识别解锁笔记本电脑,正如图 3 中所示(注意这不是 ZKP 的完美示例)。这是 Alice 和 Bob 都可以从 ZKPs 的两个关键属性中受益的地方:零知识属性和简洁性属性。

图 3:零知识和简洁性的高级直觉来源:imgflip

零知识(ZK)

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

简洁性

简洁性属性指的是 ZK 能够从大尺寸的声明生成一个短小且快速验证的证明,换句话说,它将大的东西压缩成紧凑的形式。在区块链中,这一点特别用于 rollups。使用 ZKPs,L2 中的验证者可以通过向 L1 中的验证者提交一个简洁的证明来声称交易的正确执行(TB 级交易的有效性可以用 10~100 KB 的证明表示)。然后,验证者可以通过验证简洁的证明而不是重播所有交易,在短时间内(即 10 毫秒至 1 秒)轻松确认执行的有效性。

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

上述 ZKP 的特性在 ZK Rollups 中得到了很好的利用。虽然验证者无法从提供者接收的 ZKPs 中推断原始交易数据,但验证简洁的证明允许他们有效地验证提供者的声明(即新的 L2 状态)。也就是说,断言当前的 ZK Rollups 完全遵循零知识和简洁性属性是误导的。这可能在专注于提供者与验证者之间的互动时是正确的,但 ZK Rollups 中还存在其他组成部分,如序列器、提供者和 rollup 节点。那么,「零知识」原则也为他们确保了吗?

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

图 4:ZK rollups 中的隐私泄露来源:Presto 研究

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

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

出于这个原因,一些 ZK Rollups,如 Starknet,将自己称为「有效性 Rollups」,以避免混淆,而确保真正 ZK 隐私的其他,如 Aztec,将自己标记为 ZK-ZK rollups。

深入考量 ZK Rollups 的实用性

正如前文提到的,大多数 ZK Rollups 并未完全实现 ZK 隐私。那么,我们的下一个目标是什么?通过在 Rollup 的每个部分全面部署 ZK 来实现完全的交易隐私?事实上,这并不是一个简单的问题。除了需要显著的技术进步以进一步成熟技术外,ZK 在意识形态(例如私人交易的非法使用)和实用性(例如它真的有用吗?)方面仍存在争议问题。鉴于讨论完全交易隐私的道德问题超出了本文的范围,我们将关注区块链项目中遇到的 ZK Rollups 的两个实用性问题。

第 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 Rollups 的终结时间统计数据,zkSync Era 大约需要 2 小时,Linea 需要 3 小时,而 Starknet 平均需要约 8 小时。这是因为生成一个 ZKP 需要时间,将更多交易包含在一个批次(即单一证明)中以减少交易费用也需要额外时间。换句话说,生成和提交证明的速度是实现 ZK Rollups 快速终结的潜在瓶颈,这可能会降低 Web3 游戏中的用户体验。

图 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 rollups 中确保数据可用性的方法之一(参见 Unlocking Dencun Upgrade: Unseen Truth of Scaling DA Layers, Jaehyun Ha, 12Apr24)。

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

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

图 6:原始交易发布与状态差异发布来源:Presto 研究

这种状态差异方法无疑在成本上比原始交易数据发布方法有利,因为它可以省去存储中间交易的步骤,从而减少 L1 的存储成本。尽管这通常不是问题,但这里还是有一个潜在的缺陷:这种方法不允许恢复完整的 L2 交易历史,这对某些 DApps 可能是一个问题。

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

结论

本文主要断言,大多数当今的 ZK Rollups 中并不存在「ZK」,在 DApp 中的很多地方,使用 ZKP 和 ZK 程序可能不是最佳选择。ZK 技术可能因被指责而感到无辜,因为它本身并没有什么问题,只是在利用其技术进步的过程中,它可能会带来 DApps 的潜在性能下降。然而,这并不是说 ZK 技术对这个行业毫无用处。当 ZKPs 和 ZK rollups 最终技术成熟时,它们肯定可以提供更好的解决方案来解决区块链三难问题。实际上,目前已有基于 ZK 的项目维护了 ZK 隐私,也有许多类型的 DApps 有效利用了 ZKP 和 ZK 卷积的优势。

评论

所有评论

推荐阅读

  • 法官再次驳回马斯克高额薪酬计划 特斯拉:上诉

    美国特拉华州法官再次驳回马斯克在特斯拉的高额薪酬计划,特斯拉官方社交媒体对此回应称,法院的判决是错误的,我们要上诉。这一裁决如果没有被推翻,就意味着是法官和原告律师在管理特拉华州的公司,而非它们的合法所有者——股东。

  • OpenAI回应被马斯克起诉:申请重复且依然毫无根据

    近日马斯克要求美国一法院阻止美国开放人工智能研究中心 OpenAI 非法转型为营利性企业。OpenAI 的一位发言人表示,马斯克的申请重复,且依然毫无根据。 今年 2 月,马斯克提起诉讼,称其在为 OpenAI 的创立提供资金等支持时,与该公司两名联合创始人曾有协议,OpenAI 应为非营利组织,但 OpenAI 违背了创始目标和使命,转而追求利润。6 月,马斯克撤回这一诉讼,8 月份又重新起诉。今年 11 月,马斯克对 OpenAI 提起的诉讼再度升级,指控 OpenAI 试图垄断生成式人工智能市场。

  • 国际刑警组织:警惕一种涉及稳定币的新兴加密货币欺诈行为

    国际刑警组织金融犯罪行动创纪录逮捕 5,500 人,缴获价值超过 4 亿美元的赃物。在行动期间发布了紫色通告,国际刑警组织警告各国警惕一种涉及稳定币的新兴加密货币欺诈行为。成员国被告知“USDT 代币批准骗局”,该骗局允许欺诈者访问和控制受害者的加密货币钱包。该两步方法首先使用浪漫诱饵技术引诱受害者,指示他们通过合法平台购买流行的 Tether 稳定币(USDT 代币)。一旦骗子赢得了受害者的信任,就会向受害者提供钓鱼链接,声称允许他们设置投资账户。实际上,通过点击,他们授权骗子完全访问,然后他们可以在受害者不知情的情况下将资金从钱包中转出。

  • 马斯克称SpaceX市值可能突破万亿美元

    有网友在社交媒体平台X发帖称,世界上有9家市值超万亿美元的公司,其中8家是美国公司。 对此,马斯克回复称,SpaceX有一天可能会成为它们中的一员。

  • 韩国再次推迟征收加密货币税,至2027年

    在今日的新闻发布会上,韩国最大在野党共同民主党(Democratic Party of Korea)院内领袖朴赞大(Park Chan-dae)宣布,放弃在 2025 年实施加密货币利得税的计划,同意再推迟两年至 2027 年。“推迟加密货币利得税”的提案由韩国政府和执政党国民力量党(People Power Party)提出,共同民主党此前称,推迟征税是执政党的政治伎俩。 最初,韩国计划对加密货币收益征收 20% 税款(22% 为地方税),原定于 2022 年 1 月 1 日生效。由于投资者和行业的强烈反对,该计划已两次推迟至 2025 年 1 月 1 日。今日新闻发布会后,将该税征收再次推迟至 2027 年。执政党国民力量党(People Power Party)还提出,“加密利得税宽限期 2 年仍不足够,应当放宽至 2028 年征收,对加密货币快速征税不可取,投资者可能会因此离开市场。国民力量党希望将实施时间推迟到 2028 年,以兑现在选举期间的承诺。”

  • 社区反馈链上AI代理Spectral交互合约遭黑客攻击

    12月1日消息,据 X 用户@RuslanMoody 发文提醒:“请勿与链上 AI 代理 Spectral 网站交互,其交互合约已遭黑客攻击。注:这不适用于流动性已在 Uniswap 上锁定的代币。” 另据 X 用户@0xYong_W 表示,Spectral 内盘已被别人“掏池子”。

  • 日本金融厅建议放宽信托银行发行稳定币的准备金要求,并实施旅行规则

    日本金融厅(FSA)近日向金融系统委员会支付服务工作组提出了一些有关加密货币和稳定币的想法,其中提到不愿允许信托银行以外的银行发行稳定币。而对于信托银行发行的稳定币,金融厅希望放宽目前要求所有资产必须以银行活期存款形式持有的准备金要求。但是,金融厅还希望实施旅行规则,要求信托银行发行的稳定币转账必须进行 KYC。 日本于 2022 年通过了稳定币立法,支持银行、持牌汇款公司和信托公司发行稳定币。作为其工作组演示的一部分,金融厅区分了在许可区块链上发行的稳定币和在公共区块链上发行的稳定币。它对这三种稳定币都存在于许可链上感到满意,但对允许持牌存款机构在非许可链上发行稳定币持谨慎态度。

  • 专注于零知识证明的区块链Gevulot完成600万美元种子轮融资,Variant领投

    专注于零知识证明的区块链Gevulot完成600万美元种子轮融资,Variant领投,RockawayX、Volt Capital 和 Stake Facilities 以及 Polygon Labs 首席执行官 Marc Boiron 和 Manta Network 创始人 Shumo Chu 等个人支持者参与。 Gevulot 没有透露其估值。 Gevulot 计划将资金分配给其L1区块链的推出,该区块链使开发人员能够利用ZK 证明并将计算任务委托给先进的硬件运营商网络。

  • 中科大首次实现以器件无关量子随机数产生器,消除非交互式零知识证明安全隐患

    中国科学技术大学潘建伟院士等研究者首次实现一套以器件无关量子随机数产生器作为熵源,以后量子密码作为身份认证的随机数信标公共服务,将其应用到零知识证明领域中,消除了非交互式零知识证明中实现真随机数的困难所带来的安全隐患,提高了非交互式零知识证明的安全性。非交互式零知识证明广泛应用于数字签名、区块链和身份认证等领域,由于真随机数生成器难以实现,通常会使用确定性的伪随机数算法来替代。 据了解,此次研究工作首次将量子非局域性、量子安全算法和零知识证明3个不同的领域结合起来,大幅提升了零知识证明的安全性,其中构建的面向公众的随机数服务在密码学、彩票业和社会公益等领域有着重要的应用潜力。

  • 零知识加密公司Toposware融资500万美元,Polygon联创参投

    零知识加密技术公司Toposware宣布完成500万美元的战略种子延期融资,投资者包括Evolution Equity Partners、Triatomic Capital、K2 Access Fund和Polygon联合创始人Sandeep Nailwal。 新闻稿称,最新一轮融资的目的是吸引主要风险投资公司和行业领导者加入,他们在制定全球标准、扩大无处不在的产品以扩大市场份额以及调整目标市场领域的准入和效用方面拥有直接经验。