Skip to content
Blobs

一切皆是 Blob:以太坊扩容的未来愿景

作者:维塔利克·布特林 2024年3月28日 原文链接

特别感谢 Dankrad Feist、Justin Drake、Ansgar Dietrichs 和 Leo Adeynami 对本文的反馈。

概要: 在以太坊扩容故事的最新一章中,我们正在开发一个系统,使以太坊能够在维持去中心化和安全性的同时,以相对较低的成本提供大量数据可用性。这个系统的基础是 EIP-4844 中引入的 blob,它们是一种新的交易类型,专门用于存储大量数据。随着时间推移,我们可能会看到 blob 的使用范围不断扩大:它们不仅可以用于存储 rollup 数据,还可以用于存储状态数据,甚至可能完全取代当前的执行层区块格式。

以太坊正在经历一个重大的技术转型时期。在过去的几年里,我们已经:

所有这些变化都朝着一个共同的目标迈进:让以太坊成为一个更强大、更高效、更具可扩展性的区块链,同时保持其去中心化和安全性。

以太坊已有 blobs,接下来何去何从?

2024年3月28日 查看所有文章

以太坊已有 blobs,接下来何去何从?

3月13日,Dencun 硬分叉激活,实现了以太坊期待已久的特性之一:proto-danksharding(又称 EIP-4844,或称 blobs)。最初,由于 blobs 几乎是免费的,此次分叉使 rollups 的交易费用降低了100多倍。就在最近一天,随着 blobscriptions 协议开始使用它们,我们终于看到 blobs 的使用量激增,费用市场随之启动。虽然 blobs 不再免费,但与 calldata 相比仍然便宜很多。

左图:得益于 Blobscriptions,blob 使用量终于达到了每区块3个的目标水平。右图:相应地,blob 费用开始进入市场价格探索阶段。来源:https://dune.com/0xRob/blobs

这个里程碑代表着以太坊长期路线图中的一个关键转变:blobs 的出现标志着以太坊扩容从"零到一"的突破性问题转变为"一到 N"的提升性问题。从现在开始,重要的扩容工作(包括增加 blob 数量和提升 rollups 对每个 blob 的使用效率)将继续进行,但会更加渐进式。关于以太坊生态系统运作方式的基本范式的扩容相关变革,越来越多地已经成为过去。此外,关注重点已经在慢慢转移,并将继续从 PoS 和扩容等 L1 问题,逐步转向更接近应用层的问题。本文将探讨的关键问题是:以太坊接下来将何去何从?

以太坊扩容的未来

在过去几年中,我们看到以太坊逐渐转变为一个以 L2 为中心的生态系统。主要应用程序已经开始从 L1 转移到 L2,支付功能默认开始基于 L2,钱包也开始围绕新的多 L2 环境构建用户体验。

从一开始,以 Rollup 为中心的路线图中的一个关键部分就是独立数据可用性空间的概念:区块中的一个特殊空间部分,EVM 将能访问,可以为 Rollup 等二层项目存储数据。由于这个数据空间不能被 EVM 访问,它可以与区块分开广播并独立验证。最终,它可以通过一种称为数据可用性采样的技术进行验证,该技术允许每个节点仅通过随机检查少量样本来验证数据是否正确发布。一旦实施,blob 空间可以大幅扩展;最终目标是每个时隙 16 MB(约每秒 1.33 MB)。

数据可用性采样:每个节点只需要下载数据的一小部分就能验证整体的可用性。

EIP-4844(又名"blobs")并没有为我们提供数据可用性采样。但它确实搭建了基本框架,使得从此以后,可以在后台引入数据可用性采样并增加 blob 数量,而无需用户或应用程序的任何参与。实际上,唯一需要的"硬分叉"只是一个简单的参数调整。

从这里开始需要继续发展的有两个方向:

  1. 逐步增加 blob 容量,最终实现数据可用性采样的完整愿景,达到每个时隙 16 MB 的数据空间

  2. 改进 L2 以更好地利用我们现有的数据空间

让 DAS 成为现实

下一阶段很可能是推出一个名为 PeerDAS 的简化版 DAS。在 PeerDAS 中,每个节点存储所有 blob 数据的一个显著部分(例如 1/8),并且节点与 p2p 网络中的许多对等节点保持连接。当节点需要采样特定数据片段时,它会向已知负责存储该数据片段的对等节点之一发出请求。

如果每个节点需要下载并存储所有数据的 1/8,那么理论上 PeerDAS 可以让我们将 blobs 扩展 8 倍(实际上是 4 倍,因为我们在纠删码冗余上损失了 2 倍)。PeerDAS 可以循序渐进地推出:我们可以设置一个过渡阶段,在此期间专业质押者继续下载完整的 blobs,而独立质押者只需下载数据的 1/8。

