根据最新的功用目标比较以太坊 2.0 主网上一切可用的客户端。

2020年12月以太坊 2.0 信标链发布之后,现在是时分介绍以及比较现有的协议完成了。本文作为该系列文章的榜首部分,将依照字母排序比较 5 个首要客户端的信标链节点功用和资源利用率。

  • Lighthouse (Rust, Sigma Prime)

  • Lodestar (TypeScript, ChainSafe Systems)

  • Nimbus (Nim, Status)

  • Prysm (Go, Prysmatic Labs)

  • Teku (Java, ConsenSys Quorum)

以太坊 2.0 主网基础设施由三个首要组件组成:

  • 信标链是 PoS (权益证明) 链。当时的以太坊 1.x 链 (一致为PoW) 与以太坊 2.0 合并之后,信标链将成为保证以太坊安全的主干网。

  • 验证就比如 PoS 一致中的矿工。一切人都能够质押 32 ETH 成为验证者,有权提议新区块、对区块敲定进行投票,然后取得奖赏。

  • 罚没者正监视验证者是否作恶,以防攻击事情产生。任何一名验证者违反规则,都会受到赏罚并被移出网络。

需求留意的是,本文首要重视榜首点,信标链是以太坊2.0网络的基础。研究人员能够在 Github 上找到一切相关的脚本、数据和绘图,以便进一步剖析:

>byz-f / eth2-bench-mainnet

本文将要点列出这些发现

同步目标

榜首个也是最令人兴奋的问题:同步以太坊 2.0 信标链节点信息需求多长时刻,结果见下图。

以太坊2.0主网客户端性能比较:Lighthouse、Lodestar等

在上表中,通过比较客户端同步相同的 slot 需求花多少时刻来比较其同步进程。在评选结果之前 (虽然这不是本文的评论规模),关于该图表咱们需求知道三件事。

