Lean Execution:以太坊执行层的动态实时分片扩展方案

以太坊中文 发布于 2026-07-08 阅读 19

本文深入探讨了以太坊执行层的扩展方案——Lean Execution。

精益执行:一种确保安全、高效、自适应且资源充沛的执行吞吐量以扩展世界计算机的整体方法

1. 引言

精益以太坊(Lean Ethereum),由研究员Justin Drake于2025年7月31日提出,是一项雄心勃勃的提案——或一系列提案——它囊括了对未来世界计算机的整体愿景,因为我们开始思考作为开发者在维护和治理以太坊协议中自身所扮演的角色。精益以太坊不仅仅是解决以太坊长期问题的遥远方案,在某种程度上更是向内心提出的一个问题:

我们如何确保以太坊协议能够保持可证明的安全性,具备强大的激励措施和强密码学安全性;吞吐量足够高;尽可能简单;并且实现最优的去中心化,即使在我们作为开发者的影响力逐渐减小时?

精益以太坊就是这个问题,而Justin Drake最初的答案分为三类:

  • 精益共识:快速最终性、后量子安全、终极去中心化和安全性。
  • 精益执行:最小化SNARK友好的高吞吐量执行能力。
  • 精益数据:同质化的数据可用性和状态存储。

这些技术升级旨在推动我们实现两个定性目标:

  • 防御堡垒模式: 协议必须能够抵御量子攻击、国家行为者以及任何其他对手。
  • 进攻猛兽模式: 协议必须具备高吞吐量和最大可扩展性,以满足世界的执行和数据需求。

手头的工具包括后量子密码学、SNARK/zkEVM、形式化验证、封装复杂性、优雅的简洁性以及彻底的去中心化。物理学家在追寻描述宇宙的统一方程中揭示现实的奥秘,而精益以太坊可以定义一个真正优雅的方程来描述世界计算机——计算协调的奇点。

2. 区块链的历史

“我一直在研究一种完全点对点的电子现金系统,不需要可信第三方。”——中本聪,2008年10月31日。

本文的重点是概述与精益执行相关的以太坊协议研究领域——即追求世界计算机的最佳计算引擎——并在解释区块链及区块链扩展历史的过程中得出一些关于区块链本质和区块链扩展的结论。因此,值得探讨的是,在区块链的背景下,“执行”究竟意味着什么。

2.1 什么是区块链?

首先,有必要以足够通用的术语定义“区块链”到底是什么。那么什么是“区块”,是什么使它们构成一条特殊的链?在简化语境中,区块链有6个主要组成部分:

  • 区块
  • 规则集
  • 程序性内存
  • 共识引擎
  • 状态
  • 有向链接的链

区块是对状态在规则集下执行的一个操作——或一组操作——其中操作来源于某种临时网络内存,状态实际上是任意数据字段,链是一种密码学结构,赋予区块对状态的操作以方向(即时间导向的顺序),而共识引擎则允许分布式网络中的意愿方就所有这些事项达成一致。整个区块链历史中发生的一切都始于一个初始状态。这个初始状态通常由创世区块定义,该区块是创建初始状态的操作(规则集不一定适用于创世区块)。对初始状态的共识通过“弱主观性”提供,这是一种协议外的定义某些关于区块链初始配置的文化“真相”的方式;例如,大多数创世区块被硬编码到实现协议的初始参考软件中。一旦在初始状态上达成文化共识,共识引擎便以这样的方式使用:新区块可以在规则集定义的约束下对状态执行操作,并且这些操作在链的历史中具有定义好的执行顺序。

现在我们得到以下几项:

  1. 一个初始/当前状态
  2. 一组定义新区块中如何执行操作以及执行顺序的规则
  3. 一个计算机网络
  4. 一个共识引擎,为网络提供就1和2达成一致的手段

根据定义,由于计算机网络在初始状态N上达成一致,并且它们拥有就新区块操作如何执行以创建状态N+1达成一致的手段,以及客观定义在创建状态N+1时区块操作执行顺序的手段,因此它们可以在未来状态N+2和N+3上达成一致,通过归纳法,这意味着它们可以持续定义新的状态直至永恒。但共识引擎不仅确保对当前状态的一致,还确保对所有过去状态和潜在未来状态的一致。这给了我们一个很好的定义区块链的方式:

区块链是一种跨计算机网络共享的、具有时间导向的状态记录,并配备一个共识引擎,使网络能够就当前状态、历史状态以及定义未来状态如何创建的规则集达成一致。

请注意,对共识引擎的需求暗示了缺乏信任或隐含共识,这意味着所有真正的区块链都具有去中心化的特性,因为不受信任的各方(从任何人的角度来看,任何人都如此)始终可以参与共识。区块链创建了一个真理根,这个根是其参与者意识形态和文化表现形式的函数,而共识允许以这样的方式创建这个真理根,使得共同状态和状态转换函数的可行性可以在计算连续体中进行协调。

区块链的有用之处在于,对状态进行操作的区块可以包含由网络中单个用户创建并由节点从内存中获取的操作(通常称为交易),但也有一些严格原生的操作——例如共识过程,如向参与共识过程的人支付奖励的补贴。

2.2 网络容量的整体视角

区块链的定义特征大致可以描述为协同工作,以提供三大类区块链容量:

  • 共识容量
  • 执行容量
  • 内存容量
  • 数据容量

共识容量可以定义为同时具有广度深度。共识广度指的是共识引擎在其参与者数量、安全级别和信任假设方面的运作规模;即操纵共识引擎的难度。深度指的是共识的“吞吐量”;即链达到最终性的速度,从而用户能够多快确定其状态变更的不可逆性。一般来说,共识的广度和深度彼此成反比关系;一个领域的增长对应于另一个领域的权衡,这使得同时扩展共识的输出(即每单位时间达成多少“共识”,换句话说,网络每单位时间能就多少内容达成一致)以及保持共识参与的壁垒较低且网络去中心化变得日益困难。

执行容量指的是在链内规则集下实际状态转换函数的吞吐量;即每单位时间可以执行多少操作——并由共识确认;在比特币和以太坊当前使用的朴素区块链模型中,执行容量通常是共识深度的限制因素,因为瓶颈之一在于每个区块必须由每个共识参与者重新执行;无状态化和更广泛的SNARK化从根本上打破了这种固有局限性。

内存容量本质上是网络临时存储数据、将这些数据导向执行和共识引擎以进行链上计算,以及管理其可用性和利用的能力。内存层功能的示例包括包含列表、虚拟/分片内存池、加密/私有内存池以及基于排序。默认情况下,内存层数据可能在大多数节点上复制,但一个充分分片的网络将依赖内存池分片来消除这一瓶颈;还值得注意,缺乏严格的共识规则来管理这个中间交易不确定区间(既不在区块内也不在区块外)导致了诸如有毒MEV和抗审查性等问题。

数据容量与网络就网络的状态(以及任何外部相关信息,如Rollup状态)达成共识的能力有关;换句话说,网络能够在执行过程中——有时在执行过程之外——存储和使用多少信息。比特币和以太坊的朴素模型依赖每个节点复制这个网络状态,但以太坊正通过blob数据可用性抽样转向更高效的数据带宽。

四种容量之间的相互作用通常遵循以下模型:共识容量是链的真理根,执行容量封装在共识引擎的真理内,内存容量将数据导向执行引擎进行计算,数据容量则要么隐式(通过执行)执行,要么显式(通过共识)强制执行。

观察这些容量在不同区块链模型中的差异,可以为我们提供一个独特的视角,来理解整体上扩展容量究竟意味着什么。

2.3 实践中的区块链

第一个区块链由电子现金系统比特币的发明者中本聪部署;最早类似比特币的时间戳/状态共识系统之一由Scott Stornetta和Stuart Haber于1991年提出。比特币区块链的结构如下:

  • 创世区块被硬编码到参考实现中。
  • 状态结构为之前交易的可花费输出列表。
  • 使用复制型内存池临时存储交易并将它们导向区块。
  • 规则集定义了基于公钥密码学的电子现金系统的理想特性,仅允许在严格花费条件下花费输出。
  • 可花费输出最初通过通胀创建,奖励参与共识引擎的参与者(在比特币中称为矿工)。

每个操作(交易)区块都有这些严格的要求:

  • 对于每个交易,该交易所花费的输出必须存在。
  • 每个交易必须满足其所花费输出的花费条件。
  • 区块中所有交易的总大小小于1兆字节。

由于共识引擎使用了工作量证明,区块链通过以下机制执行区块中的交易:

  • 平均每10分钟随机选取一名矿工来提议一个区块。
  • 矿工对内存池进行计算,试图找到费用最高的区块,并附带一些次要策略,如对交易输出设置粉尘限制。
  • 如果区块有效,则被包含,结果状态作为下一个区块的基础。

由于这个原因,比特币遵循朴素的区块链模型。工作量证明的瓶颈意味着三件事:

  1. 为了去中心化,用于计算区块中待包含交易(及其实际聚合数据占用)的工作量证明区块时间周期(比特币中为10分钟)的百分比必须非常小,否则更强的矿工将获得非线性优势——即规模经济。
  2. 绝大多数计算资源用于共识过程,而非吞吐量。
  3. 在一个区块时间周期内只能执行一个区块;即没有并行性。

对1的重新表述是,将新区块追加到链中的绝大部分时间都花在了无用的共识工作上,而非执行工作上。这三个因素使得比特币极其低效。

最初,以太坊主要在执行状态方面进行创新,但在共识方面创新甚微,因为仍然使用了——略有改进的——工作量证明。以太坊的创新在于状态转换规则集的通用化;换句话说,以太坊使区块的执行操作成为通用目的(满足图灵完备性的属性),而比特币仅对交易有有限的无状态花费条件。因此,以太坊交易的计算潜力通过以太坊虚拟机(EVM) 得到了极大(无限)的提升,但以太坊的计算能力仍然相对缓慢。

