Lighthouse 验证模拟器

本文介绍了Lighthouse v4.6.0版本引入的信标节点性能追踪机制,该机制通过模拟验证者行为评估节点性能。分析了影响验证性能的多种因素,包括地理位置、CPU等,并建议验证者在设计或升级staking设置时,优先考虑如何帮助以太坊网络,例如在非美国/欧盟地区运行节点,或在家中/办公室设置节点。

验证者证明性能可以说是以太坊验证者最广为人知的性能指标。它是 beaconcha.in 上的 "有效性" 评级,并且通常是每个 epoch 盈利或亏损的原因。

v4.6.0 中,Lighthouse 发布了一种用于跟踪 Beacon 节点性能的新机制。该机制在内部模拟和评估 每个 epoch 的证明生成,而不管是否存在任何本地验证者。

证明模拟器在 sigp/lighthouse#4526 中进行了描述,并由 @v4lproiksigp/lighthouse#4880 中实现。

每个模拟的证明在大约生成后的 16 个 slot 后进行评估,以确定它是否会收到 head、target 或 source 奖励。此评估的结果在以下 Prometheus 计数器指标中公开:

  • validator_monitor_attestation_simulator_head_attester_hit_total
  • validator_monitor_attestation_simulator_head_attester_miss_total
  • validator_monitor_attestation_simulator_target_attester_hit_total
  • validator_monitor_attestation_simulator_target_attester_miss_total
  • validator_monitor_attestation_simulator_source_attester_hit_total
  • validator_monitor_attestation_simulator_source_attester_miss_total

使用这些指标,我们可以生成图表,显示每个节点的证明性能:

Graphs

"Source Vote Success" 已被省略,因为它都是 100%。

这些图表是 Grafana "柱状图",基于以下 Prometheus 查询:

"Head Vote Success" 查询

increase(validator_monitor_attestation_simulator_head_attester_hit_total[$__range]) /
  (increase(validator_monitor_attestation_simulator_head_attester_hit_total[$__range]) +
    increase(validator_monitor_attestation_simulator_head_attester_miss_total[$__range]))

"Target Vote Success" 查询

increase(validator_monitor_attestation_simulator_target_attester_hit_total[$__range]) /
  (increase(validator_monitor_attestation_simulator_target_attester_hit_total[$__range]) +
    increase(validator_monitor_attestation_simulator_target_attester_miss_total[$__range]))

该仪表板可以在 sigp/lighthouse-metrics 下载。

局限性

这些指标可以很好地了解 BN 观察和导入区块的能力,但存在局限性:

  1. 模拟的证明永远不会发布,因此它们无法提供有关节点发布到网络的能力的任何见解。
  2. 验证者客户端 (VC) 不参与证明模拟,因此这些指标不包括有关其性能或其与 BN 的连接延迟的任何信息。

不管这些局限性如何,证明性能通常是衡量 BN 能够多么迅速地观察和导入区块的指标。证明模拟器简单而全面地涵盖了这两个方面。

性能因素

在性能与区块观察和导入速度相关的情况下,我观察到以下因素具有显着影响:

  • 地理位置:距离生成区块的验证者越远,平均而言,收到区块的时间就越晚。我发现这是证明性能中最有影响力的因素。
  • CPU:处理区块是 CPU 密集型的,更快的 CPU 导入区块的速度更快。特别是,我观察到具有 SHA 扩展 的 CPU 表现明显更好。具有 SHA 扩展的 CPU 广泛可用(零售和云),我认为这是所有未来构建的必备条件。在 lighthouse --version 中查找 SHA256 hardware acceleration: true

可能还有无数其他因素会影响性能,但我尚未涵盖或调查。例如,RAM 速度是我尚未调查的内容,可能具有一些实质性影响。磁盘速度也可以发挥作用,但是 Lighthouse 努力避免在区块导入期间使用磁盘,因此我怀疑任何 NVMe 驱动器都足够了。关于最佳 staking 硬件还有很多需要学习的地方,我希望像证明模拟器这样的工具能够实现这项研究。

作为一个练习,我们可以比较之前 Grafana 屏幕截图中的指标,看看我们能了解到哪些关于影响性能的因素。这六个示例节点是 Sigma Prime 用于实验和测试的 mainnet 节点。下表显示了 Grafana 屏幕截图中的节点以及有关每个节点的其他信息。

Head Success % Hostname Location Internet CPU SHA Extensions EE
99.5% helsinki-ryzen-3600 赫尔辛基 Hetzner 数据中心 光纤 6 核 @ 3.6-4.2GHz,2019 年发布 Nethermind
99.4% helsinki-ryzen-7700 赫尔辛基 Hetzner 数据中心 光纤 8 核 @ 3.8-5.3GHz,2023 年发布 Besu
98.5% sydney-ryzen-5800x 悉尼 OVH 数据中心 光纤 8 核 @ 3.8-4.7GHz,2020 年发布 Geth
97.3% singapore-xeon-2136 新加坡 OVH 数据中心 光纤 6 核 @ 3.3-4.5GHz,2023 年发布 Nethermind
97.2% australia-intel-13700h 澳大利亚地区住宅 100/25Mbps 铜缆 6 核 @ 5GHz + 8 核 @ 3.7Ghz,2023 年发布 Nethermind
97.1% australia-ryzen-7735h 澳大利亚地区住宅 100/25Mbps 铜缆 8 核 @ 3.2-4.75GHz,2023 年发布 Nethermind

