Enshrined原生L2和无状态区块构建 - 分片

本文提出了一种通过Enshrined Native L2s和无状态区块构建来扩展以太坊的方案。该方案利用以太坊的验证者集合,通过在L1和多个L2之间循环验证者,来实现水平扩展,增加交易吞吐量,并引入本地费用市场。同时强调了无状态区块构建对于水平扩展的关键作用,并探讨了设计空间中的权衡。

使用 Enshrined Native L2s 和 Stateless Block Building 扩展以太坊

简介

以太坊的可扩展性探索之旅一直在探索 Layer 2 (L2) 解决方案,以提高吞吐量,同时保持去中心化。一个很有希望的方向——建立在像 based rollups 这样的早期工作之上——是 enshrined native L2s 的概念。在这篇文章中,我认为我们可以通过创建与以太坊协议深度集成的 L2 系统来扩展以太坊,分享其验证器集以并行处理交易。这不是一个新颖的发明,而是对现有想法的改进,利用通过像 Orbit 这样的概念在 Layer 1 (L1) 职责中不活跃的验证器来水平扩展吞吐量。通过在 L1 和多个 L2 之间循环验证器,我们可以解锁额外的真正原生区块空间,增加交易容量,并引入本地费用市场——所有这些都无需要求越来越重的节点硬件。每个 L2 都将具有与 L1 相同的 gas 限制和其他配置。我不认为这些 enshrined native L2s 很有可能与非 enshrined L2s 具有高度竞争力。 显然,后者更有能力垂直扩展吞吐量,并创建能够容忍 enshrined native rollups 无法容忍的不同程度审查的社区。

我认为,如果我们没有一个可行的 enshrined 后备方案,会导致吞吐量大幅降低,我们就无法安全地外包区块构建。将区块构建外包给复杂的参与者将不可避免地产生对它们的依赖。随着 MEV 随着时间的推移而减少(应用程序被激励自己捕获它),区块构建者的收入越来越少。随着吞吐量的增加,构建区块的成本变得越来越昂贵。因此,盈利能力取决于复杂的、专有的知识,这大大增加了新进入者在区块构建方面具有竞争力的难度。当拍卖是赢者通吃的非竞争性构建者无法生存时,最终会导致高度中心化(双头垄断或垄断对我来说并不奇怪)。你可以在以下链接中浏览一些关于我的观点的帖子:为本地区块构建辩护

这篇文章将涉及可用的设计空间,重点关注权衡以及 stateless block building 在水平扩展中的关键作用,这使我们能够保持本地区块构建并保持以太坊 forkability 的实用性。

核心概念:具有共享验证器的 Enshrined Native L2s

Enshrined native L2s 将以太坊的验证器集扩展到 L1 职责之外。目前,31/32 的验证器实际上对以太坊没有积极作用。理想情况下,我们希望有一个系统可以确保尽可能多地高效利用网络。我们可以将不在 L1 上提议或证明的验证器(例如,由于像 Orbit 这样的系统中的轮换)转移到 L2 上,形成委员会来处理交易排序和区块生产。例如,我们可以有每个 L2 96 个验证器的委员会,其中 16 个验证器分配给 FOCIL/提议职责,其余的进行证明。就像 L1 一样,我们希望 L2 权益的绝大多数证明新区块才能被接受和最终确定。每个 slot 我们可以从他们当前所在的 L2 轮换 4 个验证器(我说的是假设所有验证器都是 32 eth 的权益,但我知道情况并非如此,验证器选择等方面存在一些复杂性,但我认为这是我们可以解决的问题,并且希望现在保持简单),并将它们转移回 L1 或另一个 L2,确保持续的生产力。

  • 共享安全性:这些 L2 通过零知识 (zk) 证明继承了以太坊的安全性,该证明由相同的共识机制验证,并且具有几乎等同的审查抵抗保证(这几乎是目前没有 L2 具有的)。

  • 水平扩展:添加更多 L2 可提高吞吐量,而无需垂直扩展硬件,这与传统的节点升级形成对比。

这利用了这样的事实,即在像 Orbit 这样的系统中,大约 80% 的验证器权益可能在 L1 上处于活动状态,剩下大约 20% 可用于 L2,从而放大了原生区块空间。

无状态区块构建的必要性

为了使这项工作有效,stateless block building 是理想的。验证器无法存储完整的状态,因为即使在 L1 上,存储需求也在不断增长,更不用说包括所有 L2 了。相反:

  • 工作原理:用户或状态提供者提供带有交易的 witnesses(状态数据 + 证明)。验证器使用 Verkle 树来验证这些针对状态根的紧凑证明(约 150 字节),从而构建没有本地状态的区块。你或许可以进行某些优化,允许将与其他状态更改不冲突的执行的 zkEVM 证明作为 gas 成本较低的有效交易提交。

  • 为什么重要:无状态性可降低硬件要求,从而在 L1 和 L2 职责之间实现快速转换。它是水平扩展的支柱,确保验证器可以处理任何 L2,而无需同步大量数据集。

如果没有无状态性,enshrined L2 的优势——灵活性、可扩展性和广泛参与——将在不切实际的存储和同步时间需求下崩溃。

设计空间中的权衡

以下是实际情况:平衡验证器角色、状态管理和带宽以使其可行。