改变这一事实的重大创新是引入了权益证明共识,它使用协议内的货币单位作为共识的控制因素,而不是浪费能源消耗。这消除了工作量证明共识中关于区块执行的三个限制因素:

  1. 由于共识不存在持续成本来增加参与者的统计控制,因此可以将更多区块时间周期(现代以太坊中为4/12秒)用于计算待执行的交易。
  2. 网络计算资源的绝大部分可以导向执行吞吐量,因为权益证明共识比工作量证明高效得多。
  3. 权益证明中的确定性提议者选举可用于同时将执行吞吐量委托给多个参与者,这使得分片类方案更加可行。

由于权益证明中的区块时间周期是确定性的,因此在概念上,区块时间周期的权益证明“Slot”与所执行交易的“实际”区块之间存在脱节。比较工作量证明和权益证明,揭示了在定义区块链执行机制时的三个重要问题:

  1. 在一个Slot(区块时间周期)内,我们可以花多少时间来执行交易?
  2. 活跃区块提议者资源使用中,有多大比例可以用于在一个Slot内执行交易?
  3. 一次有多少活跃网络参与者可以将资源导向执行吞吐量?

提高区块链的执行吞吐量涉及最大化这三个值。当前的以太坊协议在所有三个方面都不是最优的;内置的提议者-构建者分离和无状态化将通过增加在一个Slot内“构建”——或计算交易——区块的时间来优化1,而因素2可以通过验证人签名聚合和合并等方式进一步优化,但协议将第三个容量利用率因素的优化横向卸载到“Layer 2”上。

在本文中,我将第一个因素称为时间优化,第二个称为资源优化,第三个称为容量利用率。这三个因素共同构成了区块链的执行优化因素。

3. 同质化与异质化容量

比特币区块链之所以有趣,是因为从一开始它本质上是单体的:在任何给定Slot中,每个矿工都致力于找到同一个工作量证明(共识),所有节点都访问一个复制型内存池(内存),一个获胜矿工提议一个状态转换(执行),并且它们共享同一个复制型未花费输出状态(数据)。以太坊最初也以类似方式实现,并且表面上看,即使采用权益证明,似乎也遵循相同的单体结构:每个验证人签署同一个区块(共识),随机选举一个提议者来提议一个带有来自类似复制型内存池(内存)交易的状态转换(执行),并且它们都复制完全相同的世界状态(数据)。

在第2.2节中,我概述了区块链由其在第2.1节中描述的定义结构提供的四种容量,在第2.3节中,我概述了这些容量在实践中如何实现以及执行吞吐量的三个优化是什么。资源优化和时间优化是相对基本的架构优化,而权益证明在优化它们方面表现出色,但我认为吞吐量的限制因素几乎总是容量利用率;容量利用率不仅是执行的瓶颈,也是第2.2节中定义的所有四种容量的瓶颈;执行——以及内存——恰好是需要优化容量利用率的最重要地方——特别是对于扩展而言。

单体区块链(比特币是最好的例子)可以说是异质化的:它们不会随广度扩展;即增加共识参与者数量不会增加吞吐量,因为整个状态转换函数始终受限于一个共识线程。共识引擎尽管其起源理想情况下在机制上是同质化的,但在协议上本质上是异质化的,因为根据定义,达成共识需要某种协议的统一——每个比特币区块都有一个哈希值低于目标难度的区块头,每个以太坊共识区块都有一组证明。

以太坊才刚刚开始改进这个限制因素,最好的例子是在共识和数据引擎中。共识引擎是一个有用的例子,因为权益证明的性质本身就是如此:工作量证明隐含了链中的共识,而权益证明需要显式的共识证明才能运作;换句话说,比特币中极其困难的工作量证明意味着巨大的共识参与(并由此带来大量参与者),但权益证明需要明确定义那些对共识做出贡献的验证人。

3.1 共识同质化

尽管在协调其真理根时共识本质上是异质化的,但以太坊信标链以遵循执行背景下同质化容量的范式,最小化了这个额外的计算瓶颈。具体来说,权益证明验证容量利用率通过使用子委员会间的签名聚合来向内同质化验证人的职责,而不是要求向外异质化验证:

1

在这种情况下,共识容量通过使用同质化共识模型得到优化,其中权益证明验证人签名向内折叠然后向上传播,以越来越优化的方式利用验证人资源的容量利用率。换句话说,没有单个验证人必须计算每个签名(如在异质化模型中);相反,使用子委员会来同质化共识引擎的开销,使其分布在验证人集合中,以最大化资源效率,然而每个验证人仍然可以轻松验证聚合签名是否有效。

这里异质化与同质化架构的基本原则遵循三种容量的结构:在最优的同质化架构中,有一个共识根,验证人以这样的方式证明该根,使得本地委员会可以并行签名,并且这些委员会的签名在包含到共识根之前被聚合;这类似于共识并行性,因为共识引擎同时在多个线程上运行,结果向上传播,以证明跨所有线程的验证人的有效性,而验证的瓶颈仅等于独立线程的数量,而不是验证人的总数。

这里关于共识的直觉相当强大:实现这种同质化/并行性相对容易,因为验证人证明相对无状态,即所有签名具有相同的依赖项(前一个Slot),并且只读取它,从不写入。工作量证明通过其隐含共识吞吐量也是如此:所有矿工并行工作以就一个新的概率区块达成共识,无需解决矿工各自工作之间的“依赖关系”;这使得工作量证明共识自然同质化。这个范式值得注意之处在于它类似于一种密码学防御者优势:大量的资源用于保护共识,但验证其有效性极其简单且只需最少资源;执行和数据同质化的目标是复制这种计算聚合吞吐量所需时间与验证所需时间之间的自然不平衡,这就是为什么zkEVM和数据可用性抽样(总体上zk技术)在执行层上是如此强大的工具。一种看待方式是,这两种密码学构造将共识层的防御者优势带到了链的执行层。

3.2 数据同质化

理论上,数据容量的同质化将利用这个共识真理根,使网络能够分配链执行状态的存储负担,同时使数据可供执行时随时可用。数据可用性抽样使网络作为一个整体能够将存储负担分布在验证人集合上,而无需每个单独验证人自己存储全部数据。当前实现使用KZG承诺来确保数据的来源,并使用纠删码来创建冗余。理想情况下,数据分布将以能够轻松跨网络检索以用于执行的方式管理。尽管对于可执行状态数据实现数据可用性抽样远比静态blob和历史数据困难,但直观上同质化状态负担似乎是必要的。

2

实际上,数据可用性作为一种机制并非区块链的严格必要组成部分,但当前的架构只是出于用户便利和更好利用计算资源而部署它。要看到这一点,只需注意实际上存储成本仅仅是转移到磁盘上的执行成本。以区块链的激进无状态模型为例:在这种模型中,除了向量承诺树的根之外,没有人永久存储任何数据;当用户希望使用状态树执行某种操作时,他们必须在交易中包含一个向量承诺,以证明他们想要计算的状态的存在。在这种情况下,完整节点存储完整世界状态的存储开销被卸载到验证(或构建)节点上作为执行成本,而执行成本可能更容易扩展。

除了更好地利用可用的存储资源之外,将存储负担分散到验证人身上,即使是最小程度,也将存储自己状态的成本从状态用户转移到网络本身,这使得用户体验更加简单;尽管如此,永久存储的密码经济学实际上相当不理想。如果我们要扩展世界计算机并同质化网络的数据容量,那么朴素的复制型永久存储必须被一种更经济健康的数据可用性机制所取代,该机制将存储负担分布到整个网络上作为一个整体。结合状态过期和复杂的数据可用性抽样机制似乎是最大化网络中数据容量利用率的最佳方案。

3.3 子根执行与证明者-提议者分离

一个最优同质化的共识引擎允许提供一个单一——或许是信标——的真理根,该根封装了网络的执行、内存和数据容量。尽管共识根可以独立于任何执行而存在,但共识引擎在这种情况下除了自身外没有其他东西可以达成共识,因此作为链整体运作的一部分,共识引擎管理新状态变更的执行,并由此隐含当前状态的存在。当前以太坊中的执行模型使用单线程的朴素异质化重新执行,仅进行了较弱的时间和资源优化,但没有进行容量利用率优化。时间和资源优化都来自于将验证执行(验证人)和实际提供吞吐量(构建者)的角色分离在提议者-构建者分离或证明者-提议者分离中,再加上权益证明共识的自然时间和资源优化,但也涉及更高级的构造,如无状态化。

由于执行是在规则集约束下定义的,在共识根内提供执行受到严格的约束,这些约束作为共识引擎的一部分强制执行,以确保遵循EVM的规则。目前,对执行区块验证这些规则的瓶颈等于重新执行整个区块状态转换的成本。结果是每个验证人都必须执行链的所有吞吐量,这意味着共识深度——以及执行吞吐量——实际上受到参与去中心化的最低功率验证人(按计算资源)的最大可用计算量的限制。

3

上述限制(最大吞吐量等于所支持的最低容量验证人的最大可用计算能力)的一个解决方案是使用SNARK(简洁的非交互式知识论证) 来证明执行的有效性,而不进行朴素的重新执行。这意味着共识深度的限制因素实际上变成了验证一个简洁的SNARK证明(证明有效执行)的时间,而不是重新执行状态转换函数的时间。这在执行吞吐量的时间与验证其有效性的时间之间创造了一种根本性的脱节,或者换句话说,以前对一定量吞吐量达成共识所需的时间受限于复制该吞吐量执行的时间,现在可以在恒定的执行时间内就吞吐量达成共识,无论该执行的规模如何。

