以太坊The Surge: 通过L2实现10万TPS的扩容目标与挑战

以太坊可能的未来:The Surge

以太坊的扩容策略最初有两种:分片和Layer2。分片让每个节点只需验证和存储一小部分交易,而Layer2则将大部分数据和计算放在主链之外。这两条路径最终融合在一起,形成了以Rollup为中心的路线图,至今仍是以太坊的扩展策略。

以Rollup为中心的路线图提出了简单分工:以太坊L1专注成为强大且去中心化的基础层,L2则承担帮助生态系统扩展的任务。这种模式在社会上很常见:法院系统(L1)存在是为了保护合同和财产权,而创业者(L2)则在此基础上进行建设,推动人类发展。

今年,以Rollup为中心的路线图取得重要成果:EIP-4844 blobs的推出大幅增加了以太坊L1的数据带宽,多个EVM Rollup已进入第一阶段。每个L2都作为具有内部规则和逻辑的"分片"存在,分片实现方式的多样性如今已成为现实。但这条路也面临一些独特挑战。我们现在的任务是完成这一路线图,并解决这些问题,同时保持以太坊L1的稳健性和去中心化。

Vitalik新文:以太坊可能的未来,The Surge

The Surge:关键目标

  1. 未来以太坊通过L2可达到10万以上的TPS
  2. 保持L1的去中心化和鲁棒性
  3. 至少一些L2完全继承以太坊的核心属性(去信任、开放、抗审查)
  4. 以太坊应该感觉像一个统一的生态系统,而不是34个不同的区块链

本章内容

  1. 可扩展性三角悖论
  2. 数据可用性采样的进一步进展
  3. 数据压缩
  4. Generalized Plasma
  5. 成熟的L2证明系统
  6. 跨L2互操作性改进
  7. 在L1上扩展执行

可扩展性三角悖论

可扩展性三角悖论认为区块链的去中心化、可扩展性和安全性三个特性之间存在矛盾。它不是一个定理,而是给出了一个启发式论点:如果一个去中心化友好的节点每秒可验证N笔交易,而你有一个每秒处理k*N笔交易的链,那么要么每笔交易只能被1/k个节点看到,要么你的节点将变得强大,链不会去中心化。

一些高性能链声称解决了三元悖论,通常通过优化节点软件。但这往往具有误导性,在这些链上运行节点比在以太坊上更困难。仅凭L1客户端软件工程本身无法扩展以太坊。

然而,数据可用性采样与SNARKs的结合确实解决了三角悖论:它允许客户端在只下载少量数据并执行极少量计算的情况下,验证大量数据的可用性和计算步骤的正确执行。SNARKs是无需信任的。数据可用性采样具有微妙的few-of-N信任模型,但保留了不可扩容链的基本特性。

Plasma架构是另一种解决方案,它将监视数据可用性的责任推给用户。随着SNARKs的普及,Plasma对更广泛的场景变得可行。

Vitalik新文:以太坊可能的未来,The Surge

数据可用性采样的进一步进展

我们正在解决什么问题?

2024年3月13日Dencun升级后,以太坊每12秒slot有3个约125kB blob,数据可用带宽约375kB/slot。假设交易数据直接在链上发布,ERC20转账约180字节,则以太坊上Rollup的最大TPS为173.6。

加上calldata,可达607 TPS。使用PeerDAS,blob数量可能增加到8-16,为calldata提供463-926 TPS。

这是对L1的重大提升,但还不够。我们的中期目标是每个slot 16MB,结合Rollup数据压缩,将带来~58000 TPS。

它是什么?如何运行?

PeerDAS是"1D sampling"的简单实现。在以太坊中,每个blob是253位素数域上的4096次多项式。我们广播多项式的shares,每个shares包含从总共8192个坐标中相邻的16个坐标上的16个评估值。在这8192个评估值中,任何4096个都可以恢复blob。

PeerDAS让每个客户端侦听少量子网,第i个子网广播任何blob的第i个样本,并通过询问全球p2p网络中的对等方来请求其他子网上的blob。SubnetDAS仅使用子网机制,没有额外的询问对等层。当前提议让参与权益证明的节点使用SubnetDAS,其他节点使用PeerDAS。

理论上我们可以将"1D sampling"规模扩展得很大:如果将blob最大数量增加到256,就能达到16MB目标,每个节点每slot需1MB数据带宽。这勉强可行,但带宽受限的客户端无法采样。我们可以通过减少blob数量和增加blob大小来优化,但会使重建成本更高。

因此我们最终想要2D采样,不仅在blob内,还在blob之间进行随机采样。利用KZG承诺的线性属性,通过新的虚拟blob来扩展一个区块中的blob集,这些虚拟blob冗余地编码了相同的信息。

2D采样对分布式区块构建友好。实际构建区块的节点只需要blob KZG承诺,并可依赖DAS来验证可用性。1D DAS本质上也对分布式块构建友好。

Vitalik新文:以太坊可能的未来,The Surge

有哪些与现有研究的链接?

  1. 介绍数据可用性的原始帖子(2018)
  2. Follow-up paper
  3. 关于DAS的解释文章
  4. 带有KZG承诺的2D可用性
  5. ethresear.ch上的PeerDAS和论文
  6. EIP-7594
  7. ethresear.ch上的SubnetDAS
  8. 2D采样中可恢复性的细微差别

