什么样的第三层是有意义的?

文章讨论了区块链中的Layer 3概念,探讨了在Layer 2基础上构建Layer 3以进一步提升扩展性的可能性,并分析了Layer 3的不同用途,如隐私保护、定制化功能和弱信任扩展。文章还探讨了Rollups和Validiums的设计及其在扩展性方案中的角色,提出了在Layer 1和Layer 2之间插入证明聚合层的可能性。

什么样的 Layer 3 是有意义的?

什么样的 Layer 3 是有意义的?

特别感谢 Georgios Konstantopoulos、Karl Floersch 和 Starkware 团队的反馈和审查。

在 Layer 2 扩容讨论中经常重新出现的一个话题是“Layer 3”的概念。如果我们能构建一个锚定在 Layer 1 上以获取安全性并在其上增加可扩展性的 Layer 2 协议,那么我们当然可以通过构建一个Layer 3协议来进一步扩展,该协议锚定在 Layer 2 上以获取安全性并在其上增加更多的可扩展性

这个想法的一个简单版本是:如果你有一个可以提供二次扩展的方案,你能把这个方案堆叠在它自己之上并获得指数扩展吗?类似的想法包括我 2015 年的扩容论文Plasma 论文中的多层扩容想法以及更多。不幸的是,这种简单的 Layer 3 概念很少能如此轻松地实现。设计中总有一些东西是不可堆叠的,只能提供一次扩展性提升——数据可用性的限制、紧急提款对 L1 带宽的依赖,或许多其他问题。

关于 Layer 3 的新想法,例如 Starkware 提出的框架,更加复杂:它们不仅仅是将相同的东西堆叠在自身之上,而是为第二层和第三层分配了不同的目的。某种形式的这种方法可能是一个好主意——如果以正确的方式完成。本文将深入探讨在三层架构中哪些做法有意义,哪些没有意义。

为什么你不能通过将 Rollup 堆叠在 Rollup 上来持续扩展

Rollup(参见我关于它们的长篇文章)是一种结合了不同技术的扩容技术,以解决运行区块链的两个主要扩展瓶颈:计算数据。计算通过欺诈证明或 SNARKs 来解决,它们依赖于极少数参与者处理和验证每个区块,要求其他人只执行极少量的计算来检查证明过程是否正确完成。这些方案,尤其是 SNARKs,几乎可以无限扩展;你真的可以继续制作“多个 SNARKs 的 SNARK”来将更多的计算压缩到一个证明中。

数据则不同。Rollup 使用一系列压缩技巧来减少交易需要在链上存储的数据量:一个简单的货币转账从约 100 字节减少到约 16 字节,EVM 兼容链中的 ERC20 转账从约 180 字节减少到约 23 字节,而隐私保护的 ZK-SNARK 交易可以从约 600 字节压缩到约 80 字节。在所有情况下大约有 8 倍的压缩。但 Rollup 仍然需要将数据存储在链上,用户必须能够访问和验证这些数据,以便用户可以独立计算 Rollup 的状态,并在现有证明者离线时作为证明者加入。数据可以被压缩一次,但不能再次压缩——如果可以,那么通常有一种方法将第二个压缩器的逻辑放入第一个压缩器中,并通过一次压缩获得相同的收益。因此,“Rollup 上的 Rollup”并不能真正提供大规模的可扩展性提升——尽管正如我们将在下面看到的,这种模式可以服务于其他目的。

那么什么是“合理”的 Layer 3 版本?

让我们看看 Starkware 在他们关于 Layer 3 的文章中提倡的内容。Starkware 由非常聪明的密码学家组成,他们实际上是理性的,所以如果他们提倡 Layer 3,他们的版本将比“如果 Rollup 将数据压缩 8 倍,那么显然 Rollup 上的 Rollup 将数据压缩 64 倍”复杂得多。

以下是 Starkware 文章中的一张图:

一些引用:

图 1 描绘了这样一个生态系统的示例。它的 L3 包括:

  • 一个具有 Validium 数据可用性的 StarkNet,例如,为对定价极度敏感的应用提供通用使用。
  • 为更好的应用性能定制的应用专用 StarkNet 系统,例如,通过采用指定的存储结构或数据可用性压缩。
  • 具有 Validium 或 Rollup 数据可用性的 StarkEx 系统(例如为 dYdX、Sorare、Immutable 和 DeversiFi 服务的系统),立即为 StarkNet 带来经过实战检验的可扩展性优势。
  • 隐私 StarkNet 实例(在此示例中也作为 L4)以允许隐私保护交易,而无需将它们包含在公共 StarkNet 中。

