本文由 ProbeLab 团队发布,旨在评估以太坊网络在 Dencun 升级后,特别是引入 Blob 交易后,对于增加 Blob 数量的承受能力。通过对以太坊主网上大量节点的带宽测量,分析了不同地区、不同基础设施和不同客户端的带宽可用性,以及在不同slot时间段内的带宽变化。研究表明,当前网络状态可以合理支持将 blob 目标值/最大值从 3/6 增加到 6/9。
本研究由 ProbeLab 团队的 @cortze 和 @yiannisbot 完成 ( probelab.io),并获得了 EF 和 PeerDAS 社区的反馈。
Dencun 升级是以太坊路线图上的一个重要里程碑,它引入了 Blob 交易和 Blob sidecar(通过 EIP-4844)。本次升级包括对底层网络的重大更新,现在底层网络必须通过 GossipSub 共享每个 slot 三个 Blob sidecar 的目标值(每个 128KB),上限为六个(通常被称为 "3/6",分别指目标和最大 Blob sidecar)。
自升级以来,当前的网络没有出现任何重大中断或最终确定困难。网络中的节点可以适应当前的 Blob 目标和最大值,Blob sidecar 在 4 秒的传播窗口内很好地在网络中传播,这可以从 ProbeLab 关于区块到达的每周报告中看到:Week 2024-47 | ProbeLab。
然而,随着 L2 对更多容量的需求增加,关于 "网络可以轻松处理的最大 "目标/最大 "Blob 数量是多少?"的问题(questions)浮出水面,尤其是对于家庭质押者而言。
本研究的动机和目标是帮助定义 在网络中还有多少额外的带宽可以支持下一次硬分叉的 Blob 目标和最大值的增加。
在这篇文章中,我们:
2024-11-23
到 2024-11-28
的 6 天内以太坊网络中大多数在线和可达节点的带宽可用性。同时,我们预计节点在 Slot 的第 1 到 4 秒,尤其是在假设 Gossipsub 不可避免地在网络中传播的重复消息数量的情况下,带宽可用性方面会面临压力。因此,至关重要的是开发并将节省带宽的改进应用于 Gossipsub, 例如以下 GH 问题和 ethresear.ch 中讨论的改进,因为在不久的将来需要进一步增加 blob 数量:
我们构建了一个名为 net-probe
的工具,它可以:
discv5
网络。在执行完整的实验之前,我们必须确定应该从每个节点提取的正确数据量,以便:i) 饱和节点的上行链路,从而找出它有多少可用带宽,但同时,ii) 避免中断节点的操作。请注意,这些是以太坊主网节点,因此我们必须谨慎行事以避免任何中断。
我们测试了以下参数:
1
、5
、10
、20
、30
和 40
个区块。10
次重试,RPC 请求 1
、5
、10
和 20
个区块。5
次重试,RPC 请求 30
和 40
个区块,以避免向这些节点发送垃圾邮件。下图显示了对于我们设法连接的不同 RPC 大小请求的节点,我们可以测量的带宽(x 轴),即每个 RPC 请求的区块数量。
我们从不同测试研究的比较中得出以下结论:
1
、5
和 10
个区块的 RPC 调用会产生截然不同的结果,请求更大的 RPC 大小会显示出更多的带宽可用性。这是一个明确的指标,表明需要增加 "每个 RPC 请求的区块数量 "值,因为我们似乎没有用较小的 RPC 调用来饱和节点的带宽。20
、30
或 40
个区块时,带宽测量几乎没有变化,这表明此 RPC 大小似乎在 TCP 连接上产生了足够的流量来饱和节点的上行链路带宽。[](https://ethresear.ch/uploads/default/original/3X/d/a/dae21bab3a73aadb52152c9c34acd5d9beabee26.jpeg "image")_
_image1000×600 65.5 KB
注意:54,463 个下载的区块的平均大小为 101.30 KB 的序列化数据和 47.76 KB 的压缩数据。
正如预期的那样,在连续 RPC 重试后观察到的带宽可用性(y 轴)也存在一些差异(下图中的 x 轴):
[](https://ethresear.ch/uploads/default/original/3X/e/7/e75865c2122b6bb1ed9cc9b6ee5e4e343d653d3e.jpeg "image")
image1000×600 54.7 KB
[](https://ethresear.ch/uploads/default/original/3X/3/4/34bf2c9f801c30d086f1fb5ebb21eb6f0b3c86f4.jpeg "image")
image1000×600 56.9 KB
鉴于上述观察,我们为我们的生产研究选择了以下值:
6
个连续 RPC 请求20
个区块2
个节点的请求并发性2024-11-23
至 2024-11-28
us-west-1
- 加利福尼亚us-east-2
- 弗吉尼亚eu-central-1
- 法兰克福ap-southeast-1
- 悉尼Nebula
以太坊数据库中总共 13,023
个唯一节点在 6 天内获得的(这些日期内唯一的在线节点)。9,179
个节点收集了带宽测量数据,占在线和可达节点总数的 70.48%。注意:该工具可以测量 3 种不同类型的带宽测量:
- 有效带宽:我们可以测量的序列化数据的字节数。
- 压缩带宽:我们可以测量的压缩数据的字节数。
- 线路带宽:在线路上共享的所有字节。
为了简单和完整起见,报告的其余部分将参考 "线路带宽"。
下图显示了我们从 net-probe
成功连接的 9,179
个唯一节点在这些 6 天内测量的平均线路带宽的 CDF。该图显示了从 net-probe
运行的每个区域体验到的带宽测量,因此该图可以按如下方式解读:
net-probe
部署的带宽测量表明,40% 的网络节点以低于约 20Mbps 的速率提供区块。这也意味着剩余约 60% 的节点具有超过约 20Mbps 的上传容量。net-probe
部署只能以 20% 的网络节点达到 20Mbps 的上传速度(请参见 ap-southeast-2
区域的 y 轴上的 0.8 标记)。考虑到我们在 ProbeLab 观察到的节点地理分布显示几乎 65% 的网络节点部署在美国和欧洲,这也就不足为奇了。[](https://ethresear.ch/uploads/default/original/3X/8/c/8c34010b0e56c6fd15e5de5b4f9077ec1ed02050.jpeg "image")
image1000×600 71 KB
每个成功连接的 9,179 个节点的线路带宽的 CDF。请注意,该图已在 0 到 150 Mbps 范围内放大。
在下图中,我们展示了为不同类型的节点部署观察到的带宽,即托管在公共云基础设施上的节点与未托管在公共云基础设施上的节点。
我们观察到,与非云部署相比,在云提供商中运行的节点以更高的上传带宽速率提供区块,大约有 5Mbps 的额外可用带宽。
云部署和非云部署之间带宽可用性的这种微小差异表明,独立质押者(最有可能使用非云基础设施)正在为其节点部署投入足够的资源。
[](https://ethresear.ch/uploads/default/original/3X/0/e/0e7f5402614db899c745b83bbc597c03005436ea.png "image")
image1000×600 75.9 KB
按节点的宿主类型(4,409 个云节点与 4,770 个非云节点)分隔的线路带宽的 CDF。
通过远程节点的客户端实现比较上传带宽,下图显示了大多数客户端共享相似的分布,直到第 70 个百分位,Lodestar 除外,我们将在下面讨论它。从那时起,分布尾部的差异变得稍微明显。
我们从这项测量中得出的结论是:
[](https://ethresear.ch/uploads/default/original/3X/1/a/1aaea5d67b3ff25da8630be7c51d2195bd8c3371.jpeg "image")
image1000×600 68.9 KB
按节点的客户端分隔的线路带宽的 CDF。
带宽测量以及延迟测量都受到数据生成位置的高度影响。因此,我们选择我们的 net-probe
部署来代表:以太坊节点部署最受欢迎的区域(美国和欧盟)以及地理位置最远的区域(澳大利亚)。下图提供了按大洲聚合的四个区域的节点的线路带宽的 CDF。测量表明,正如预期的那样,较远的区域呈现出较低的带宽可用性。在这种情况下,我们观察到:
[](https://ethresear.ch/uploads/default/original/3X/4/f/4f0ea9bdaf4ad9d884c90224a3f7029a326e80cb.jpeg "image")
image1000×600 65.4 KB
按节点的洲分隔的线路带宽的 CDF
每个以太坊 Slot 都分为不同的部分,每个部分都在 12 秒的 Slot 持续时间内分配给不同的职责。尝试将整个 Slot 时间的可用线路带宽相关联,下图显示了每个节点托管类型的每个节点在 Slot 内每秒的平均线路带宽可用性。我们观察到以下情况:
[](https://ethresear.ch/uploads/default/original/3X/3/0/30889063c58c781c1e52ca0899a8d8fc0141ae7a.png "image")
image1000×600 71.4 KB
每个部署类型在 Slot 内随时间变化的平均线路带宽可用性。
作为我们研究的副产品,我们捕获了我们在整个 Slot 中获得的成功 RPC 回复的数量,这些回复由我们可用的 "数据点数量 "表示。在 Slot 的第 2 秒和第 7/8 秒之间,数据点的数量(即成功的 RPC)有所下降,此时正在广播、传播和处理区块、blob 和证明。
[](https://ethresear.ch/uploads/default/original/3X/3/9/39a6099f5247faa8a03ae8dc1823c91ffec8b77e.png "image")
image1000×600 74.1 KB
每个 Slot 秒的成功数据点的直方图。
从多个角度了解了节点带宽的可用性后,重要的是要了解在测量期间区块中包含了多少个 blob 交易。这方面很重要,以便评估 blob 计数增加的影响,即多少个 blob 导致了我们所看到的带宽可用性,以及有多少空间可以容纳额外的 blob。
下图显示了在 6 天的研究中,每个 Slot 中包含的 blob 数量。以下是我们的观察结果:
鉴于以上所述,我们的看法是,我们没有看到对 11 月 28 日星期四的所有核心开发人员 CL 电话会议中讨论的当前所需的 6/9 的 blob 目标值和最大值有任何关键性的反对意见。
[](https://ethresear.ch/uploads/default/original/3X/9/f/9f1ea004ccdd3f9c19f75bb736c01c79140efd9c.png "image")
image1000×600 26.7 KB
每个 Slot 的 blob 数量的 CDF。
从这一系列广泛的测量中,我们得出以下结论:
至少代表了 65% 的网络(北美和欧盟的节点)的观点,我们测量到只有 30% 到 40% 的测量对等方报告的上传链接低于 20 Mbps 标记。
另一方面,当节点位于像悉尼这样更偏远的位置时,只有 20% 的连接超过了 20 Mbps。
我们需要记住,如果考虑到 80% 的区块至少实现了 2 的 snappy 压缩率,则此可用带宽实际上会翻倍。
部署在云基础设施中的节点似乎比非云节点至少多出 5 Mbps 的可用带宽。
在整个 Slot 时间内测量的带宽表明,在第 1 秒和第 4 秒之间,带宽可用性平均下降了 9% 到 13%。精准的时刻是区块加上 Blob 应该广播到网络的时间。
我们可以发现,在我们发送的 RPC 请求的成功率略有下降,在 Slot 的 "繁忙 "时刻,这可能会在一定程度上影响 PeerDAS 中 blob 的采样。
鉴于目前关于将 blob 数量从 3/6 的目标值和最大值增加到 6/9 的讨论,所提出的指标与 EthPandaOps 最近的文章(link)相符,即在当前的网络状态下,这是一个合理的增加。 网络中已经有 50% 的 Slot 达到了目标 blob 数量或以上,而 35% 的 Slot 甚至没有相关的 blob。
Status Update: `IDONTWANT` Message Adoption on Ethereum Mainnet
- 原文链接: ethresear.ch/t/bandwidth...
- 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!