此外,EIP-7623(或其他替代方案,如二维定价)可用于对执行区块的最大大小(即区块中的"常规交易")设置更严格的限制,这使得同时增加 blob 目标和 L1 gas 限制变得更加安全。从长远来看,更复杂的二维 DAS 协议将实现更大的技术突破,进一步扩展 blob 空间。

改进 L2

当前的二层协议在四个关键方面可以改进。
1. 通过数据压缩更高效地使用字节

我关于数据压缩的图示概述继续在这里提供
简单来说,一个交易大约占用180字节的数据。然而,有一系列压缩技术可以使用,通过几个阶段将这个大小降低;通过最优压缩,我们可能可以将每笔交易的数据量降到25字节以下。
2. 乐观数据技术,仅在特殊情况下使用 L1 来保护 L2 的安全

Plasma是一类技术,允许你在正常情况下将数据保留在 L2 的同时,为某些应用获得与 Rollup 同等的安全性。对于 EVM 来说,Plasma 无法保护所有代币。但是受 Plasma 启发的构造可以保护大多数代币。而且比 Plasma 简单得多的构造可以大大改进今天的"validiums"。不愿将所有数据上链的 L2 应该探索这些技术。
3. 继续改进执行相关的限制
一旦 Dencun 硬分叉激活,使用其引入的 blob 的 Rollup 的成本降低了100倍,Base Rollup 的使用量立即飙升:

这反过来导致 Base 达到了其内部的 gas 限制,导致费用意外飙升。这使人们更广泛地意识到,不仅仅是以太坊的数据空间需要扩容:Rollup 本身也需要内部扩容。

其中一部分是并行化;Rollup 可以实现类似 EIP-648 的方案。但同样重要的是存储,以及计算和存储之间的交互效应。这是 Rollup 面临的一个重要工程挑战。

4、继续改进安全性

我们距离 Rollup 真正被代码保护的世界还很遥远。事实上,根据 l2beat 的统计,只有这五个项目达到了我所说的"第一阶段",其中只有 Arbitrum 支持完整的 EVM。

这个问题需要正面解决。虽然我们目前还不能对乐观 Rollup 或基于 SNARK 的 EVM 验证器的复杂代码完全放心,但我们已经可以迈出重要的一步,设置安全委员会,只有在达到高门槛的情况下才能撤销代码的行为(例如:我提议采用 8 人中的 6 人;Arbitrum 采用 12 人中的 9 人)。

生态系统的标准需要变得更加严格:到目前为止,我们一直比较宽容,只要项目声称"正在走向去中心化"就接受它。到今年年底,我认为我们的标准应该提高,只有真正达到至少第一阶段的项目,我们才应该将其视为 Rollup

在此之后,我们可以谨慎地迈向第二阶段:在这个阶段中,Rollup 真正由代码支持,安全委员会只能在代码"明显自相矛盾"(例如,接受两个不兼容的状态根,或不同实现给出不同答案)的情况下介入。安全实现这一目标的一种方式是使用多个区块证明器实现

这对以太坊的整体发展意味着什么?

2022年夏天ETHCC的一次演讲中,我做了一个演讲,将以太坊当前的发展状态描述为一条S曲线:我们正在进入一个快速转型期,在这个快速转型期之后,随着L1的稳固以及开发重心转向用户和应用层面,发展速度将再次放缓。

如今,我认为我们明显处于这条S曲线减速的右侧。截至两周前,以太坊区块链最重大的两项变革——转向权益证明和重构为blob架构——已经完成。未来的变革仍然重要(例如Verkle树单时隙确定性协议内账户抽象),但它们并不像权益证明和分片那样具有同等程度的剧烈变革。2022年,以太坊就像一架在飞行中更换发动机的飞机;2023年,它在更换机翼。Verkle树转型是仅存的真正重大变革(我们已经有了测试网);其他的更像是在更换尾翼。

EIP-4844的目标是进行一次性的重大变革,为Rollup的长期稳定奠定基础。现在blob已经推出,未来升级到具有16 MB blob的完整danksharding,甚至将密码学切换到基于64位goldilocks域(64-bit goldilocks field)的STARK,都可以在不需要Rollup和用户采取任何进一步行动的情况下实现。这也强化了一个重要的先例:以太坊的开发过程是按照长期存在的、被充分理解的路线图执行的,那些考虑到"新以太坊"而构建的应用程序(包括L2)将获得一个长期稳定的环境。

这对应用程序和用户意味着什么?

以太坊的前十年基本上一直处于训练阶段:目标是让以太坊 L1 起步发展,而应用程序主要局限在一小群技术爱好者中。许多人认为,过去十年缺乏大规模应用证明了加密技术毫无用处。我一直反对这种说法:几乎所有非金融投机的加密应用都依赖于低手续费——因此,在手续费高企的情况下,我们主要看到金融投机也就不足为奇了!

