首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

ETH测试网Medalla,为什么提倡验证者尝试多个客户端?

随着ETH2.0测试网Medalla上线之后,以太坊官方团队就鼓励验证者们对不同的客户端进行体验。这一举动在测试网创世那一刻起,便显得尤为重要。据了解,Nimbus 和 Lodestar 节点因无法处理测试网的负载量而卡住。结果,Medalla 在上线半个小时内无法敲定区块。

除此之外,在 Raul Jordan 发表的《ETH2 Medalla 测试网事故》中,Prysm 客户端由于参照的时钟服务器出现了偏差,节点的时钟甚至提前了4个小时,这些节点一直在为超前的 slot 创建区块和见证消息。等这些节点的时钟恢复正常后,那些禁用了默认罚没保护机制的验证者发现自己遭到了罚没。

出现偏差造成的节点错误问题高达62%,网络无法达到至少2/3的最低参与率。并且,因为提前了4个小时,历史记录中出现了同等时间的“空白”,所有 Prysm 节点的时钟之间都存在着细微的偏差,导致节点找不到预期的区块链顶端,因此这些节点都在猜测 “缺失” 数据,创建了很多短的分叉链,造成网络拥堵。

由于网络上成千上万个关于区块链顶端的猜测还在不断增加,为了辨别正确的顶端,所有客户端都开始不堪重负。导致节点出现停滞不前、无法同步和内存不足等问题,以至于情况进一步恶化。当然,经过这次事件,官方也算是对大规模节点故障和网络进行了一场“压力测试”,同时也解决了时钟的根本问题,也算是有好的一面。

正如前文提到的,测试网的顺利运行,最低要求是建立在测试网“1/3安全阈值”的基础上。尽管ETH2.0还在不断增长,我们也希望验证者做对整个网络都好的事情,为了保证网络的正常运行,才有了对应的离线惩罚。但有超过1/3的验证者离线时,离线节点所遭受的惩罚就会加重,网络也将无法实现终局性。因此,作为一名验证者,当你被迫离线时,不会希望更多人跟你有同样原因离线。

由于ETH 2.0 由多个独立团队实现,每个团队都根据 ETH 2.0 研究团队编写的规范开发独立的客户端。这样可以确保有多个信标链节点和验证者客户端实现。在构建 ETH 2.0 客户端时,每个客户端团队在技术、语言、优化和权衡关系方面会做出不同的决定。这样一来,即使 ETH 2.0 系统的任意一层出现漏洞,只会影响运行特定客户端的节点,不会波及全网节点。

因此,多尝试不同的客户端,我们可以在 Medalla 上让不同客户端的验证者分布合理化,以便迎接 ETH 2.0 主网上线。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20200828A0BU6A00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券