主页 > imtoken下载 > 以太坊分片设计简史:从区块到 Blob

以太坊分片设计简史:从区块到 Blob

imtoken下载 2023-03-09 05:45:00

从“Block”到“Blob”,意义深远。

带有“交联”的可执行“分片链”已经过时:信标链中的 EVM 实现; 以汇总为中心的以太坊路线图使用“数据可用性抽样”,在不增加应用程序环境复杂性的情况下扩展以太坊基础层。 但是如何在没有块元数据的情况下调用分片内容呢?

那么,这就是“斑点”派上用场的地方。 “Blobspace”是个好名字!

让我分享一些以太坊分片设计的历史:

分片(或“第 1 阶段”)应该按先前计划在“第 2 阶段”(信标链执行环境)中启动。 但是在“阶段 0”(信标链启动)之前,很明显主网 EVM 具有优先权,而“阶段 2”执行层(ewasm?)的推出还遥遥无期。

“Phase 1”规范在 Beacon Chain 之前已经被多次改写:

更少的碎片(1024 -> 64)

以太坊与以太基金_以太坊分片什么时候实现_羊城奇遇记 插曲 41分时候的插曲 也是片尾的调调

通过理想的跨分片通信(交叉链接)自由骑行

新的托管证明设计(删除托管部分,有利于罕见的故意证明丢失)

更不用说早期的分片研究工作,说实话,那些研究都非常抽象和雄心勃勃:跨域消息传递、ewasm 执行环境、无状态动态访问、分片委员会等。L1 变得更加复杂。 而L1已经开始僵化了。

但是以太坊分片什么时候实现,如果L1只专注于解决数据问题,那么上面提到的大部分问题都会转化为L2开发问题。 而采样(sampling)正好解决了L1数据问题。 如果我们可以在网络层支持额外的功能会怎样……?

因此,在 2020 年 10 月 14 日,开发人员就“第一阶段网络连接问题(联网)”召开了电话会议。 经过讨论,可以得出结论:gossipsub很火+DHTs好像很慢。 但当时还处于早期阶段——每个 Web 开发人员都还在忙于准备信标链的发布(12 月 1 日!),并且由于当时的最新发展,网络层存在明显的差距。 有偏见。

当时的偏见:

以太坊分片什么时候实现_以太坊与以太基金_羊城奇遇记 插曲 41分时候的插曲 也是片尾的调调

Gossipsub = 热门,主网就绪(除了一些 DoS 问题外没有太大问题。这些问题也在主网启动之前被发现/披露)

Discv5 = 不完整,需要在主网启动之前从 5.0 -> 5.1 进行实时网络迁移

()

但方向似乎很明确:降低 L1 复杂度,信标链已经足够复杂了。 只通过数据提高扩展性,长期使用“数据可用性抽样”方案,拥抱L2扩展方案。 因此,Vitalik 将其描述为“Ethereum Roadmap Centered on Rollup”(中文版)。

然而,当实施者忙于信标链的发布时,研究人员已经忙于上线后的工作:Vitalik/Dankrad 正在研究一些早期的数据可用性设计草案,试图让实施者更容易理解这些原则。

同时以太坊分片什么时候实现,我们启动了 Zinken、Toledo 和 Pyrmont 测试网+检查更多启动项目(检查错误等)。 我们努力跟上研究的步伐,并开始为网络层的事物添加设计文档。 在当时,关注这些问题还为时过早,但 DAS(数据可用性抽样)实在是太好了,不容忽视。

羊城奇遇记 插曲 41分时候的插曲 也是片尾的调调_以太坊与以太基金_以太坊分片什么时候实现

基于 gossipsub 的一些东西,我确实写了一些想法将它用于 DAS。 事后看来,我现在认为 DHT 比 Gossipsub 更适合 DAS,除了最初的分发。

当时我期望一些 DAS 规范能够被实现和模拟。 我想这是第一次提到“blob”? 我们确实在“分片数据 blob”这样的上下文中使用过它,而那个术语当时并没有出现在分片规范中。

信标链发布后,我有更多的时间,然后我写了一个草案,在 Vitalik 和 Dankrad 编写的采样规范草案中增加了更多的类型化和网络层内容。 将 blob 命名带入分片规范 :)

2021 年有些事情发生了变化:为它设计的理想 p2p 结构太复杂了,所以我转而尝试为它贡献工具(go-kzg)并参与早期的合并工作(rayonism)。 然后在夏天再次尝试加入分片的研究工作,而不是致力于 Altair/London 升级的开发。

Blob 再次出现,这次使用更像 PBS 的结构——聚合 blob-builder 和 blob-proposer 的 BLS 签名。 仍然太复杂:因此,分片设计演变为主要“以信标提议者为中心”,因此它“仅”是网络层问题。

这在某种程度上像是第五种分片设计? 极简主义有很多要放弃的地方,但结果是美丽而强大的:更多的模块化设计、包装和可选的复杂性。 Rollup 引起了我的注意,尤其是 Optimism。

以太坊与以太基金_以太坊分片什么时候实现_羊城奇遇记 插曲 41分时候的插曲 也是片尾的调调

2022 年底,EIP 4488(不要混淆,不是 4844!)和 4490:人们开始不耐烦了,呼叫数据的成本必须快速下降才能保持竞争力! 在伦敦升级后,关于这些主题的讨论在 All Core 开发人员中也变得活跃起来。 但我认为这是不可持续的,因为 calldata 带有 L2 不需要的遗留开销。

与此同时,Vitalik 和 Dankrad 继续致力于一些新的分片设计:更加以信标链为中心,仅通过数据进行扩展,并专注于采样方案。 我认为“danksharding”真的是在 21 月底/22 月初发布的吗? 不确定第一个版本是什么,Dankrad 一直致力于分片。

22 年初,Vitalik 提出了两种我们可以在不使用采样的情况下向全暗分片发展的方式:简单版本和复杂版本。 虽然在我看来,这其实就是“重EL(执行层)”和“EL和CL分离以便于未来兼容”的区别。

我喜欢第二个选项,然后在 EthDenver 2022 期间我们实施了 EIP-4844:我和@lightclients 在 Geth 上工作; @asn_d6 帮助 KZG; @adietrichs 在费用市场上工作; 并且都与 Vitalik/Dankrad 一起起草了一个 EIP。 Prysm 团队构建了第一个 CL 原型。

4844 现在被命名为“proto-danksharding”:完全分片的先决条件。 但“blobspace”才是真正的模因:经过多次分片设计迭代,这是一个比任何其他分片设计都更接近以太坊愿景的版本。

对我来说,Serenity 的这个阶段完全是关于 PoS 和分片设计以及迭代更新。 我们在信标链和协议外 PBS 等开发方面取得了一些进展,为我们在 PoS 上开了个好头。 我认为是时候进行第一次分片升级了:4844!

以太坊分片什么时候实现_羊城奇遇记 插曲 41分时候的插曲 也是片尾的调调_以太坊与以太基金

未来暗分片也有一些热点:

L1 数据包含延迟对 L2 的影响被高估了。

为了数据可用性的更多带宽,设计空间权衡是值得的。

Gossip 和 TCP DHT 很糟糕,UDP DHT 类覆盖率很好:都是关于计算轻节点(discv5 什么时候横向扩展?)

更多danksharding热点:

采样在很大程度上依赖于优秀的同行,希望看到更多分数优先但稳健的设计。

比 p2p 缺乏验证者隐私更喜欢轻量级通信和更多 Sybil。

ZK可以成为未来的p2p反巫术,但现在看来还很遥远。