现在有了 blob,这个一直以来制约我们的关键约束开始消融。手续费终于大幅降低;我七年前说过的货币互联网的交易成本不应超过五美分的愿景终于实现了。我们还没有完全摆脱困境:如果使用量增长太快,手续费可能还会上涨,我们需要在未来几年继续努力扩展 blob(以及单独扩展 rollup)。但我们已经看到了……黑暗森林尽头的曙光。

对开发者来说,这意味着一个简单的道理:我们不再有任何借口。直到几年前,我们还在为自己设定较低的标准,构建那些显然无法大规模使用的应用程序,只要它们能作为原型运行并且具有合理的去中心化程度就行。如今,我们已经拥有了所需的一切工具,实际上也拥有了我们将来所需的大部分工具,可以构建既符合密码朋克精神又用户友好的应用程序。因此,我们应该行动起来去实现它。

许多项目都在迎接这一挑战。Daimo钱包明确将自己定位为以太坊上的Venmo,旨在将Venmo的便捷性与以太坊的去中心化特性相结合。在去中心化社交领域,Farcaster成功地将真正的去中心化(例如,参见这份指南,了解如何构建自己的替代客户端)与出色的用户体验结合在一起。与之前"社交金融"(Social Fi)的炒作浪潮不同,普通的Farcaster用户并不是为了赌博投机而来——这通过了加密应用真正可持续发展的关键测试。

这条帖子发布于Farcaster的主要客户端Warpcast,此截图来自另一个集成了Farcaster和Lens的替代客户端Firefly

这些都是我们需要在其基础上继续发展的成功案例,并将其扩展到其他应用领域,包括身份、信誉和治理。

当今构建或维护的应用程序应该基于2020年代的以太坊设计

以太坊生态系统中仍然有大量应用程序围绕着基本的"2010年代以太坊"工作流程运作。大多数ENS活动仍在L1层进行。大多数代币发行都发生在L1层,而没有认真考虑确保L2层上的跨桥代币的可用性(例如,看看这位ZELENSKYY Meme的粉丝,虽然赞赏该币持续向乌克兰捐款,但抱怨L1费用过高)。除了可扩展性之外,我们在隐私方面也落后:POAPs全部公开在链上,这对某些用例来说可能是正确的选择,但对其他用例来说则非常不理想。大多数DAO和Gitcoin Grants仍然使用完全透明的链上投票,这使它们极易受到贿赂影响(包括追溯性空投),事实证明这严重扭曲了贡献模式。如今,ZK-SNARKs已经存在多年,但许多应用程序甚至还没有开始正确使用它们

这些都是必须处理大量现有用户群的勤奋团队,所以我不怪他们没有同时升级到最新的技术浪潮。但很快,这种升级就需要发生。以下是"基本的2010年代以太坊工作流程"和"基本的2020年代以太坊工作流程"之间的一些关键区别:

2010年代以太坊2020年代以太坊
架构在L1上构建所有内容在特定的L2上构建,或设计应用程序以支持遵循某些标准的所有L2

| 隐私 | 全部公开 | 用户的数据默认是私密的,用户根据需要通过默克尔证明或零知识证明来证明特定声明以建立信任 | | 防女巫攻击 | 你必须拥有0.01 ETH | 应用程序可以要求 ETH 押金,但客户端应该为非加密用户提供包装器,提供"中心化防女巫"(例如短信验证) | | 钱包 | EOAs | 账户抽象钱包:密钥恢复、不同安全级别的不同访问控制、交易手续费代付等... | | 社区成员身份证明(用于投票、空投等) | 基于你拥有多少 ETH | ETH + 个人身份证明 + POAPs + ZuStamps + EAS + 第三方策划的名单(例如 Starknet 的独立质押者名单) |

基本上,以太坊不再仅仅是一个金融生态系统。它是"中心化技术"大部分功能的全栈替代方案,甚至提供了一些中心化技术所不具备的功能(例如治理相关的应用)。我们需要考虑到这个更广泛的生态系统来进行构建。

结论

  • 以太坊正在经历一个决定性的转变,从"L1 快速进展"时代转向一个 L1 进展仍然显著但相对平缓、对应用程序干扰较小的时代。
  • 我们仍需要完成扩容工作。这项工作将更多地在幕后进行,但依然很重要。
  • 应用程序开发者不再只是在构建原型;我们正在为数百万用户打造工具。整个生态系统都需要相应地完全调整思维方式。
  • 以太坊已经从"仅仅"是一个金融生态系统升级为一个更全面的独立去中心化技术栈。同样,整个生态系统也需要相应地完全调整思维方式。

ETHStudy (An Ethereum Ecosystem Initiative)
Supported by Uweb(University of Web3)