我们可以将文章压缩为关于“L3”用途的三个愿景:

  1. L2 用于扩展,L3 用于定制功能,例如隐私。 在这个愿景中,没有尝试提供“扩展的平方”;相反,有一个堆栈层帮助应用扩展,然后为不同用例的定制功能需求提供单独的层。
  2. L2 用于通用扩展,L3 用于定制扩展。 定制扩展可能以不同形式出现:使用 EVM 以外的计算方式的专用应用,其数据压缩围绕特定应用的数据格式进行优化(包括将“数据”与“证明”分离,并用每个区块的单个 SNARK 完全替换证明)等。
  3. L2 用于无信任扩展(Rollup),L3 用于弱信任扩展(Validium)。 Validium 是使用 SNARKs 验证计算但将数据可用性委托给受信任的第三方或委员会的系统。在我看来,Validium 被严重低估了:特别是,许多“企业区块链”应用可能实际上最好由一个中心化服务器提供服务,该服务器运行 Validium 证明者并定期将哈希提交到链上。Validium 的安全性等级低于 Rollup,但可以便宜得多。

在我看来,这三个愿景从根本上都是合理的。专用数据压缩需要自己的平台的想法可能是最弱的说法——设计一个具有通用基础层压缩方案的 Layer 2 非常容易,用户可以自动使用应用特定的子压缩器扩展它——但除此之外,用例都是合理的。但这仍然留下了一个大问题:三层结构是实现这些目标的正确方式吗? Validium、隐私系统和定制环境锚定在 Layer 2 而不是直接锚定在 Layer 1 的意义是什么?这个问题的答案实际上非常复杂。

在 Layer 2 的子树中存款和提款是否变得更便宜和更容易?

三层模型相对于两层模型的一个可能论点是:三层模型允许整个子生态系统存在于单个 Rollup 中,这使得该生态系统内的跨域操作非常便宜,而无需通过昂贵的 Layer 1。

但事实证明,你甚至可以在两个提交到相同 Layer 1 的 Layer 2(甚至 Layer 3)之间进行便宜的存款和提款!关键的认识是代币和其他资产不必在根链上发行。也就是说,你可以在 Arbitrum 上拥有一个 ERC20 代币,在 Optimism 上创建它的包装器,并在两者之间来回移动,而无需任何 L1 交易!

让我们看看这样的系统是如何工作的。有两个智能合约:Arbitrum 上的基础合约和 Optimism 上的包装代币合约。要从 Arbitrum 移动到 Optimism,你可以将代币发送到基础合约,该合约将生成一个收据。一旦 Arbitrum 完成,你可以获取该收据的 Merkle 证明,该证明根植于 L1 状态,并将其发送到 Optimism 上的包装代币合约,该合约验证它并为你发行一个包装代币。要将代币移回,你可以反向执行相同的操作。

与根植于 L1 的代币相比,这种方案有一个关键弱点,至少在乐观 Rollup 上是这样:存款也需要等待欺诈证明窗口。如果代币根植于 L1,从 Arbitrum 或 Optimism 提款回 L1 需要一周的延迟,但存款是即时的。然而,在这个方案中,存款和提款都需要一周的延迟。也就是说,不清楚乐观 Rollup 上的三层架构是否更好:确保在本身运行在欺诈证明游戏中的系统内发生的欺诈证明游戏是安全的,有很多技术复杂性。

幸运的是,这些问题在 ZK Rollup 上都不会成为问题。ZK Rollup 不需要一周的等待窗口来保证安全,但它们仍然需要较短的窗口(第一代技术可能为 12 小时)有两个原因。首先,特别是更复杂的通用 ZK-EVM Rollup 需要更长的时间来覆盖证明区块的非并行计算时间。其次,有经济考虑,需要很少提交证明以最小化与证明交易相关的固定成本。下一代 ZK-EVM 技术,包括专用硬件,将解决第一个问题,而更好的批验证架构可以解决第二个问题。而正是优化和批量提交证明的问题,我们将在接下来讨论。

Rollup 和 Validium 有确认时间与固定成本的权衡。Layer 3 可以帮助解决这个问题。但还有什么可以做到?

Rollup 的每笔交易成本是便宜的:它只是 16-60 字节的数据,取决于应用。但 Rollup 每次向链上提交一批交易时也必须支付高昂的固定成本每批 21000 L1 gas 用于乐观 Rollup,超过 400,000 gas 用于 ZK Rollup(如果你想要只使用 STARKs 的量子安全方案,则为数百万 gas)。

当然,Rollup 可以选择等到有 1000 万 gas 的 L2 交易时再提交一批,但这会给它们带来非常长的批间隔,迫使用户等待更长时间才能获得高安全性确认。因此,它们有一个权衡:长批间隔和最优成本,或较短的批间隔和大幅增加的成本。

为了给我们一些具体的数字,让我们考虑一个每批成本为 600,000 gas 的 ZK Rollup,它处理完全优化的 ERC20 转账(23 字节),每笔交易成本为 368 gas。假设这个 Rollup 处于采用的中早期阶段,平均每秒 5 笔交易。我们可以计算每笔交易的 gas 与批间隔的关系:

12s(每个以太坊区块) 10368
1 分钟 2368
10 分钟 568
1 小时 401