1.验证器委员会规模与吞吐量

  • 权衡:较小的委员会(例如,数十个验证器)简化了协调和转换,但会带来安全风险。较大的委员会(例如,数百个)以开销为代价增强了去中心化。

  • 示例转变:在 L1 上大约 20% 的验证器空闲的情况下,一个 100 人的委员会可能支持许多 L2,而每个 L2 200 人则将该数字减半,但会增强弹性。

  • 影响:更多的 L2 意味着更高的吞吐量,但委员会规模决定了可以安全地并行运行多少个 L2。不仅如此,在某个时候,L1 Gas 限制也会限制实际可以支持多少个 L2。

2.验证器存储的 Verkle 树(或等效树)级别

我们可以设置一个要求,即验证器存储 Verkle 树的根和所有中间节点,直到某个级别,而不仅仅是根。这使他们能够更有效地验证 witnesses,而无需存储整个状态,还可以减少为每笔交易传输大型 witnesses 的带宽开销。存储根和前一个 slot 的树的差异可以帮助避免使引用先前 slot 状态的有效交易无效,但由于太晚包含到该 slot 中,并且会被修改其证明路径的其他交易无效。

  • 权衡:存储较高的 Verkle 树级别(例如,根到中间值)会减少 witness 大小,但会增加内存。不存储任何内容会使验证器保持精简,但会膨胀交易数据。

  • 示例转变:对于 256 的分支因子,我认为存储级别 0-3 大约是 1.7 GB,有大约 40 亿个叶子节点。在 512 分支时,它是 ~13 GB,但为我们提供了 ~690 亿个叶子节点(我认为 L1 和每个具有良好互操作性的 L2 的叶子节点应该足够一段时间了)。

  • 影响:存储的级别越多,抵消的带宽增加越多,从而使吞吐量能够在不影响网络的情况下进行扩展。

3.带宽与吞吐量收益

  • 权衡:无状态性增加了每笔交易的带宽(witnesses),但 enshrined L2s 成倍增加了原生区块空间,可能会使这一成本相形见绌。

  • 关键优势:如果切换到无状态区块构建将带宽需求增加 5 倍,但使我们能够支持 500 个 enshrined native L2,那么这可能是值得的权衡。这还在每个 L2 上创建 本地费用市场,因此如果我们允许应用程序迁移,我们可能会看到经常交互的应用程序在 L2 内彼此相邻结算,以避免互操作开销,而大型应用程序会迁移到使用率较低的 L2,以避免受到其他应用程序的需求驱动用户费用上涨的影响。总而言之,从长远来看,我们可能会看到接近最佳吞吐量。

4.验证器转换速度

  • 权衡:在内存中存储最少的状态(仅根)可以让验证器实现近乎即时的转换,但需要更大的 witnesses。存储中间级别会减慢交易带宽节省的转换速度。我们可以包括其他内容,例如所有智能合约代码都应由验证器存储,并且需要在他们能够参与 attestation 之外的 L2 职责之前进行同步。也就是说,合约存储 slot 或 eoa 帐户等预计会有用户提供的 witnesses(状态提供者当然也可以为用户提供该数据,理想情况下,我们会有 eLTS——有关更多详细信息,请参阅我的 eth research 帖子——作为备份)。这意味着用户只需要为存储 slot 或帐户余额提供一些 witnesses,并且所有验证器都能够随时执行所有交易。除了我们只在内存中保留一组活动合约之外,还有其他替代方案,其余的将需要为它们提供 witnesses。这篇最近的文章更详细地讨论了这一点(关于无状态性的协议设计视图)。

  • 示例转变:仅根转换需要 ~1 秒,而 ~1.7 GB 同步可能需要 ~5 分钟,具体取决于验证器的网络速度要求。

  • 影响:更快的转换可最大限度地提高验证器实用性,而更慢的转换可优化交易效率。

为什么这很重要:吞吐量及其他

  • 原生区块空间:Enshrined L2s 在原生区块空间中创造了 巨大的 增长,使以太坊能够水平扩展。这是与其他依赖外部验证器的 L2 的关键区别。

  • 带宽抵消:是的,无状态 witnesses 增加了带宽,但理想情况下,通过 L2 增加的原生区块空间可以远远超过这一点。

  • 本地费用市场:借助 enshrined L2s,我们可以创建本地费用市场,防止一个应用程序的需求影响其他地方的简单支付的实用性。Enshrined L2s 可以获得免费的 blobspace 配额,或者具有各种其他费用机制和/或发行机制,以找到这种工作方式的合理平衡。

结论

显然,要实现这一愿景,需要完成大量工作,并且在某些权衡之间取得平衡方面存在大量未解决的问题。我认为,由 stateless block building 提供支持的 enshrined native L2s 提供了水平扩展以太坊并保持其长期审查抵制能力的最佳途径。控制分叉选择具有严重的后果。当我们从实际角度限制谁能够构建链时,我们就会放弃分叉选择,并使自己容易受到强大参与者的影响,从而损害其他所有人。像 orbit 这样使任何人都可以参与对分叉进行投票的 SSF 方法是我们前进的最佳途径。它还使我们能够利用在 L1 职责中不活跃的验证器来实现潜在的巨大吞吐量收益。我们 可以 在保持节点可访问性的同时提高容量,并且 不会 失去以太坊的去中心化灵魂。

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

0 条评论

请先 登录 后评论
以太坊中文
以太坊中文
以太坊中文, 用中文传播以太坊的最新进展