以太坊扩容新篇章:The Surge或将实现10万TPS

以太坊可能的未来:The Surge

以太坊的路线图最初包含两种扩容策略:分片和Layer2协议。随着研究的深入,这两条路径融合在一起,形成了以Rollup为中心的路线图,这仍然是以太坊当前的扩展策略。

以Rollup为中心的路线图提出了一个简单的分工:以太坊L1专注于成为一个强大且去中心化的基础层,而L2则承担帮助生态系统扩展的任务。这种模式在社会上无处不在:法院系统(L1)的存在不是为了追求超高速和高效,而是为了保护合同和财产权,而创业者(L2)则要在这一稳固的基础层之上进行建设,推动人类进步。

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

The Surge:关键目标

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

本文内容

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

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

可扩展性三角悖论

可扩展性三角悖论认为区块链的三个特性之间存在矛盾:去中心化(运行节点的成本低)、可扩展性(处理的交易数量多)和安全性(攻击者需要破坏网络中很大一部分节点才能使单笔交易失败)。

三角悖论不是一个定理,它给出了一个启发式的数学论点:如果一个去中心化友好的节点每秒可以验证N笔交易,并且你有一个每秒处理k*N笔交易的链,那么(i)每笔交易只能被1/k个节点看到,这意味着攻击者只需破坏少数节点就能通过一笔恶意交易,或(ii)你的节点将变得强大,而你的链不会去中心化。

多年来,一些高性能链常声称它们在不从根本上改变架构的情况下就解决了三元悖论,通常是通过运用软件工程技巧来优化节点。这总是具有误导性的,在这些链上运行节点比在以太坊上运行节点要困难得多。

然而,数据可用性采样与SNARKs的结合确实解决了三角悖论:它允许客户端在仅下载少量数据并执行极少量计算的情况下,验证一定数量的数据是可用的,并且一定数量的计算步骤是正确执行的。SNARKs是无需信任的。数据可用性采样具有一种微妙的few-of-N信任模型,但它保留了不可扩容链所具有的基本特性,即即使是51%的攻击也无法强制坏块被网络接受。

解决三难困境的另一种方法是Plasma架构,它使用巧妙的技术,以激励兼容的方式将监视数据可用性的责任推给用户。早在2017-2019年,当我们只有欺诈证明这一手段来扩展计算能力时,Plasma在安全执行方面非常受限,但随着SNARKs(零知识简洁非交互式论证)的普及,Plasma架构对于比以往更广泛的使用场景变得更加可行。

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

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

我们正在解决什么问题?

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

如果我们加上以太坊的calldata(理论最大值:每个slot 3000万Gas / 每字节16 gas = 每个slot 1,875,000字节),则变为607 TPS。使用PeerDAS,blob数量可能会增加到8-16,这将为calldata提供463-926 TPS。

这是对以太坊L1的重大提升,但还不够。我们想要更多的可扩展性。我们的中期目标是每个slot 16 MB,如果结合Rollup数据压缩的改进,将带来~58000 TPS。

它是什么?如何运行?

PeerDAS是"1D sampling"的一个相对简单的实现。在以太坊中,每个blob都是一个在253位素数域(prime field)上的4096次多项式(polynomial)。我们广播多项式的shares,其中每个shares包含从总共8192个坐标中相邻的16个坐标上的16个评估值。在这8192个评估值中,任何4096个(根据当前提出的参数:128个可能样本中的任何64个)都可以恢复blob。

PeerDAS的工作原理是让每个客户端侦听少量子网,其中第i个子网广播任何blob的第i个样本,并通过询问全球p2p网络中的对等方(谁将侦听不同的子网)来请求它需要的其他子网上的blob。更保守的版本SubnetDAS仅使用子网机制,而没有额外的询问对等层。当前的提案是让参与权益证明的节点使用SubnetDAS,而其他节点(即客户)使用PeerDAS。

从理论上讲,我们可以将一"1D sampling"规模扩展得相当大:如果我们将blob的最大数量增加到256(目标为128),那么我们就能达到16MB的目标,而数据可用性采样中每个节点16个样本 * 128个blob * 每个blob每个样本512字节 = 每个slot 1 MB的数据带宽。这只是勉强在我们的容忍范围内:这是可行的,但这意味着带宽受限的客户端无法采样。我们可以通过减少blob数量和增加blob大小来对此进行一定程度的优化,但这会使重建成本更高。

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

至关重要的是,计算承诺的扩展并不需要有blob,因此该方案从根本上来说对分布式区块构建是友好的。实际构建区块的节点只需要拥有blob KZG承诺,并且它们可以依赖数据可用性采样(DAS)来验证数据块的可用性。一维数据可用性采样(1D DAS)本质上也对分布式块构建友好。

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

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

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

在未来更远的阶段,我们需要做更多的工作来确定2D DAS的理想版本,并证明其安全属性。我们还希望最终能够从KZG转向一种量子安全且无需可信设置的替代方案。目前,我们还不清楚有哪些候选方案对分布式区块构建是友好的。即使使用昂贵的"蛮力"技术,即使用递归STARK来生成用于重建行和列的有效性证明,也不足以满足需求,因为虽然从技术上讲,一个STARK的大小为O(log(n) * log(log(n))哈希值(使用STIR),但实际上STARK几乎与整个blob一样大。

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

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

请注意,即使我们决定直接在L1层扩展执行,这种选择也是存在的。这是因为如果L1层要处理大量的TPS,L1区块将变得非常大,客户端将希望有一种高效的方法来验证它们的正确性,因此我们将不得不在L1层使用与Rollup(如ZK-EVM和DAS)相同的技术。

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

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

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

数据压缩

我们在解决什么问题?

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

16000000 / 12 / 180 = 7407 TPS

如果我们不仅能解决分子的问题,还能解决分母的问题,让每个Rollup中的交易在链上占用更少的字节,那会怎样?

它是什么,如何工作?

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

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

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

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

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

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

  1. 切换到BLS签名需要付出很大努力,并且会降低与能够增强安
此页面可能包含第三方内容,仅供参考(非陈述/保证),不应被视为 Gate 认可其观点表述,也不得被视为财务或专业建议。详见声明
  • 赞赏
  • 5
  • 分享
评论
0/400
智能合约收藏家vip
· 14小时前
V神果然没让我失望
回复0
PumpDetectorvip
· 14小时前
之前见过这个模式……rollups在'21年被诱高,历史在重演。如果你不关注L2的积累,那就完了。
查看原文回复0
FloorSweepervip
· 14小时前
到处都是微弱的信号……但rollups并不是你想的那种alpha
查看原文回复0
椰子水男孩vip
· 14小时前
eth搞起来了老铁
回复0
MetaMask Mechanicvip
· 14小时前
真香 以太坊还得看升级
回复0
交易,随时随地
qrCode
扫码下载 Gate APP
社群列表
简体中文
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)