如果我们进入一个有许多定制 Validium 和应用特定环境的世界,那么其中许多环境的交易量将远低于每秒 5 笔。因此,确认时间和成本之间的权衡开始变得非常重要。事实上,“Layer 3”范式确实解决了这个问题!即使天真地实现,ZK Rollup 中的 ZK Rollup 的固定成本也只有约 8,000 Layer1 gas(证明为 500 字节)。这将上表更改为:

12s(每个以太坊区块) 501
1 分钟 394
10 分钟 370
1 小时 368

问题基本上解决了。那么 Layer 3 是好主意吗?也许吧。但值得注意的是,有一种不同的方法可以解决这个问题,灵感来自 ERC 4337 聚合验证

策略如下。今天,每个 ZK Rollup 或 Validium 在收到证明 Snew=STF(Sold,D) 时接受一个状态根:新的状态根必须是在旧状态根上正确处理交易数据或状态增量的结果。在这个新方案中,ZK Rollup 将接受来自批验证合约的消息,该消息表明它已经验证了一批语句的证明,其中每个语句的形式为 Snew=STF(Sold,D)。这个批证明可以通过递归 SNARK 方案或 Halo 聚合构建。

这将是一个开放协议:任何 ZK Rollup 都可以加入,任何批证明者都可以聚合来自任何兼容 ZK Rollup 的证明,并将通过交易费从聚合者那里获得补偿。批处理合约将验证一次证明,然后将消息传递给每个 Rollup,其中包含该 Rollup 的 (Sold,Snew,D) 三元组;三元组来自批处理合约的事实将是转换有效的证据。

如果优化得当,该方案中每个 Rollup 的成本可能接近 8000:5000 用于添加新更新的状态写入,1280 用于旧的和新的根,额外的 1720 用于杂项数据处理。因此,它将为我们带来相同的节省。Starkware 实际上已经有类似的东西,称为 SHARP,尽管它(还)不是一个无许可的开放协议。

对这种风格的方法的一个回应可能是:但这实际上不是另一种 Layer 3 方案吗? 而不是 基础层 <- Rollup <- Validium,你有 基础层 <- 批机制 <- Rollup 或 Validium。从某种哲学架构的角度来看,这可能是真的。但有一个重要的区别:中间层不是一个复杂的完整 EVM 系统,而是一个简化且高度专业化的对象,因此它更可能是安全的,更有可能在没有另一个专用代币的情况下构建,并且更有可能被最小化治理并不会随时间变化。

结论:什么是“层”?

由堆叠相同扩展方案在自身之上组成的三层扩展架构通常效果不佳。Rollup 上的 Rollup,其中两层 Rollup 使用相同的技术,肯定不行。然而,第二层和第三层有不同目的的三层架构可以工作。Rollup 上的 Validium 确实有意义,即使它们不一定是最佳的长期解决方案。

然而,一旦我们开始深入探讨哪种架构是有意义的,我们就进入了一个哲学问题:什么是“层”,什么不是?基础层 <- 批机制 <- Rollup 或 Validium 模式与 基础层 <- Rollup <- Rollup 或 Validium 模式做同样的事情。但就它如何工作而言,证明聚合层看起来更像 ERC-4337 而不是 Rollup。通常,我们不将 ERC-4337 称为“Layer 2”。同样,我们也不将 Tornado Cash 称为“Layer 2”——因此,如果我们要保持一致,我们不会将位于 Layer 2 之上的隐私子系统称为 Layer 3。因此,关于什么首先值得“层”的称号,存在一个未解决的语义辩论。

关于这一点,有许多可能的学派。我的个人偏好是将“Layer 2”一词限制为具有以下属性的事物:

  • 它们的目的是增加可扩展性
  • 它们遵循“区块链中的区块链”模式:它们有自己的处理交易机制和自己的内部状态
  • 它们继承了以太坊链的完全安全性

因此,乐观 Rollup 和 ZK Rollup 是 Layer 2,但 Validium、证明聚合方案、ERC 4337、链上隐私系统和 Solidity 是其他东西。将其中一些称为 Layer 3 可能有意义,但可能不是全部;无论如何,在多 Rollup 生态系统的架构远未定型且大多数讨论仅在理论中进行时,确定定义似乎为时过早。

也就是说,语言辩论不如技术问题重要,即哪种构造实际上最有意义。显然,某种“层”在服务于隐私等非扩展需求方面扮演着重要角色,并且显然有一种重要的证明聚合功能需要以某种方式填补,最好是通过一个开放协议。但与此同时,有很好的技术理由使得将面向用户的环境连接到 Layer 1 的中间层尽可能简单;在许多情况下,“粘合层”是 EVM Rollup 可能不是正确的方法。我怀疑随着 Layer 2 扩展生态系统的成熟,本文描述的更复杂(且更简单)的构造将开始发挥更大的作用。

  • 原文链接: vitalik.eth.limo/general...
  • 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
点赞 0
收藏 0
分享
本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

0 条评论

请先 登录 后评论
Vitalik Buterin
Vitalik Buterin
https://vitalik.ca/