验证所需资源与产生吞吐量所需资源的脱节意味着我们可以对共识引擎中验证执行的角色和产生执行本身的角色做出不同的假设。遵循这一范式的一个提议是证明者-提议者分离,它将权益证明验证安全性的提供与提议新执行区块的角色分开。这带来了巨大的好处,因为现在共识引擎可以由一个广泛的、极其低功率的计算机网络来保护,而吞吐量则由高功率节点提供,并且由于参与共识的要求已经是Ξ32,运行一个专门的吞吐量提供节点的成本可以接近该成本,而不会在去中心化方面做出权衡。APS可能比ePBS更受青睐的原因是,在ePBS中提议区块的角色仍然存在,这使得验证人的带宽速度仍然是一个规模经济的问题,这对去中心化不利;ePBS还可能因其内置的构建者流水线缺乏有效的执行机制而不可取。

然而,问题仍然存在:即使通过共识同质化和将执行资源需求与验证资源需求分离,资源和时间都得到了日益优化,但子根执行仍然在单线程上运行。执行容量利用率是优化以太坊最困难的部分之一,在过去十年中,分片和类似分片的提议一直在试图解决这个看似不可能的问题。

4. 分片的历史

“将每个困难分解为尽可能多的、解决它所需且可行的部分。”——勒内·笛卡尔

4.1 史前史

分片本身实际上是借用于经典分布式系统设计的术语,通常指将数据库水平分区成一组“数据分片”。当应用于区块链时,该术语本质上意味着将——理想情况下所有——四种容量的负担分散到不同的委员会。这提出了几个主要问题:

  • 如何以可证明无偏的方式选择委员会?
  • 委员会之间的跨进程依赖如何解决?
  • 如果验证委员会子进程的节点数量根据定义低于单体网络中的数量,安全性如何维护?

区块链分片的问题已经研究了近十年。在很长一段时间内,这基本上看起来是一个不可能解决的问题,主要是由于验证执行容量的吞吐量与实际计算(提供)该吞吐量之间的内在联系——正如区块链三元组所描述的。换句话说,如果区块链难以扩展的原因是因为每个节点的验证成本始终等于执行成本,那么划分网络只会减少相同执行量所发生的验证量,这是一种不可持续的模式。

最早的一个区块链分片提议来自中本聪在2010年12月。他们的提议涉及将比特币区块链和其他链嵌入到一棵Merkle树中,其中每条链代表一个独立的分支。这里的挖矿意味着解决树的根的PoW,然后相应的分支可以被修剪并发送到各链各自的网络;由于子链之间的难度可能不同,某些分支可能比其他分支更频繁地出现解,并且某些解可能对多个链有效。

重新点燃区块链中原生分片可能性的重大创新是零知识证明背后的密码学技术,通常称为SNARK——简洁的非交互式知识论证。由于SNARK允许在恒定时间内验证任意量的计算,它们对分片有着显著的影响:我们不再需要同时划分共识和执行,从而限制相同执行量的安全性,而是可以划分(分片)吞吐量的执行,同时保持共识引擎整体上能够在恒定时间内——以相同的安全级别——验证任意量的吞吐量。

分片研究本身现在已成为改进零知识证明背后的底层密码学,以及确定这种分片范式最有效实现的问题。

4.2 早期以太坊分片概念

以太坊2.0路线图早期阶段的分片研究有许多难题需要解决;事实上,通过分片进行扩展的问题可以说是区块链三元组的本质。将网络划分为独立的子分片以提高吞吐量的问题是,每个分区在特定安全模型下会精确地(按比例)最小化该分片的安全级别,与获得的扩展性提升成正比。一种减轻安全性按比例随吞吐量最小化的负面影响的方法是使用随机委员会选择,在非协调多数攻击模型中维持异质级别的安全性;然而,在其他攻击模型下,固有的限制可能仍然适用,这意味着它并非一个完全无懈可击的解决方案。如果假设恶意但非协调的验证人在概率上位于同一个分片中,并可能在一个足够长的时间范围内协调一次攻击,那么确保随机委员会洗牌发生的速度快于这些对手能够协调的速度就变得至关重要,这又是一个额外的瓶颈。

例如,给定N个验证人,以及k(可能是2的幂)个潜在分片(包括根链),我们可以在每个权益证明Slot中随机分配N/k个验证人到每个分片;每个分片有自己的提议者,为其各自的分片创建区块,并且在每个Slot结束时,一个由分片验证人绝对多数签署的“统一标头”被包含在根链的区块中。这里的一个大问题是,其他分片的验证人无法知道是否某个恶意委员会在其分片中创建了恶意的错误区块,因为执行本身并未被复制;另一个问题是,由于每个验证人被分配到他们执行的不同区块,其他分片中的验证人无法知道统一标头的实际区块数据是否可用。更糟糕的是,我们从未定义过实际是谁存储每个分片的状态,这是一个更难解决的问题。

有人可能会争辩说,一个足够安全的网络可能具有可以通过轻微降低分区子分片的安全性来获取的边际潜在吞吐量,以便在共同安全假设内提取最大可用吞吐量。多年来,以确保持网络范围内充分安全的方式做到这一点一直是一个悬而未决的问题。甚至更难的问题可能是确定跨分片交易如何解决的方式,否则区块链通过分片实际上并未获得可观的收益,而仅仅类似于一组独立的链。一种解决方案涉及“借记”和“贷记”交易流水线的想法:A→B跨分片交易可以通过在分片A上进行借记交易来实现,并在收据树中创建交易包含的日志;然后,在分片B上,可以提供Merkle证明,证明分片A上的借记,并在分片B上贷记(执行)该交易。然而,使这种交互原子化是另一个悬而未决的问题。

4.3 状态通道

状态通道是一种早期的链下扩展模型,后来在很大程度上被Plasma——以及现在的现代Rollup系统——所取代。它的工作方式是允许两方通过签署一个初始状态来启动一个“通道”;然后可以计算并由双方签署新的状态,这会改变通道的通用状态。每个新状态以某种方式撤销前一个状态,确保通道的最新更新是在发生争议时将在链上验证的那个。这意味着中间状态变更可以在链下计算,并保证最新状态始终可以发布到链上。最终通道关闭,最新状态在L1上最终确定。

不同的实现使用不同的撤销机制,但过去以太坊使用的最简单技术之一是让双方在每个新的状态更新中包含一个nonce,链上初始化合约总是优先选择具有最高nonce的已发布状态作为最新状态。如果双方都诚实,可以相互签署一个特殊的关闭交易来最终确定状态;如果一方拜占庭(要么故意恶意,要么可能只是离线),单方可以发布最新状态,但会有延迟以确保任何可能更晚的状态可以被发布。欺诈证明挑战窗口期是在争议情况下提供最终结算的方式,但根据解决争议所需的时间长度——和安全级别——它可能经常不方便。

状态通道有几个主要问题。首先,由于更改通道状态是一个交互过程,双方都需要在线才能进行更新——例如接收付款。另一个问题是,为了确保资金安全,需要主动检查链上合约是否存在潜在恶意交易,这再次意味着安全模型假设双方都活跃,这在技术故障或通道任何成员被审查的情况下会成为问题。通道的双边性质也意味着多方之间的状态转换组合需要更多复杂性。

状态通道作为扩展解决方案(忽略上述安全权衡)不太强大的很大一部分原因是,实际上状态通道本质上只是少数方之间的临时交互式Plasma;就安全权衡而言,Plasma的欺诈证明和链上解决实际上(除了数据可用性)几乎相同,同时更加多功能;Plasma可以说只是更优越,因为它们实际上允许用户异步协调——即不需要双方都保持在线。

4.4 Plasma和Validium

Plasma是一种历史性的扩展解决方案,它结合了一个链上合约来“进入”Plasma,以及一个链下的Plasma运营商,该运营商在Plasma内部计算交易,并定期将交易批次的承诺发布到链上。它们将协调的负担从用户自身转移到Plasma运营商,这意味着用户可以异步协调,这与状态通道不同,后者需要用户之间的实时交互;然而,这种改进的用户体验伴随着一系列权衡,主要源于对中心运营商信任的依赖。

Plasma使用Merkle树来跟踪加密货币的基本单位,每个币由树中的一个索引表示。当通过链上合约将资金存入Plasma时,运营商向持有者发送一个Merkle分支,证明他们的币在树中的存在。然后Plasma运营商定期将交易打包,并将它们的Merkle树发布到链上;提取资金意味着从这些批次之一发布一个Merkle所有权证明到链上,但由于主网本身无法验证退出声明的有效性(例如他们之后没有可能花费资金),因此使用争议解决窗口期来确保任何人都可以发布欺诈证明,证明提款的不正确性。

问题在于,为了确保欺诈证明能够被计算并发布到链上,需要有足够数量的节点既主动关注链本身,又拥有Plasma数据以便创建证明。这是一个重大的安全问题,因为它依赖于Plasma运营商愿意随时使这些数据可用,这使得它们成为系统中的中心故障点和可信实体。另一个问题是,Plasma仅支持基本用例,如简单的资产转移,这意味着它们从未成为扩展问题的整体解决方案。

Validium本质上是Plasma概念的扩展,它使用有效性证明(SNARK)来实际证明发布到链上的交易根的有效性,这使得运营商在密码学上不可能通过承诺无效交易来欺骗用户。这意味着,如果运营商诚实(在数据可用性方面),用户可以立即提取资金,因为发布的树根内的交易被明确证明是有效的。然而,数据可用性问题仍然存在,因此Validium大多已被zk-rollup(使用健壮的数据可用性)作为精神上的继承者所取代。

4.5 数据分片

数据同质化可以粗略地描述为一种机制,用于将数据(状态或静态blob数据)存储的负担分布到一组验证共识节点上,而不是在每个单独验证人的硬件上冗余复制网络的整个数据容量。当你从区块链是什么以及原则上应该是什么样子的角度来看待这个问题时,这似乎是一种直观上有效的运行去中心化世界计算机的方式,但从早期分片提议的角度来看,数据可用性更像是一个问题而非解决方案。