还需做什么?有哪些权衡?

接下来是完成PeerDAS的实施和推出。之后,不断增加PeerDAS上的blob数量,同时仔细观察网络并改进软件以确保安全。我们希望有更多学术工作来规范PeerDAS及其与分叉选择规则安全等问题的交互。

未来还需要确定2D DAS的理想版本,并证明其安全属性。我们希望最终能从KZG转向量子安全且无需可信设置的替代方案。目前不清楚有哪些候选方案对分布式区块构建友好。

我认为的长期现实路径是:

  1. 实施理想的2D DAS
  2. 坚持使用1D DAS,牺牲采样带宽效率,为简单性和鲁棒性接受较低的数据上限
  3. 放弃DA,完全接受Plasma作为主要Layer2架构

即使我们决定直接在L1层扩展执行,这种选择也存在。因为如果L1要处理大量TPS,L1区块会变得非常大,客户端将需要高效验证方法,因此我们将不得不在L1层使用与Rollup相同的技术。

如何与路线图的其他部分交互?

如果实现数据压缩,对2D DAS的需求会减少或延迟,如果Plasma被广泛使用则需求进一步减少。DAS也对分布式区块构建协议和机制提出了挑战:虽然DAS理论上对分布式重建友好,但实践中需要与包inclusion list提案及其周围的分叉选择机制结合。

Vitalik新文:以太坊可能的未来,The Surge

数据压缩

我们在解决什么问题?

Rollup中每笔交易占用大量链上数据空间:ERC20传输约需180字节。即使有理想的数据可用性采样,这也限制了Layer协议的可扩展性。每个slot 16MB,我们得到:

16000000 / 12 / 180 = 7407 TPS

如果我们能让Rollup中的交易在链上占用更少字节,那会怎样?

它是什么,如何工作?

最好的解释是两年前的这张图:

Vitalik新文:以太坊可能的未来,The Surge

零字节压缩中,用两个字节替换每个长的零字节序列,表示有多少个零字节。更进一步,我们利用了交易的特定属性:

签名聚合:从ECDSA切换到BLS签名,多个签名可以组合成一个单一签名,证明所有原始签名的有效性。在L1中由于验证计算成本高不考虑使用BLS,但在L2这样数据稀缺的环境中使用BLS有意义。ERC-4337的聚合特性为实现这一功能提供了途径。

用pointers替换地址:如果以前使用过某地址,我们可以将20字节地址替换为指向历史记录中某位置的4字节pointer。

交易值的自定义序列化:大多数交易值的位数很少,如0.25 ETH表示为250,000,000,000,000,000 wei。最大基础手续费和优先手续费也类似。因此我们可以使用自定义十进制浮点格式来表示大多数货币值。

有哪些与现有研究的链接?

  1. 探索sequence.xyz
  2. L2 Calldata优化合约
  3. 基于有效性证明的Rollups发布状态差异而非交易
  4. BLS钱包 - 通过ERC-4337实现BLS聚合

还需做什么,有哪些权衡?

接下来主要是实际实现上述方案。主要权衡包括:

  1. 切换到BLS签名需要很大努力,会降低与可信硬件芯片的兼容性。可用其他签名方案的ZK-SNARK封装替代。

  2. 动态压缩(如用pointers替换地址)会使客户端代码复杂化。

  3. 将状态差异发布到链上而非交易,会降低可审计性,使许多软件(如区块浏览器)无法工作。

如何与路线图的其他部分交互?

采用ERC-4337,并最终将其部分纳入L2 EVM中,可大大加快聚合技术部署。将ERC-4337部分放在L1上可加快其在L2上的部署。

Vitalik新文:以太坊可能的未来,The Surge

Generalized Plasma

我们正在解决什么问题?

即使使用16MB blob和数据压缩,58,000 TPS也未必能完全满足消费者支付、去中心化社交等高带宽领域需求,尤其考虑隐私因素可能使可扩展性降低3-8倍。目前高交易量、低价值场景的选择是Validium,将数据保存在链下,采用一种安全模型:运营商无法窃取用户资金,但可能暂时或永久冻结所有用户资金。但我们可以做得更好。

它是什么,如何工作?

Plasma是一种扩容解决方案,运营商将区块发布到链下,只将这些区块的Merkle根放到链上。对每个区块,运营商向每个用户发送Merkle分支证明该用户资产的变化或不变。用户可通过提供Merkle分支提取资产。重要的是,这个分支不必以最新状态为根。因此即使数据可用性出问题,用户仍可通过提取可用的最新状态来恢复资产。如果用户提交无效分支,可通过链上挑战机制判断资产归属。

早期Plasma版本仅能处理支付用例,无法有效推广。但

ETH-2.42%
此页面可能包含第三方内容,仅供参考(非陈述/保证),不应被视为 Gate 认可其观点表述,也不得被视为财务或专业建议。详见声明
  • 赞赏
  • 1
  • 分享
评论
0/400
佛系矿工ervip
· 15小时前
Rollup未来可期
回复0
交易,随时随地
qrCode
扫码下载 Gate APP
社群列表
简体中文
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)