基于最新的性能指标比较以太坊 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 成为验证者,有权提议新区块、对区块敲定进行投票,然后获得奖励。
罚没者正监视验证者是否作恶,以防攻击事件发生。任何一名验证者违反规则,都会受到惩罚并被移出网络。
以太坊信标链总质押量突破1700万枚ETH:金色财经报道,据以太坊官方网站最新数据显示,以太坊信标链总质押量已突破1700万枚ETH,本文撰写时达到17,006,762 ETH,按照当前价格计算约合 268.9亿美元。此外,当前以太坊信标链验证者总数量为500,657个,APR维持在3.8%。[2023/1/17 11:15:50]
需要注意的是,本文主要关注第一点,信标链是以太坊2.0网络的基础。研究人员可以在 Github 上找到所有相关的脚本、数据和绘图,以便进一步分析:
>byz-f / eth2-bench-mainnet
本文将重点列出这些发现
同步指标
第一个也是最令人兴奋的问题:同步以太坊 2.0 信标链节点信息需要多长时间,结果见下图。
在上表中,通过比较客户端同步相同的 slot 需要花多少时间来比较其同步进程。在评选结果之前 (虽然这不是本文的讨论范围),关于该图表我们需要知道三件事。
1. ?Prysm (紫色线) 有个特殊的地方是,它会连接以太坊 1.x 节点,从验证者信息登记处获取所有 ETH 存款,然后从 Eth1 状态下构建 Eth2 创世。虽然从安全的角度来看,这一特性蛮有用的,因为用户不必信任 Prysm 的开发者以获得正确的创世状态,但是这一过程需要些时间。因此,客户端启动与同步启动的时间有明显的偏移。(#8209)。
以太坊钱包Rainbow已上线内置交易服务:7月29日消息,以太坊钱包Rainbow宣布已上线内置交易服务,支持以太坊、Polygon、Optimism和Arbitrum,交易费用为0.85%。
Rainbow将通过合约中的智能路由选择最佳交易路径,并通过Flashbots Protect防止用户因受到MEV机器人攻击导致的交易失败。[2022/7/29 2:45:23]
2. ?由于出现 JavaScript 堆内存不足的问题,在基准测试时 Lodestar (灰色线)出现了崩溃 (#2005)。但是,它在10秒后由脚本自动重启。
3. 不可见:在初始同步时,Loderstar 还没有完全验证所有签名 (#1217)。因此,目前尚不清楚 Loderstar 与其他客户端的比较情况。
上面的图表中,我们可以看到 Lighthouse (橙色线) 整体表现出色,Prysm、Teku (绿色线) 和Nimbus (蓝色线) 在保持速度方面表现出色。但是,让我们再来看看下面的图表:
在这个图表中,我们把 Prysm 客户端启动和同步启动 (即第一个信标链区块产生) 之间的时间偏移删去。那么可以看出,单纯比较同步速度的话,Prysm 的表现略优于 Lighthouse,不到两个小时就能同步完成,而 Lighthouse 需要两个半小时。Teku 和 Nimbus 大概需要五个小时。
以太坊将进行硬分叉升级,以将难度炸弹推迟大约2-3个月:6月15日,官方消息,以太坊主网将在区块高度15050000(约6月底)进行Gray Glacier硬分叉升级,以将难度炸弹推迟大约2-3个月,因此所有用户必须在区块激活之前进行升级。以太坊客户端Geth对此发布v1.10.19版本,引入Gray Glacier硬分叉,强制进行升级。
此前消息,以太坊开发者Tim Beiko表示,以太坊预计在8月下旬至11月之间进行合并,只有灾难性事件或失败才能阻止今年的合并。由于涉及的技术问题,几乎不可能给出合并发生的确切日期。此外,也有迹象表明,开发人员正在推迟以太坊的难度炸弹,因为他们目前正在修复他们在Ropsten合并期间发现的错误。[2022/6/15 4:29:51]
值得注意的是,Eth2 TypeScript 实现 (Lodestar使用的语言) 并不是仅为了成为运行一个全信标链或者验证者节点的首选客户端。相反,Lodestar将为以太坊2.0去中心化应用的所有web、浏览器和基于插件的组件提供基础设施。
假设我们知道了客户端的信标头区块当前所在的 slot 高度,并且可以查看在这 60 秒之前区块头的高度的话,我们就可以通过展示各客户端每秒同步的 slot 数 (用点表示),来计算过去 60 秒的移动平均值以比较各客户端的同步速度。移动平均值超过 10 分钟的则用实线表示。
以太坊测试网已成功过渡到权益证明(PoS):金色财经报道,据trustnode最新消息,以太坊测试网 Kiln 上线后,目前已经成功过渡升级到完整的权益证明(full Proof of Stake)共识机制。以太坊开发人员 Tim Beiko 表示,验证者正在生成合并后的区块,这些区块中包含交易,而且网络非常稳定,超过 2/3 的验证者可以正确完成交易确认。据悉,开发人员已经确认以太坊测试网节点正在从 RPC 调用中获取指令,即质押者,而不是矿工。截至目前,过渡到权益证明共识机制的以太坊测试网上已经有超过106,000 个验证者,以及 340 万枚测试网 ETH。如果一切顺利的话,以太坊过渡到权益证明机制可能会在今年 6 月活 7 月进行。[2022/3/16 13:58:50]
结果与前一个图表一致。尽管 Prysm 因为要花时间获取 Eth1-状态,它仍是同步速度最快的客户端,每秒同步 60 slots。Lighthouse 紧跟其后,每秒同步 46 slots。稍显落后的是 Teku (23/秒) 和 Nimbus (22/秒)。
然而什么是 slot 呢?在传统的区块链如比特币和 Eth1 链中,要么有区块要么没有。那么当比较这些链上的客户端性能时,我们会以块数/秒为单位来比较其同步速度。这跟以 slot数/秒 为单位有何不同呢?
法官批准Ripple有关强制SEC提供比特币和以太坊相关文件的动议:金色财经报道,美国地方法院法官Sarah Netburn今日批准了Ripple的动议,即强制美国证券交易委员会(SEC)提供与比特币和以太坊相关的文件。此前消息,Ripple于3月15日提出动议,指责SEC扣留证据。Ripple声称美国SEC除了监管机构选择的文件外,没有提供任何文件。Ripple希望SEC提供有关比特币和以太坊的文件,而当时SEC声称与比特币和以太坊有关的文件与该案无关。[2021/4/7 19:52:49]
在以太坊 2.0 中,每 12 秒总有一个指定的 slot。如果验证者被分配到一个 slot 中提议区块,该 slot 便有一个区块。然而,如果验证者错过该 slot,那么便是个空 slot (没有区块),但尽管如此,slot 的计数将继续进行。因此,在以太坊2.0中,我们以 slots/秒 为单位计算同步速度。
在这个图表中,我们把 (时间) 这一变量删去,横坐标为已同步的 slot 数,并把上一个图表中的同步速度映射到该图表中。所有客户端都显示一个趋势:随着 slot 的增加同步速度下降。由于该数据是在以太坊 2.0 主网上搜集的,我们知道有一条验证者队列正排队等候进入 2.0 网络。在撰写本文时,等候队列上有 13_458 名验证者,按照每天新增 900 名验证者的速度来算,需要等待将近 15 天。
了解了以太坊 2.0 主网验证者数量呈线性增长之后,我们可以假设活跃验证者集的规模变大使得同步速度减缓。
计算资源指标
在上半部分中,我们仅分析了同步指标,选出同步最快的客户端。但是哪个客户端在资源利用方面快且高效呢?
上面的图表中,随着同步 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 将状态记录在磁盘中。在图中可以清楚地看出差异。
该图表相同,但是绘制了同步期间每个客户端的常驻内存集的大小。从图中得出,Nimbus 客户端非常高效,在信标链主网的整个处理过程仅需要约 1 GiB RAM。紧接其后的是 Lighthouse 和 Lodestar,均略低于 3 GiB。
注意:Java 分配给 Teku 的堆外内存不在客户端开发者的控制范围之内。JVM 对可用内存的消耗量特别大。Teku 的指标结果在可用内存总量不同的情况下差异十分大。
最后但同样重要的一点是,让我们看一下 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
来源 | dev.to/q9
作者 |?Afri Schoedon
澎湃新闻:目前区块链最前沿技术达到什么程度?伍鸣:区块链技术是一门十分年轻的战略性前沿技术,在自身发展的同时,也引发一系列技术创新和产业变革.
1900/1/1 0:00:002021 年 1 月的最后一个交易周,美国华尔街对冲基金和机构沽空者在 GameStop(游戏驿站)股票多空博弈中损失惨重,而其交易对手之一的多头力量则是来自互联网的业余散户交易社区.
1900/1/1 0:00:00头条 ▌新华网:专家提醒投资比特币可能面临高风险新华网刊发报道《专家提醒投资比特币可能面临高风险》。正文中提到以下内容: 伦敦大学学院玛丽·瓦谢克博士在接受《泰晤士报》采访时表示,比特币有别于传统货币,因此风险更高.
1900/1/1 0:00:002月9日,比特币价格突破4.7万美元,再次创下历史新高。而在几天前,特斯拉创始人马斯克也站台为比特币“带货”,根据彭博社在2月8日的报道,特斯拉在美国证券交易委员会(SEC)最新文件中披露,他们总计对比特币投资了15亿美元,并可能会长.
1900/1/1 0:00:00自2020年年中开始的加密货币牛市,其中一个大赢家肯定是矿工,尤其是以太坊矿工。在刚刚过去的2021年1月,以太坊矿工收入达到了8亿美元,超过了2018年1月历史最高纪录的7.62亿美元.
1900/1/1 0:00:00提供暗网市场验证链接的网站dark.fail的管理员声称,在实施Chainalysis交易标记系统后,交易所不公平地关闭了捐赠比特币的账户.
1900/1/1 0:00:00