分片的问题在于,即使你假设任意量的计算可以在恒定时间内用SNARK验证,这意味着即使分片划分,共识开销也能保持恒定,你仍然会遇到分片有两个需要解决的独立问题:划分数据和划分执行。在早期的分片模型中,由于分区是通过将验证人委托到委员会并使用统一标头来协调对分片状态的共识来实现的(假设每个分片内委员会是拜占庭容错的),因此并非每个验证人都需要存储每个分片的状态和区块数据;问题随之而来,这些信息的隐含可用性消失了,并且无法保证实际跟踪分片状态所需的数据已经可用,除非有某种明确的额外机制来实现。

这个问题在基于Plasma的扩展中再次出现:用户资金的安全性依赖于运营商将实际正确数据提供给用户以创建欺诈证明;数据不可用问题使得Plasma和Validium因此成为次优的扩展解决方案。

数据可用性抽样是一种机制,通过该机制可以证明网络状态数据的存在和可用性,而无需节点下载整个数据blob。一个简单的实际例子是组建验证人委员会,每个委员会存储所有数据的随机子部分;这可以与纠删码结合,以便仅使用编码信息的50%即可推断出整个blob。这实际上意味着攻击者只有在相应的数据已经被提交的情况下才能让一个分片区块被包含,这意味着即使是恶意多数也不能随意更改系统——即无效区块。

数据可用性抽样的当前状态已从解决经典分片问题转变为一种模型,该模型将以太坊定位为Rollup安全性的最后贷款人,充当Rollup数据可用性的基础层。例如,EIP-4844使用blob廉价存储Rollup区块数据——尽管blob仍然在所有节点上复制;后来实现了PeerDAS来解决这个问题,现在blob存储的负担(通过冗余和纠删码)分布在验证人集合上,以更好地利用可用资源。

4.6 L2与以Rollup为中心的路线图

数据可用性问题以及Plasma和Validium系统有限(大部分仅限支付)的用例为更健壮的扩展构造的出现铺平了道路:Rollup。截至2026年6月,以Rollup为中心的路线图是以太坊首选的扩展方式。Rollup与Plasma非常相似,但有几个关键区别:

  • 交易数据的数据可用性由L1强制执行和保护。
  • 提交给L1的根通常是Rollup状态的根,这意味着支持通用EVM计算。
  • “运营商”的定义被放宽,变得更加灵活。

Rollup构造通常分为两类:乐观Rollup和zk-Rollup。两种Rollup类型最初都使用calldata来存储交易数据,但今天它们使用blob数据进行廉价存储。Blob最初在所有节点上复制,但今天使用PeerDAS将负担分布在验证人集合上;数据可用性抽样的最终目标是更高级的FullDAS

数据本身(不像跟踪对象所有权的简单Plasma交易树)是一批——通常是压缩的——对Rollup状态进行操作的交易,以及一个在链上的特殊Rollup合约中发布的更新状态根。乐观Rollup的安全性来自于这样一个事实:如果基于先前状态执行的交易导致的状态根与提供的不同,或者以其他方式无效,任何节点都可以发布欺诈证明来惩罚Rollup运营商。乐观Rollup有一个挑战窗口期,在此期间可以发布欺诈证明,证明运营商错误地计算了Rollup状态,这意味着交易最终确定——以及安全地提取资金——可能需要长达一周的时间。Zk-Rollup更强大(但更昂贵),因为它们使用SNARK来证明Rollup状态转换的有效性,理想情况下在数据发布的同一区块中完成,这意味着(假设密码学是可靠的)可以启用即时提取。

广泛可访问的Rollup数据可用性意味着理论上任何人都可以充当运营商并发布新的交易批次来仲裁状态变更。在实践中,中心化运营商通常承担这一角色,有时与多重签名安全委员会结合以处理Rollup升级或更灾难性的场景,如Rollup失败。

因此,即使L2(通常)从L1继承了验证安全性,它们并不继承吞吐量安全性。这意味着实际计算Rollup状态、决定哪些交易包含在批次中以及执行这些交易的角色被委托给中心化运营商。这导致了关于抗审查性、隐私、Rollup活跃性、运营商杠杆以及广泛中心化等一系列问题。中心化运营商的存在还增加了一个可以被协调创建Rollup的组织结构(例如风险投资基金)和监管/国家机构利用的杠杆点。

以太坊主网不对Rollup进行意识形态问责这一事实意味着用户体验成为Rollup的最高价值主张,因为很容易看到大部分用户在使用Rollup软件时对以太坊的原则漠不关心。这使得Rollup的利用成为一场意识形态的逐底竞赛,其中中心化基础的高质量用户体验优先于高度原则但更不方便的主网。

另一种思考Rollup工作方式的方式是,它们充分利用了任何共识和数据同质化(从主网借用)以及日益优化的容量利用率,但(通常)不尝试改进整个以太坊生态系统中内存(交易排序)和执行(提供吞吐量)资源的容量利用率,将这些层委派给中心化运营商,这种方式不仅低效,而且在意识形态上是有害的。

4

因此,真正解决扩展问题可以说需要去中心化——并同质化——内存和执行的来源,即排序和计算。注意这样做实际上内在意味着实现原生执行分片。随着Rollup底层技术的改进,通往一个优化数据、执行和内存容量利用率的扩展解决方案,并在意识形态范围内,路径正变得越来越清晰。

4.7 基于排序与原生Rollup

可以说,Rollup并没有达到在纯分片模型中所期望的严格意义上的执行同质化和容量利用率。实际上,Rollup只是将问题卸载到更高层,在此过程中引入了一系列效率和安全性权衡。由于Rollup的数据和共识容量本质上直接从主网继承,很容易看出为什么它们有效地利用和利用了这些领域的可用资源,但吞吐量领域(内存然后是执行)独立于L1。

这使得Rollup的来源及其活跃性成为一个社会协调问题:任何改变Rollup状态的信息的存在都是由一个外生的——通常是中心化的——实体提供的,主网对此保持不可知。这带来了一个效率问题和一个安全问题

  • 效率问题源于这样一个事实:一组非协调的Rollup运营商不太可能以与用户实际需求相关的方式,最优地协调其状态区域中潜在消息的组织。例如,假设一组用户由于某种主观社会原因(例如其中实现的应用程序)在Rollup X上进行交易;然而,如果Rollup X有一个用户希望与Rollup Y的用户协调,那么在没有额外同步组合机制的情况下,无法实时解决这个问题,因为协调气泡已经以一种非常僵化的形式被有效地设置。
  • 安全问题源于这样一个事实:Rollup的“活跃性引擎”需要被治理以匹配不断变化的L1,但由于L2状态转换函数和内存(排序)模型对L1的状态不可知,这必须通过安全委员会等方式手动完成,这为Rollup引入了一系列令人不安的信任假设,而L1的用户从未需要做出这些假设。

原生Rollup是解决后一个安全问题的提议方案,它使用以太坊主网上的原生EXECUTE预编译,提供一种协议内方式来验证Rollup状态转换,使得Rollup完全继承L1 EVM状态转换函数。执行预编译接收输入pre_state_rootpost_state_rootgas_usedtrace。调用该预编译本质上验证trace输入(一组交易)在先前状态根上执行时是否产生后状态根——并使用提供的gas_used作为gas。早期的一组提议涉及使用单Slot执行延迟,以便在P2P网络中链下传播之前,为Rollup计算的有效性证明提供更多时间进行计算;这意味着不仅更多时间来证明Rollup状态转换函数,而且可能使用链下证明传播意味着不需要将任何单一的证明系统内置到所有以太坊客户端中。注意,在实际的Rollup证明者活跃性失败的情况下,仍然有可能有 altruistic 的证明者提供有效性证明;最初提出了一个原生Rollup gas限制,以使这个假设更可行——即让原生Rollup证明更易访问。此外,实时证明的进展意味着单Slot证明延迟实际上可能不是必需的。EIP-8079是原生Rollup研究领域的最新进展。

基于Rollup是一种简单的Rollup构造,其中Rollup内存层(将交易排序到Rollup区块中)被重新委托给“基”L1。这在范式上等同于简单地允许任何用户发布一个Rollup区块,但它在实际意义上的独特之处在于,我们可以开放基于排序的设计空间,实际上允许更可编程的去中心化Rollup排序;例如,一个模型可能被设计成L1排序的Rollup交易直接包含到L1内存池中,然后以某种可编程的方式(例如按费用强制排序)包含到原生Rollup的trace输入中。基于排序及其未来可能意味着什么的研究空间仍在积极研究中,但当与原生Rollup结合时,它们可以创建一个接近于似乎直观上可能的无信任主网级安全性的Rollup生态。设计一个优化上述内存和执行容量效率因素的系统,可能需要从不同的角度来探讨。

5. 内存同质化

5.1 内存层的简要说明

近年来,以太坊协议被认为具有三层:共识层、执行层和数据层。共识层提供了允许就网络状态达成一致的真理根,执行层支持对状态变更的计算,数据层使网络能够有效利用聚合验证人资源,使网络状态和基于状态计算的区块都可用。这个有限模型的问题在于,它没有考虑区块内的交易究竟是如何被执行的,只是这些交易以某种方式存在于执行区块中。

这种思维方式使得协议对交易如何被包含在区块中以在执行层上进行计算保持不可知,这在默认设置中产生了一些负面影响:

  • 区块提议者从用户的交易中提取最大可提取价值(MEV),严重劣化用户体验,并违背以太坊的核心原则。
  • 区块提议者可以审查用户交易。
  • 区块提议者对用户及其行为有很强的了解,劣化用户隐私。