这里有很多信息,并且该实验使用了小样本量,对硬件、EE 和位置的控制很差。但是,我认为其中仍然埋藏着一些信息。

首先,我们可以看到在欧洲比在亚太地区更具优势。我怀疑这仅仅是网络延迟的问题;更多的验证者在欧洲生成区块,因此欧洲的节点更快地看到这些区块。

australia-intel-13700haustralia-ryzen-7735h 都是在家庭环境中运行的 NUC( ASUS PN64ASUS PN53, 分别)。这些 NUC 运行 32GB DDR5 4800 RAM 和 Samsung 980 Pro 2TB NVMe。 它们的成本约为 1,400 澳元。

我们可以看到悉尼数据中心中的 sydney-ryzen-5800x 比家里的节点表现好约 1.3%。但是,我们可以看到新加坡数据中心中的 singapore-xeon-2136 的表现实际上与家里的节点相同。新加坡主机的月租金约为 256 澳元,可以在不到 6 个月的时间内购买一台 NUC。由此,我们可能会认为在数据中心拥有一个主 BN 加上在家中拥有一个备份 BN 对钱包很有吸引力,同时有助于 decentralization。

sydney-ryzen-5800xsingapore-xeon-2136 都在 OVH 亚太数据中心运行,但是 Ryzen 的性能优于 Xeon。我怀疑这是因为 Xeon 缺少 SHA 扩展。我在我们的整个队列中多次观察到这一点;SHA 扩展有所作为。

这两个 NUC 都在同一间房子里运行。英特尔一直略微领先于 Ryzen。它们都运行相同的 RAM 和 NVMe,因此英特尔 CPU 的性能似乎略好。

有趣的是,领先的盒子 helsinki-ryzen-3600helsinki-ryzen-7700 更具优势,即使前者的 CPU 性能明显较差,NVMe 驱动器速度也较慢。但是,当我们查看不同的时间跨度时,我们可以看到这些节点在第一名和第二名之间振荡。这让我相信两者之间的硬件差异很小。这表明,以优惠的价格购买几年前的硬件可能比购买最前沿的硬件更具成本效益(只要在这两种情况下都获得 SHA 扩展)。另外,它们之间的 Nethermind/Besu 差异可能正在告诉我们一些事情,需要进行进一步的研究才能做出坚定的决定。

最后,这是强制性的 不要将 Hetzner 用于生产 评论。

总结

证明模拟器揭示了影响证明性能的因素。对于大小节点运营商来说,它都是一个有价值的工具。从对小型数据集的粗略分析中,我们增加了对亚太地区运行会影响性能的广泛认同的信念。可以通过更好的硬件来缓解这种性能影响,但是在新硬件上花费大量资金可能在经济上并不理想。

鉴于所有这些,我想花点时间考虑一下 优先级。个人利润最大化可能是一个优先事项,但是历史充满了警示故事。当涉及到验证者的 "更大利益" 时,以太坊网络的平均证明性能超过 99%,而我们 真正 只需要 66.7%。换句话说,不乏高性能的验证者。

然而,以太坊确实缺乏欧洲和北美以外的验证者。它也缺乏在一些大型云提供商 之外 运行的验证者。 诸如 monitoreth.io 之类的工具显示超过 35% 的节点在云中运行,但是很可能所有验证者中有一半以上是从少数云提供商运行的。

在 Sigma Prime,我们在亚太地区运行我们所有的生产验证者。我们是一家澳大利亚公司,因此这对我们来说很方便。此外,我们正处于在悉尼数据中心建立我们自己的自托管基础设施的最后阶段。该数据中心的最终成本将高于仅仅租用云盒的成本,但是我们希望突出自己,并安心入睡,因为我们是体面的 Ethereans。这就是我们如何设定优先级的。

在设计或升级你的 staking 设置时,请考虑你可以做些什么来帮助以太坊网络。如果你在美国/欧盟以外,请考虑在本地运行你的节点。如果你想在美国或欧盟运行,请考虑将一些节点引入家庭或办公室。使用证明模拟器来计算实际的经济成本并做出明智的决定。与众不同的成本可能比你想象的要低。

  • 原文链接: blog.sigmaprime.io/attes...
  • 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
点赞 0
收藏 0
分享
本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

0 条评论

请先 登录 后评论
sigmaprime
sigmaprime
江湖只有他的大名,没有他的介绍。