1.  Prysm (紫色线) 有个特殊的当地是,它会连接以太坊 1.x 节点,从验证者信息登记处获取一切 ETH 存款,然后从 Eth1 状况下构建 Eth2 创世。虽然从安全的视点来看,这一特性蛮有用的,由于用户不必信任 Prysm 的开发者以取得正确的创世状况,可是这一进程需求些时刻。因而,客户端发动与同步发动的时刻有显着的偏移。(#8209)。

2.  由于呈现 JavaScript 堆内存不足的问题,在基准测验时 Lodestar (灰色线)呈现了崩溃 (#2005)。可是,它在10秒后由脚本主动重启。

3. 不可见:在初始同步时,Loderstar 还没有彻底验证一切签名 (#1217)。因而,现在尚不清楚 Loderstar 与其他客户端的比较状况。

上面的图表中,咱们能够看到 Lighthouse (橙色线) 整体体现出色,Prysm、Teku (绿色线) 和Nimbus (蓝色线) 在坚持速度方面体现出色。可是,让咱们再来看看下面的图表:

以太坊2.0主网客户端性能比较:Lighthouse、Lodestar等

在这个图表中,咱们把 Prysm 客户端发动和同步发动 (即榜首个信标链区块产生) 之间的时刻偏移删去。那么能够看出,单纯比较同步速度的话,Prysm 的体现略优于 Lighthouse,不到两个小时就能同步完成,而 Lighthouse 需求两个半小时。Teku 和 Nimbus 大约需求五个小时。

值得留意的是,Eth2 TypeScript 完成 (Lodestar运用的语言) 并不是仅为了成为运行一个全信标链或许验证者节点的首选客户端。相反,Lodestar将为以太坊2.0去中心化应用的一切web、浏览器和根据插件的组件供给基础设施。

以太坊2.0主网客户端性能比较:Lighthouse、Lodestar等

假定咱们知道了客户端的信标头区块当时地点的 slot 高度,而且能够查看在这 60 秒之前区块头的高度的话,咱们就能够通过展现各客户端每秒同步的 slot 数 (用点表明),来核算过去 60 秒的移动平均值以比较各客户端的同步速度。移动平均值超过 10 分钟的则用实线表明。

结果与前一个图表一致。虽然 Prysm 由于要花时刻获取 Eth1-状况,它仍是同步速度最快的客户端,每秒同步 60 slots。Lighthouse 紧跟这以后,每秒同步 46 slots。稍显落后的是 Teku (23/秒) 和 Nimbus (22/秒)。

可是什么是 slot 呢?在传统的区块链如比特币和 Eth1 链中,要么有区块要么没有。那么当比较这些链上的客户端功用时,咱们会以块数/秒为单位来比较其同步速度。这跟以 slot数/秒 为单位有何不同呢?

在以太坊 2.0 中,每 12 秒总有一个指定的 slot。如果验证者被分配到一个 slot 中提议区块,该 slot 便有一个区块。可是,如果验证者错过该 slot,那么就是个空 slot (没有区块),但虽然如此,slot 的计数将继续进行。因而,在以太坊2.0中,咱们以 slots/秒 为单位核算同步速度。

以太坊2.0主网客户端性能比较:Lighthouse、Lodestar等

在这个图表中,咱们把 (时刻) 这一变量删去,横坐标为已同步的 slot 数,并把上一个图表中的同步速度映射到该图表中。一切客户端都显现一个趋势:跟着 slot 的添加同步速度下降。由于该数据是在以太坊 2.0 主网上搜集的,咱们知道有一条验证者队列正排队等候进入 2.0 网络。在撰写本文时,等候队列上有 13_458 名验证者,依照每天新增 900 名验证者的速度来算,需求等待将近 15 天。

了解了以太坊 2.0 主网验证者数量呈线性添加之后,咱们能够假定活泼验证者集的规模变大使得同步速度减缓。

核算资源目标

在上半部分中,咱们仅剖析了同步目标,选出同步最快的客户端。可是哪个客户端在资源利用方面快且高效呢?

以太坊2.0主网客户端性能比较:Lighthouse、Lodestar等

上面的图表中,跟着同步 slot 的数量添加,比较各客户端的数据库容量。值得留意的是,关于彻底同步主网节点 (420_000 slots),Lodestar 的占用空间最小,一共只要 1.49 GiB。Lighthouse (2.98 GiB) 和 Prysm (3.16 GiB) 的结果也不错。

咱们知道 Eth1 节点存储完好的区块前史数据。虽然如此,Eth1 节点还是移除了前史状况以最小化数据库所需的磁盘空间。Eth2 节点与这个概念适当。在磁盘上贮存一切块的同时,他们会删除终究状况。两者的首要区别为:为了方便起见,应将前史状况存储于时段鸿沟中 (epoch boundaries)。现在,Nimbus 每 32 个 epoch 在时段鸿沟存储状况,可是 Lodestar 每 1024 个 epoch 将状况记录在磁盘中。在图中能够清楚地看出差异。

以太坊2.0主网客户端性能比较:Lighthouse、Lodestar等

该图表相同,可是制作了同步期间每个客户端的常驻内存集的巨细。从图中得出,Nimbus 客户端非常高效,在信标链主网的整个处理进程仅需求约 1 GiB RAM。紧接这以后的是 Lighthouse 和 Lodestar,均略低于 3 GiB。

留意:Java 分配给 Teku 的堆外内存不在客户端开发者的控制规模之内。JVM 对可用内存的消耗量特别大。Teku 的目标结果在可用内存总量不同的状况下差异十分大。

以太坊2.0主网客户端性能比较:Lighthouse、Lodestar等

最终但相同重要的一点是,让咱们看一下 CPU 的利用率。在上面图表中能够看到客户端之间的一些风趣差异。

区块链归于一种高度分层的数据结构。同步区块链数据、验证区块以及核算最新状况,大部分作业都是按序列进行的。因而,客户端面对的挑战就是尽可能地使该进程平行化。图表显现的结果与同步速度目标适当,Prysm 和 Lighthouse 抢先 (数值更高意味着愈加有用),而 Teku 坚持良好。

FAQ

Q: 文章不错,但请问为什么你没有比较流量目标呢?

A: 我有比较,仅仅没有对一切目标比较都进行评论。你能够在 Github 上找到没有进行注释的点对点、流量目标,想要进一步研究的话访问:eth2-bench-mainnet/doc/00-plots-uncommented.md

Q: 你个人来说推荐哪个客户端?

A: 这个问题很难答复。靠感觉走的话,我选择 Lighthouse,我觉得它的总体用户体验、功用、功用以及工具可用性都很好。可是,Prysm 仍是最老练而且是现在最快的客户端。Teku 的运用体验也很好,我认为一切客户端都是产品等级的。

Q: 信标链数据库巨细会超过 1 TiB 吗?

不,首要,与 Eth1 比较,信标链本身相对较小。驱动数据库巨细的首要因素是信标状况。可是,与 Eth1 比较,Eth2 并不需求将一切状况存储在磁盘中,由于用户总是能够从本地运行的区块中重建任何状况。

除此之外,PoS 有敲定这一工序,而 PoW没有 (reorgs, 51% 攻击)。一旦区块被敲定,该区块永远不会被篡改。敲定的意思是,将来客户端不必再从创世开端同步链的数据,而是获取最终敲定的 epoch 的最新链头的数据。

原文链接:

https://dev.to/q9/ethereum-2-0-mainnet-clients-3and

作者 | Afri Schoedon

视野开拓

我们由此可知,把民主与革命看成同义词,哪怕看成近义词,是何其错误。民主不但不具有革命性,而且它要竭力根除革命。马克思主义所特有的对革命、对不惜一切暴力代价的暴力颠覆的崇拜,与民主势同水火。自由主义渴望和平,因为它认识到先有和平,才有人们的经济目标的实现,因而在内政外交上力求消除一切冲突的根源。在自由主义看来,战争和革命的暴力永远是一种罪恶,只要没有政治民主,这种罪恶就难以避免。即使革命已成必然之势,自由主义也试图救民于血火,期望哲理能让暴君们开窍,自愿放弃那些阻碍社会发展的权利。席勒请德·波萨侯爵向国王恳求思想自由的权利时,他发出的是自由主义的声音;1789年8月4日那个光荣的夜晚,法国的封建领主自愿放弃了他们的特权,以及1832年的英国改革法案,都表明这种期望并非十分虚妄。自由主义对马克思主义职业革命家的革命壮举是不敢恭维的,他们拿千百万人的生命做赌注,他们摧毁数十年数百年辛勤劳动创造的价值。经济原则在这里也十分有效:自由主义希望以最低的代价获得成功。-《社会主义》

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注