这一层可以称为“内存层”,因为信息被临时存储并导向永久执行和存储的短暂性质;如果以太坊是一台世界计算机,那么共识层是主板,执行层是CPU,内存层是RAM,数据层是磁盘。内存层优化及其中的架构变更的目标可以说是设计一个系统,提供更公平、更符合主网价值观的区块执行流水线,避免面临中心化风险,同时实现区块创建和执行的可扩展性和效率。

5.2 内存层需要解决的问题

关于使以太坊内存层更符合主网原则——以及更广泛的扩展相关目标——目前存在几个开放挑战:

  • 确保有效交易能够抵抗区块生产者的审查;例如使用包含列表规范,如FOCIL(EIP-7805)。
  • 通过诸如加密内存池等构造使整体MEV变得不可能。
  • 通过移除交易的概念,代之以通用消息,以及使用账户抽象构造(有效移除硬编码外部拥有账户的概念),来泛化EVM计算。
  • 在执行分片或基于Rollup排序中,将交易直接排序到执行子过程中。

通常,这些问题可以说属于内存层优化的三个类别:去中心化交易包含过程,使其在多种意义上“更公平”,并同样消除与MEV相关的协议威胁;适应更抽象的EVM消息传递模型(账户抽象);以及以更高效的方式协调交易包含(排序)——无论是在基于分片还是基于Rollup的扩展模型中。

5.3 分片/虚拟内存池

解决内存层中心化问题的整体方案涉及实现一个交易包含/排序(内存池)方案,该方案不仅去中心化该过程以使其更公平,而且在此过程中在概念上同质化它,以在通过执行分片或Rollup进行扩展时优化容量利用率。一个通用范式可能是创建一种去中心化的分片虚拟内存池,其中被排序到区块中的交易直接来自内存层内的某种弱共识。包含列表已经通过实现内存池级别的短暂统计共识来做到这一点,但一个更整体的虚拟内存池模型对于抗审查性和扩展网络内存的容量利用率以容纳不断增长的执行容量都具有强大作用。一个基本的虚拟内存池实现可能具有以下属性:

  • 通过强制纳入来执行抗审查性。
  • 通过强制排序消除MEV。
  • 使用基于排序将交易导向执行分片和/或Rollup。

理想情况下,聚合验证人资源的相当一部分可能被部署来合成这个虚拟内存池,以确保内存层的高容量利用率和去中心化。

5

一个最优同质化的内存层将类似于虚拟内存池构造,其中验证人协调将交易排序到执行分片中,方式上没有单个验证人对所有排序拥有完全自主权。注意,同质化的执行层并不内在地意味着同质化的内存层:区块的执行可能被最优同质化,但每个同质化的执行批次可能只是由一个单体构建者/提议者角色排序。然而,通过虚拟内存池的内存分片与执行分片结合时,可以导致极高的吞吐量,并且(取决于实现)可以带来强制包含和强制排序的所有好处。

6. 执行同质化

“你在以太坊区块链上做不了任何你在1999年的智能手机上做不到的事情。”——Vitalik Buterin

6.1 一般原则

所有区块链扩展的范式通常都表现出该问题本身性质的共同特征:试图实现高水平的吞吐量,这可以粗略地定义为每单位时间发生的协调量(在抽象意义上);简单来说,区块链是用于实现这种协调的基础设施层。不幸的是,这种协调具有机会成本:也就是说,仅仅在区块链上与其他用户协调的能力就会产生额外的开销,相对于在一段时间内可能与之协调的其他用户数量。所有计算顺序发生且所有状态和执行都被复制的朴素区块链模型代表了这种困境的最纯粹形式:每个单独用户都能够在区块链历史中的任何时间与任何其他用户协调,这使得有必要在单个执行线程上计算吞吐量的聚合。

第5节中提到的扩展解决方案可以根据一段时间内的潜在协调来描述:

  • 状态通道允许任意N个用户(实践中通常为两个)瞬时地协调,因为所有N个用户必须在线且交互才能进行协调。
  • Plasma和Validium允许静态的K个用户协调,其中K < N(主链的总用户集)在任何时间——假设可信运营商的诚实性;希望与更大集合N协调的用户必须承担一些延迟(挑战窗口期)或额外开销(有效性证明),并且只能在K和N之间存在刚性分离的情况下进行。
  • Rollup,像Plasma和Validium一样,允许静态的K < N个Rollup用户协调,不一定信任运营商,同样具有刚性分离以及与非Rollup用户协调的开销,如同Plasma和Validium。

理论上,你会认为状态通道是最优的扩展形式:它们在主网上使用极少的数据和计算,仅将其用作安全性的最后贷款人和共识真理根,并且理论上允许协调用户集合无界。问题在于,尽管技术上所有状态通道用户可以协调,但协调用户必须在线且活跃才能进行协调,这使得需要异步交互的整个应用类别变得不可能。状态通道确实是链下计算的最严格形式:它们将主网上的开销削减到最低限度(最终性),并将其他所有内容(活跃性、数据、执行、结算)卸载给用户。

Plasma在异步协调方面更进了一步,因为它们基本上实现了一种类似于状态通道的机制,只是执行和数据被卸载给可信运营商。忽略与信任运营商相关的问题,Plasma还引入了额外的瓶颈:更长(或更昂贵)的退出窗口期以及难以轻松与其他Plasma或主网络的用户协调交互(这是因为,由于异步协调,必须使用证明系统进行退出,而不是像状态通道那样让整个用户集同意退出),这将可能的协调交互集合限制为与Plasma本身用户的交互。

Rollup实际上接近于消除可信运营商问题,但保留了内部和外部用户严格分离的约束,以极其僵化的方式限制了协调空间。

6

L1朴素的包罗万象的协调空间直觉上有缺陷:每个用户都为了与每个其他用户协调的能力而支付了巨大的机会成本,体现在交易速度和网络吞吐量上,这对于绝大多数用例来说是完全冗余的。因此,目标是创建一种机制,允许用户与尽可能多的其他用户协调,并尽可能灵活地决定协调发生的时间,而不会因为用户永远不会利用的边际潜在协调而暴露于任何额外开销。

6.2 深度优先与广度优先扩展

实际上,任何用户可能寻求协调机会的用户集——希望是随时异步——自然导致一个结论:理想的扩展形式是一种机制,允许网络的执行、数据和内存空间以某种方式被“分片”或分区,以优化相对于潜在协调用户集的子根协调空间(分片、Rollup、Plasma等)的最有效排列。

由于执行和内存空间的任何分区都会在空间之间固有地产生摩擦,解决如何调节空间以封装一组用户,使其最优地代表他们寻求协调的用户集,是一个具有挑战性的问题,历史上的解决方案通常最终也是高度僵化的,而用跨区域消息/交易来填补空白是一个更难解决的问题。分片历史上最大的挑战之一实际上是管理这些分片的“形状”(网络的封闭子区域),使其准确反映用户的协调需求。

Rollup是这个问题的另一半的准有效解决方案,因为它们有效地将协调创建执行和内存区域的角色委托给Rollup的社会和治理结构;关于Rollup内部和外部存在什么,有明确的理解,用户拥有完全自主权来决定哪个Rollup包含一组能准确反映他们需求的用户。然而,直觉上问题仍然存在:Rollup并没有解决调节子区域排列以优化协调用户集的问题,只是将问题卸载到社会层;可以说,Rollup是我们迄今为止最接近分片级容量利用率的方案,但最优委派执行和内存过程的协调问题仍然存在。

有人认为,任何将资源委派卸载到社会层的扩展解决方案都是一个通过深度扩展的解决方案,即通过新的协议“层”来进行深度优先扩展。另一方面,原生分片解决方案类似于广度优先扩展,其中执行和内存资源的负担被委派到网络的广度上,即现有的验证人/构建者集合;在广度优先扩展中,资源的实际分布对容量利用率的优化要好得多,因为执行和内存的委派在整个验证人/构建者集合(吞吐量的潜在来源)中更加同质化,而不仅仅是完全卸载到单独的社交层。然而,网络的性质完全相同:一定数量的交易将进入网络内存;如果Rollup是基于的,Rollup交易本身在L1内存中排序,否则它们通过某些其他外部社会协调机制排序;然后它们根据用户自己的自主权在执行子区域内执行,用户选择他们认为允许他们访问希望协调的用户集的区域。无论扩展系统如何,跨Rollup、Plasma和主网的所有交易从第一原理来看都是“以太坊”交易,只是它们采取什么路径进入世界计算机的问题。

认识到这一点是:实际上,当推演到逻辑结论时,执行分片和基于Rollup的扩展实际上是相同的:Rollup之所以有效,只是因为它们做出了固有的权衡(长/昂贵的退出窗口期、中心化的执行和内存);如果这些权衡不存在,例如通过使用zk-Rollup即时退出、基于实时证明的同步可组合性、基于排序以及执行委派给主网验证人,那么Rollup实际上会以一种迂回的方式实现了执行分片。因此,执行的最终目标可以说是在整个集合中尽可能多的验证人之间同质化吞吐量执行的委派,方式类似于执行分片,从而允许用户以最大有效的方式,跨任何时间段异步协调,而无需为他们可能永远不会利用的潜在协调承担成本。

在之前的定义内解决这个问题意味着它本质上是扩展的最优形式:在实际管理吞吐量和协调委派中的任何增加的开销或瓶颈,必须低于协调用户成本的降低,同时保持所需的构建者和验证人去中心化水平。解决这个扩展方程等同于以最纯粹的形式解决区块链三元组。使用朴素的复制型区块链模型是一个非解决方案,因为它必然会由于每个人协调的高昂成本而减少潜在协调用户的集合,这实际上使得每个用户的协调成本比在一个看似更昂贵的执行分片系统中可能的高得多。

6.3 动态优化的实时执行分片

分片问题的一个很大部分是管理分片排列的难度——本质上是执行子区域——不仅要准确反映协调用户的数量,还要准确地反映那些实际希望相互协调的用户的精确排列。Rollup和历史上的分片提议的问题在于,它们从错误的角度看待同质化:它们首先创建协调空间,然后假设用户可以自行组织以围绕这些执行子空间工作;实际上,目标应该首先是确定用户的协调需求,然后让执行资源的组织和委派适应这些信号。这实际上是说起来容易做起来难,但一个潜在的解决方案特别在于内存层。

虚拟内存池的概念本身,可以粗略地定义为一种排序机制(一种组织交易如何以及何时被包含在执行区块中的机制),已经开始以某种基本形式存在于今天的以太坊中:例如,Glamsterdam硬分叉将使用包含列表(强制包含交易)来解决抗审查问题,但内存层的机制可以通过利用这种分片(虚拟)内存池的想法以多种独特的方式得到改进,这种内存池比现有的本地内存池更有组织和协调性。

一个理论上最优的执行分片实现可能使用虚拟内存池构造,以有效协调内存池交易到特定执行分片的排序,其方式由排序本身决定;这意味着,可以被包含为状态上有效函数的交易集合在同质化内存层模型中被聚合,以便计算执行分片的最优排列,从而最大化资源的最有效利用,相对于哪些交易访问状态的哪些区域——这告诉你哪些交易可以在独立分片中执行,哪些交易需要在这些临时执行分片之间同步组合。这些执行分片更像是在实时创建的临时zk-Rollup,以匹配活跃交易集的协调行动,而不是传统的分片链。这样的系统不仅允许以太坊最优地改变执行层的“形状”以匹配用户发起的交易,而且还消除了旧分片提议的紧耦合问题:系统总是适应以利用中等到最佳情况的并行性,但在最坏情况下对系统的唯一负面影响是它退化回(当前)单体模型的吞吐量水平;如果一个临时执行分片在某种活跃性意义上失败,整个链不会崩溃,因为那些失败的分片只是被从链的真理根中修剪掉。

7

从某种意义上说,这种自适应的实时执行分片在理论上是最优的,因为它利用网络的广度来容纳瞬时需要的(并且可能容纳的)最大吞吐量,但在最坏情况下它只是回退到当前朴素模型。

7. 执行分片

“给我一个足够大的SNARK,以及一条可以放置它的链,我将证明世界计算机。”——亚里士多德

7.1 共识真理根

从概念上讲,所有区块链模型都是封装了某种状态转换函数的共识机制;或者换句话说,一个封装了执行链的共识链。区块链三元组源于共识吞吐量与执行吞吐量的紧耦合:在朴素模型中,共识链本质上复制执行链的吞吐量以验证它。以太坊当前的模型是使用共识链选举一个单一验证节点来转换执行链,然后执行可以由共识链的每个其他验证人完全复制。这实际上将整个网络——以及聚合的验证人资源——折叠成一个“虚拟验证人”,出于安全性考虑,它包含了聚合体的所有去中心化,同时将虚拟验证人的吞吐量折叠为单一。执行容量利用率本质上是为了吞吐量而利用验证人资源的聚合。这两个角色——提供安全性和提供吞吐量——从根本上说是不分离的,但需要三个独立的协议级变更才能实现这些好处:

  • 提议/构建执行区块的角色与证明该区块的角色分离,这意味着验证人安全性(共识吞吐量/广度)可以由潜在的低资源网络节点提供,而吞吐量则来自高资源网络节点。
  • 证明验证人的验证机制基于有效性证明而非朴素复制,这意味着共识深度可以任意扩展,而证明者硬件要求保持不变。
  • 由于增加提议者/构建者要求的唯一负面影响是相对限制了谁可以参与提议执行区块,我们可以将这样做的硬件要求扩展到接近已经需要质押的成本(Ξ32),这意味着可以在不牺牲去中心化的情况下容纳更大规模的扩展。

那么问题就变成了如何最大化执行链的吞吐量,而不需要担心之前可能出现的共识级别瓶颈(由于吞吐量增加而需考虑)。当前依赖单一构建者/提议者实体的模型因此固有地受到限制,因为它仍然将执行吞吐量限制在任何一个提议者/构建者的能力范围内。目标是获取潜在的待包含交易集,而不是在单个线程上执行它们(在一定的gas限制内),我们可以跨更大的一组提议者/构建者验证人并行执行它们,在由Amdahl定律决定的任何并行限制内。换句话说,问题本质上是如何利用任意数量的提议者/构建者验证人计算,在独立线程上执行任意数量的交易,同时确保所有计算能够以简洁可证明的方式向上传播,并包含在共识层的真理根内。

7.2 虚拟内存池

本文中关于从优化执行吞吐量委派(相对于交易的实际协调需求)的角度来处理分片,而不是从Rollup和历史分片提议的角度(先创建执行子区域,然后让用户来)做出的许多陈述,都假设在状态转换甚至被计算之前,就实时了解可能被包含在执行区块中的交易。这与当前模型(构建者/提议者对在区块中包含哪些协议不可知的本地内存池交易拥有完全自主权)的思考区块链内存池的方式非常不同。因此,我们需要某种协议内机制来协调构建者/提议者之间的共享临时内存。

合成这个虚拟内存池的一个简单解决方案是利用共识层上现有的签名聚合机制。除了用后量子SNARK聚合XMSS签名(Slot证明)之外,证明验证人还可以签署他们本地内存池的视图(在一定范围内,如区块gas限制),按照优先费用排序;本地视图的结构可以简化为交易哈希与访问列表的配对列表;用户广播的交易可能可以通过SNARK证明是有效操作,以使包含到虚拟内存池中更容易。聚合委员会然后可以在聚合的内存池视图上强制执行某种规则集,例如任何未被委员会绝对多数验证人看到的交易必须被丢弃。然后任何委员会成员都可以创建一个SNARK证明,该证明本质上获取所有被绝对多数验证人看到的交易,并将它们聚合到一个单独的高层虚拟内存池视图中;然后这一过程递归继续。结果是,一旦聚合的本地内存池视图到达树的根,一个区块gas限制数量的、被绝对多数验证人看到的排序后的交易被组装成一个轻量级列表,由每个验证人复制;然后这些交易和相应的访问列表可以直接委派到下一个单区块,或者更理想的是,跨执行委员会并行委派交易的执行。这种实现不仅由于并行性增加带来的容量利用率优化而带来效率提升,而且虚拟内存池本身也能带来结构性好处,例如增强的抗审查性和抗MEV排序。

7

在简化模型中,每个验证人复制相同的状态,让每个证明者提交一个区块gas限制数量的内存池交易哈希和访问列表在带宽方面可能是可行的。然而,对于执行分片的目的,我们假设我们可以处理比任何单个验证人自己能够处理的更多吞吐量,这意味着将整个多分片gas限制数量的交易递归向上传播是不可持续的,因为这里假设的gas限制比单个验证人的限制高出许多倍(带宽需求可能最终太高)。

假设状态数据在执行分片模型中被同质化,那么明智的做法是停止围绕签名聚合树构建虚拟内存池,而是在树的底部根据状态的特定部分构建内存池委员会。可以预先选择验证人,使其提交一个包含那些触及状态某些随机组合区域的交易的本地内存池(可能无论他们自己存储什么),这意味着验证人可以提前在网络层搜索这些交易,并提交触及那些状态对象的交易作为他们的本地内存池视图。然后,不是将哈希和状态访问向上传播,聚合委员会丢弃哈希,只跟踪聚合的状态访问,这意味着树的根将本质上包含一个状态访问记录,由每个状态部分被访问所消耗的gas量来衡量。注意,从树根向上传播的交易是基于交易进入状态的哪一部分,而交易进行的任何额外状态访问将在计算执行委员会结构时处理。

在这种情况下,而不是向上传播的交易受限于单个区块gas限制,它们可以受限于一个子区块gas限制,该限制实际上等于异质化模型中整个单个区块的限制;这意味着多个完整区块可以基于从虚拟内存池聚合的状态访问并行执行。注意,在这种情况下,虚拟内存池仅用作基于内存层对即将到来的状态访问的概率性视图来相对优化执行委员会结构;实际执行发生在这些委员会内部,对包含的交易拥有自主权(在委员会被委派执行的状态区域限制内),因为强制整个网络就确切由哪个委员会执行哪些交易达成一致会带来太多开销。假设网络层可以用于将用于合成虚拟内存池的交易及时分发到正确的委员会,然后委员会可以尽力在它们的子区块中包含尽可能多的交易;可以部署激励措施(例如,在内存池合成期间委员会的聚合状态访问被包含时给予奖励)来鼓励这种良好协调的行为,而不是依赖利他主义。

值得注意的是,这并不是对容量利用率的整体优化,因为,将这种虚拟内存池机制推演到逻辑结论,很明显最终聚合状态访问所需的原始数据带宽将使得进一步扩展变得不可能;这也意味着我们不仅必须限制子区块的gas限制,还必须以某种方式设置带宽限制,限制可以包含的子区块(以及因此执行委员会)的数量。尽管即使这个瓶颈也可能被容量利用率增加带来的大幅扩展所超越,但不受带宽限制的解决方案将带来更大的扩展收益。

7.3 执行分片排列

一旦有一种机制——至少是概率性地——确定聚合内存池视图的状态,这些信息就可以用于确定最优方式,将下一个区块的执行分片/分区到跨子区块计算吞吐量的执行委员会。这意味着必须有一个在所有验证人之间复制的确定性算法,允许就下一个委员会排列的状态达成共识。一个简单的算法如下:

  • 根据交易的状态访问,将每个交易(或前一节中描述的状态访问批次)分离到独立的执行列中。
  • 对于每个具有N > 1次访问的交易,如果所有N个状态访问执行列的gas消耗总和小于子区块gas限制,则将它们合并到一个包含该交叉交易的列中;否则,将其委派到更高层的执行列。
  • 将所有其他低于子区块gas限制的执行列聚合到低于子区块gas限制的单个列中。

这个算法将协调非重叠执行的分布,这可用于通知执行委员会本身的创建,这些委员会将并行执行这些执行列/子区块。

8

在实践中,列的结构可能包含若干子区块,具有越来越特定的状态访问部分(例如来自单个应用程序或生态系统的交易),但也包含一些子区块,其中包含基本上不触及任何中央状态部分的剩余交易(例如EOA和智能合约账户或基本程序)。值得注意的是,委派过程中的第二步有时可能将更高层的交叉点退化到一个聚合子区块中,但在由于gas限制而无法这样做的情况下(例如上图中的灰色列),它们必须由更高层的独立委员会执行。

7.4 执行委员会

执行委员会是实际并行执行非重叠吞吐量的实体,其计算被递归聚合并向上传播到共识链的真理根中。委员会成员本身本质上只是证明者-提议者分离中的构建者/提议者实体。他们角色的初始可以由执行票风格的拍卖市场决定,或者通过简单的随机选择,其中提议者根据他们在独立提议者注册表中注册的质押比例被选中。

将证明者和提议者的角色分离有许多巨大的好处。要看到这一点,值得理解当前的异质化模型:今天,以太坊共识链没有分离证明者和执行负载提议者的角色。执行区块通过随机选择一个提议者来执行状态转换函数,并让每个证明者通过复制相同的执行来验证负载;这意味着不仅网络的吞吐量受限于最低功率证明者的最大计算能力(因为他们必须有时间通过重新执行来验证),而且结果是,根据定义,每个证明者必须满足与执行区块提议者相同的硬件要求。这导致验证量受计算量限制。即使是朴素的无状态化也无法解决这个问题:如果每个证明者都可能成为提议者,每个证明者仍然必须满足提议执行区块的硬件要求;一个更好的系统是这些证明和提议的角色严格分离,这允许验证量(证明)以及因此链的安全性无界,参与可以在最低功率硬件上进行,而计算吞吐量几乎是无界的,由专门的更高功率提议节点管理。

这意味着,由于以太坊中验证人的质押要求包括在精益共识中抵押Ξ4,提议执行区块的硬件成本可以大致等于该确切金额,而不会损失去中心化。然而,问题仍然存在:网络的吞吐量限制等于(在这种情况下高得多的)最低功率提议者的最大计算能力。执行分片的目标是尝试利用接近整个提议者资源集,以最大化执行层的容量利用率。每个Slot有数十万个潜在提议者,但在任何时刻只有其中一个在贡献执行吞吐量,而其他的都闲置,这个想法几乎是荒谬的。强制每个额外的验证人(按边际质押以太)按其每以太基础贡献等量的执行资源的一个非常积极的副作用是,它使得规模经济不仅是非线性盈利,而且实际上直接比单独质押盈利更少;这是因为一个初始持有Ξ4的家庭质押者自然更可能拥有一台能够运行提议验证节点的个人电脑,而一个持有Ξ8的人可能必须承担获取边际计算机的额外成本,更不用说随着这个方程扩展,更多的中心化意味着更多的非计算基础设施如仓库和设备,而家庭质押者可以简单地使用他们的家。

11

委员会本身的构建如下:Y > 1(为冗余)个提议者的X个委员会被委派到X个执行列,以并行计算相应的子区块;然后,使用N元树系统将若干提议者委派到超级委员会,这些超级委员会聚合N个子区块。增加N意味着每个聚合委员会需要更多的带宽和验证时间,但可以有更多工作并行完成。这个过程对于朴素情况(状态在所有验证人中复制)很简单,但在状态分片的情况下,过程更加困难,因为执行委员会不能简单地随机选择——它们必须根据它们存储的状态来选择计算列;随着我们开始包含交叉的执行列(需要在树的更高层解决),这变得越来越困难,因为它实际上意味着我们必须找到一个恰好存储了相关确切状态区域的委员会节点。一个潜在的解决方案是将状态树结构化为一个向量承诺(类似Verkle)树,使得更高层的委员会可以从较低层委员会接收高效的状态证明,以解决交叉列,但这仍然假设树底部的委员会能够访问正确的状态,以计算执行列的初始交易。这个系统甚至可以整体集成,其中每个交易都必须包含一个状态证明(可能来自用户),这意味着协议在选择委员会时可以对哪个验证人存储哪个状态保持不可知;这对安全性也是一个主要好处,因为它使委员会结构更加不可预测。在这种系统中有效管理状态分布是一个具有挑战性的问题。

7.5 状态与数据可用性

随着执行分片开始容纳更多吞吐量和规模,管理数据和状态开销开始成为验证节点的主要负担;因此分片状态似乎是任何有效执行分片模型的必要组成部分。一个使用数据可用性抽样的简单模型可能如下运作:

  • 所有状态数据被分割成大量X个数据blob。较大的数字意味着节点存在更精确和独特的状态存储组合(这对于执行分片有好处),但验证承诺的开销更大。
  • 这些blob以比例Y进行二维纠删码;这意味着只需要整个状态的1/Y即可重建所有内容,确保冗余。
  • 每个blob在每个epoch分配给Z个随机提议验证人。为了避免每个验证人存储的状态每个epoch刷新的问题,只有K%的存储数据被刷新每个验证人;然后他们必须从网络层获取这些数据。

重新考虑当前模型中状态存储的经济性也很有意义。目前,不仅所有节点复制世界状态,而且该状态永久存储。这从根本上是一个经济上错误的状态管理模型,因为它固有地使验证人支付无限的存储开销,而仅从交易用户那里获得固定费用。

一个更好的模型将使用状态过期,以确保状态用户支付公平的费用,这些费用实际上按状态存储的时间比例支付;为了避免状态过期带来的不便的用户体验问题,可以使用向量承诺树,确保用户在过期确实发生时能够使用密码学证明恢复状态对象。然而理想情况下,即使是对状态对象的承诺最终也必须在足够长的时间框架内过期。这个承诺系统也可以在子区块执行期间使用;为了确保更高层的委员会能够访问必要的状态对象,较低层委员会可以向上传播状态证明。也可能支持新形式的状态,用户可以选择只使用证明来发起交易。状态存储成本也可以使用类似EIP-1559的机制,基于目标总状态大小来定价存储成本。类似的机制可以整合到智能合约本身中,为了避免公地悲剧问题(没有单个用户会为公共合约支付状态成本),可能强制对合约的每笔交易支付一个状态存储费,该费用延迟过期,但该费用相对于过期时间的长度呈指数级变小,并指数级减少延迟时间;这有效地强制合约的所有用户支持其未来的可用性。

实际的数据可用性证明可以在与XMSS聚合和虚拟内存池合成相同的递归树中发生;节点可能因未能证明数据可用性而受到惩罚,否则获得补贴。存储特定状态部分的验证人也帮助了执行分片背后的博弈论:验证人奖励可以设计成使得子区块中交易的优先费用分布在存储交易访问的状态的验证人集合中,这意味着他们有动力确保这些交易被有效传播到正确的内存池证明者和执行委员会。

7.6 执行树

如果没有某种形式的简洁验证来递归聚合实际吞吐量,这种来自并行执行列的递归同质化吞吐量将是不可能的。聚合本身使用递归SNARK证明,在根处用一个SNARK简洁地证明所有执行列。这种执行列的递归SNARK聚合称为执行树。它基本上按如下方式工作:

  • 树底部委员会中的任何成员计算一个子区块(最好没有像强制包含和排序这样的约束),该子区块在它们被委派执行的状态子集上执行交易。然后他们根据执行的交易和后状态创建一个SNARK证明,并提供任何必要的状态证明,既用于证明,也用于后续层自己的计算。
  • 后续层委员会中的任何成员聚合若干这样的证明并验证它们,为每个聚合列采用他们找到的最高容量子区块。然后他们执行任何与这些子区块状态相交的交易(高层列),创建一个新的聚合证明,向上传播到下一层。
  • 这个过程递归继续,直到达到一个根提议者委员会,他们传播完整的执行区块。

9

递归聚合意味着不仅交易被并行化,而且执行分片之间的依赖关系解析也在可能的情况下并行执行。这对用户体验有一些有趣的影响:最便宜的交易将是那些可以在树底部执行的交易(例如所有只接触一个状态对象的交易),而需要在更高层执行的交易将指数级地更昂贵。然而,这个系统的好处在于,由于树的每一层都有子区块被执行,你可以预期被包含在根子区块中的成本基本上将与当前系统(只有一个区块被执行)中的成本一样高。确切地说,由于执行树中吞吐量的实际瓶颈是对数级的,一个必须在树的根部执行的极其低效的多状态交易的成本基本上将是当前系统成本 + 与总吞吐量成对数关系的少量额外成本。

执行树的另一个很好的特性是,即使执行委员会成员的冗余级别不够,并且在树的任何点发生某种异步网络故障,结果将是更高层的委员会以与今天处理空Slot相同的方式解释它。这消除了以往分片架构中存在的紧耦合问题,其中一个分片中的故障会危及整个网络。执行树的优点在于它们始终针对中等到最佳情况场景进行优化,但在最坏情况下网络回退到当前系统。注意,像多线程gas这样的构造是不必要的,因为交易已经隐含了相对于其状态访问复杂性的成本,这实际上已经激励了交易级并行性。

7.7 通用协调树

“不种些该死的树,你无法种植一个无限花园。”——匿名

我在描述虚拟内存池系统时提到,实际上构建虚拟内存池的过程可以在现有的签名聚合树内进行,这消除了并行管理独立递归树机制的技术和协调开销。我单独描述了状态可用性证明如何可以在同一个树内发生。更进一步,值得考虑是否可能在实际运行执行树于同一个树内,连同签名聚合、虚拟内存池合成和数据可用性证明。这样做意味着我们可以在一个单一的递归聚合结构内运行整个以太坊共识、内存、数据和执行层,这有许多好处:

  • 由于较低的技术开销,整个协议总体上更高效。
  • 我们不将验证人资源和职责分散到独立的过程中,这使得整个网络更容易同步。
  • 验证人职责在证明者和提议者之间的分离更加明确,更容易模块化:它们实际上是相同的角色,但证明者只是在向上传播数据时在执行和数据字段留空,并且不包括在与数据和执行相关的验证人职责中。

由于执行树的结构实际上不是随机的,而是由虚拟内存池决定的,因此必须首先创建它,然后基本上将其封闭在更广泛的聚合-内存-数据树内。基于存储状态进行委派导致的执行委员会结构某种程度上的可预测性,是为什么依赖交易的状态证明(这意味着任何验证人无论自己存储什么状态都可以正确执行它)对安全性有益的原因之一。

10

最初,这似乎是一个有意义的改进,相比于并行运行两个独立树的替代方案。然而,值得考虑的是,执行树结构的缺乏随机性——以及相对可预测性——是否可能成为安全风险:在大多数质押验证人是——可能是执行的——提议者,并且这些提议者中的大多数被委派到相对可预测的执行委员会的情况下,可能更容易执行网络攻击,例如在子根证明验证人委员会中协调恶意签名,或者仅仅是对特定验证人委员会进行DOS攻击,以实现经济多数并最终确定恶意链。在决定使用何种机制来聚合执行、数据可用性证明、虚拟内存池合成和验证人证明之前,值得考虑这些注意事项。

7.8 局限性及与现有系统的比较

从范式上看,这种执行分片的方式与基于Plasma/Rollup的扩展非常相似;只是容量利用率本身如何实现,以及在此过程中做出了哪些权衡的问题。解释分片和以太坊扩展的历史为理解容量利用率问题的本质提供了许多宝贵的见解:状态通道以相当动态的方式将社会协调明确地委派给用户,但移除许多用例所需的异步基础设施层;Plasma和Validium将异步协调带回给用户,但在此过程中将数据可用性和执行问题转移给了可信运营商,同时还将协调空间置于Plasma内部的刚性边界内;Rollup在很大程度上消除了可信运营商问题,但社会协调问题和刚性执行空间仍然存在;基于原生Rollup在消除信任方面更进一步,但并未尝试以任何方式解决协调问题。

在某种程度上,执行分片试图充分利用基于原生Rollup的无信任数据可用性、简洁可验证执行和基于排序,但同时利用原生状态可用性、虚拟内存池排序和执行委员会,使得这些扩展优势不仅真正无信任且无缝,而且以可以在实时中部署的方式实现,以创建可被视为一种自适应的临时Rollup初始化,以便基于所有用户实时协调行动,最大化利用网络容量并优化世界计算机上操作的执行。这里的直觉是,任何广播到以太坊主网或卫星Rollup的交易在抽象意义上都是“以太坊”交易,扩展的目标应该是扩展这些可容纳交易的数量,同时既保持它们在主网意识形态范围内,又以对用户无缝的方式尽可能高效地委派它们的执行。

然而,这种原生执行分片确实带有固有的挑战和额外的复杂性,这些往往很容易简单委派给Rollup,而无需在主网安全性和这些卫星网络之间建立任何紧耦合。诸如管理虚拟内存池的开销、同步执行树的困难以及分片状态涉及的复杂性等问题,可能被证明过于风险或技术上过于具有挑战性,以至于无法证明实施的合理性。

8. 结论

本文旨在作为精益以太坊背景下以太坊执行层的整体说明:区块链执行的本质、执行可扩展性、资源同质化的强大范式、实现容量利用率意味着什么,以及如何通过解释以太坊分片/扩展的历史来找到一种可能理想的扩展形式——从而在概念上说明为什么执行分片展示了这种最优扩展形式可能是什么样子。我们介绍了精益以太坊不仅作为技术路线图,也作为一种思维方式;区块链的历史,以及从这段历史中可以获得的某些基本直觉;同质化和容量利用率的范式,以及为什么它代表了理想的扩展形式;分片的比较历史,以及其中得出的重要结论;对协议内存层性质的看法;最后我们讨论了执行同质化,以及通过执行分片实现它的一个概念框架。无论精益以太坊世界中最佳扩展的路径是什么样的,都尚未确定,但无论如何,世界计算机将继续计算,其光芒将仍然是未来几代人的希望灯塔;我们有责任容纳他们的协调行动。无论Rollup、Validium和基于排序等构造在精益以太坊的未来中可能扮演什么角色,我们坚信,在L1上统一以太坊四个协议层的道路即将到来,达到这个目的地将代表以太坊攀登世界计算机及其所有内容的自主主权计算的顶峰。

人们可能会发现,条条道路通无限花园。

References:

[1] Justin Drake, “lean Ethereum”: https://blog.ethereum.org/2025/07/31/lean-ethereum

[2] Lean Ethereum Roadmap: https://leanroadmap.org/

[3] Satoshi Nakamoto, “Bitcoin: a Peer-to-Peer Electronic Cash System”: https://bitcoin.org/bitcoin.pdf

[4] Scott Stornetta, Stuart Haber, “How to time-stamp a digital document”: https://link.springer.com/article/10.1007/BF00196791

[5] Vitalik Buterin, “Ethereum: a Next-Generation Smart Contract and Decentralized Application Platform”: https://ethereum.org/content/whitepaper/whitepaper-pdf/Ethereum_Whitepaper_-_Buterin_2014.pdf

[6] Justin Drake, “Pragmatic Signature Aggregation with BLS”: https://ethresear.ch/t/pragmatic-signature-aggregation-with-bls/2105

[7] Vitalik Buterin, “An Explanation of the Sharding + DAS Proposal”: https://hackmd.io/@vbuterin/sharding_proposal#Why-not-use-just-committees-and-not-DAS

[8] epf.wiki, “Attestor-Proposer Separation”: https://epf.wiki/#/wiki/research/PBS/ET

[9] epf.wiki, “Enshrined Proposer-Builder-Separation”: https://epf.wiki/#/wiki/research/PBS/ePBS

[10] wikipedia.org, “Shard (database architecture)”: https://en.wikipedia.org/wiki/Shard_(database_architecture)

[11] Gang Wang, Zhijie Jerry Shi, Mark Nixon, Song Han, “SoK sharding on blockchain”: https://dl.acm.org/doi/abs/10.1145/3318041.3355457

[12] Satoshi Nakamoto, “BitDNS and generalizing Bitcoin”: https://bitcointalk.org/index.php?topic=1790.msg28715#msg28715

[13] Vitalik Buterin, “Sharding FAQ”: https://vitalik.eth.limo/general/2017/12/31/sharding_faq.html

[14] Jeff Coleman, “State channels”: https://www.jeffcoleman.ca/state-channels/

[15] ethereum.org, “State channels”: https://ethereum.org/developers/docs/scaling/state-channels/

[16] Vitalik Buterin, “Exit games for EVM validiums: the return of plasma”: https://vitalik.eth.limo/general/2023/11/14/neoplasma.html

[17] Vitalik Buterin, Dankrad Feist, Diederik Loerakker, George Kadianakis, Matt Garnett, Mofi Taiwo, Ansgar Dietrichs, “EIP-4844: Shard Blob Transactions”: https://learnblockchain.cn/docs/eips/EIPS/eip-4844

[18] Danny Ryan, Dankrad Feist, Francesco D’Amato, Hsiao-Wei Wang, Alex Stokes, “EIP-7594: PeerDAS - Peer Data Availability Sampling”: https://learnblockchain.cn/docs/eips/EIPS/eip-7594

[19] Vitalik Buterin, “An Incomplete Guide to Rollups”: https://vitalik.eth.limo/general/2021/01/05/rollup.html

[20] Vitalik Buterin, “A rollup-centric ethereum roadmap”: https://ethereum-magicians.org/t/a-rollup-centric-ethereum-roadmap/4698

[21] Vitalik Buterin, “Ethereum has blobs. Where do we go from here?”: https://vitalik.eth.limo/general/2024/03/28/blobs.html

[22] Justin Drake, “Native rollups — superpowers from L1 execution”: https://ethresear.ch/t/native-rollups-superpowers-from-l1-execution/21517

[23] Luca Donno, Connor McMenamin, “Native Rollups: Where they are, and where they are going”: https://medium.com/l2beat/native-rollups-where-they-are-and-where-they-are-going-cb21eb103d46

[24] Luca Donno, Justin Drake, “EIP-8079: Native rollups”: https://learnblockchain.cn/docs/eips/EIPS/eip-8079

[25] Justin Drake, “Based rollups — superpowers from L1 sequencing”: https://ethresear.ch/t/based-rollups-superpowers-from-l1-sequencing/15016

[26] Thomas Thiery, Francesco D’Amato, Julian Ma, Barnabé Monnot, Terence Tsao, Jacob Kaufmann, Jihoon Song, “EIP-7805: Fork-choice enforced Inclusion Lists”: https://learnblockchain.cn/docs/eips/EIPS/eip-7805

[27] Guillaume Ballet, Wei Han Ng, “EIP-7736: Leaf-level state expiry in verkle tree”: https://learnblockchain.cn/docs/eips/EIPS/eip-7736

[28] Vitalik Buterin, Eric Conner, Rick Dudley, Matthew Slipper, Ian Norden, Abdelhamid Bakhta, “EIP-1559: Fee market change for ETH 1.0 chain”: https://learnblockchain.cn/docs/eips/EIPS/eip-1559

  • 原文链接: ethresear.ch/t/lean-exec...
  • 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~

相关文章

0 条评论