链资讯 链资讯
Ctrl+D收藏链资讯

以太坊2.0测试网挂了 我们从中学到了什么?

作者:

时间:

-图片来自 Blair Fraser-

一个星期以前(注:本文撰写于 2019 年 12 月 17 日),我们宣布使用 Lighthouse 客户端启动一个大型的公开测试网。测试网成功启动并且运行了一周,首次证明了使用生产环境配置的 Eth2 测试网也是可以跑起来的。

启动测试网时,我们曾说,“我们要尝试把这个测试网搞崩,而且我有自信我们能够成功”。测试网确实挂了,而且是两次。第一次是在周六上午,第二次是在周一早上(都是悉尼时间)。第一次挂掉(超过 100 个 epoch 没有敲定)之后,我们成功恢复了测试网运行;但第二次崩溃时,我们决定就此收手,不再恢复。

这里说的 “崩溃”、“挂掉”,都是指测试网无法敲定 epoch。而没法敲定 epoch 的原因是超过 1/3 的验证者都掉线了。在设计上,这个测试网遇到问题不会死撑,而是会快速且明确地表现出失败。

这个测试网的基石是 4 个 AWS t2.medium 实例(硬件配置是 2 vCPU,4gb RAM, 32gb SSD);每个实例都作为公开的引导节点,负载 4096 个验证者。实际上,我们也很惊讶,它们居然能撑这么久;对于少数硬件配置一般的机器来说,这是巨大的负担;它们中只要有两个离线了,测试网就没法继续敲定了。

彭博社:澳大利亚比特币和以太坊相关交易所交易产品遇冷:6月2日消息,上个月,澳大利亚推出了首个与比特币和以太坊相关的交易所交易产品,投资者对此反应冷淡。5月12日推出的3只ETF(交易代码:CBTC、EETH和EBTC)自开始交易以来交易量大幅下降。周二开始交易的Cosmos Purpose Ethereum Access ETF (CPET)在上市首日仅易手2073股。(彭博社)[2022/6/2 3:58:01]

我们分析了这两次崩溃事件,也学到了很多(细节在后续章节中)。我们团队已经回到开发工作中,希望能在下周发布一个新的测试网(也有可能是后面几周,可能工作会受假期影响)。你可以在 v0.1.1 milestone 这个页面上了解我们的进展。

测试网第一次崩溃的直接原因是软件的联网部件中的一个循环,它会 “看到” 某个见证数据(attestation)不断地重复发布。该循环在我们部署的四个信标节点(primary node)中的两个节点上出现了,耗尽了它们的资源,使得它们无法生产区块和见证数据。这个问题是导致两次崩溃的直接原因。

我们已经更新了我们的 gossipsub 实现,现在,每条内容都是根据其内容来寻址的,这就意味着,如果我们收到两条内容相同的消息,gossipsub 协议会忽略掉第二条消息。我们也在 Lighthouse 客户端的代码中加入了复制消息检查,以此防止收发复制消息。

数据量暴涨

两个信标节点挂掉以后,测试网就不可能敲定区块了(因为 50% 的验证者都离线了)。不过,剩下的两个节点仍在继续发出和接收区块,这也是我们希望看到的情形。但是,网络失去确定性(finality)之后,它们就无法修剪和压缩它们的数据库,这就导致它们的数据库以每小时几 GB 的速度增长。因为我们将测试网节点的硬盘限制在 32 GB(包括操作系统所占用的部分),最终,它们的磁盘被旧数据塞满、无法再接受新区块了。这就导致另外两个节点也离线了。

在这种情况下,要想恢复测试网运行也很简单,只需加大硬盘、重启节点即可。我们也对这种恢复方式很满意,因为这就意味着,一些配有大硬盘的节点在两次崩溃中都几乎不会受到什么影响。

在我写作本文之时,Michael 正在开发针对这个问题的解决方案,思路是让数据库的膨胀速度降低 32 倍。虽然我们很高兴看到在 100 epoch 不能敲定之后节点能够恢复,但目前的情况相当于,一个硬盘不足 64gb 的节点只有约 10 个小时的生存时间。恢复能力对 Lighthouse 客户端是非常重要的,而 Michael 的更新会将 10 小时延长到 13 天。

分叉选择

我们也观察到,网络的分叉选择时间延长到了 8 秒。在我们看来,这是不可接受的,必须要去解决它。我们意识到,这个问题是由于过度从磁盘中加载信标链状态(BeaconState)导致的,所以我们已经写了一个 PR 来解决这个问题。

很高兴看到人们参与到 Lighthouse 测试网中来并运行自己的验证者,有 400 多名参与者参与了我们的测试网!感谢他们的反馈!下面这些建议是他们一再提到的:

需要更快的同步时间:我们正在努力了,预计在 0.1.1 版本中,同步速度可以快上 1.5~2 倍。

更好的 docker 文档:Scott 正在优化这些文档,而且新的测试网会用 docker 来部署(即,我们会亲身尝试使用 docker)。

更稳定的 eth1 节点:我们提供了一个公开的 eth1 节点,方便用户的使用,但事实证明,这个节点还导致了某些验证者宕机。在下一个测试网发布的时候,我们会在不同的地区部署少量节点,并在这些节点间做负载均衡。

更多 API 端点:becaoncha.in 团队联系上了我们,并希望他们的区块浏览器能够得到更多的 API 端点。我们已经提交了一个 PR,估计会在 0.1.1 版本时合并。

(完)(文内提供了许多超链接,请点击阅读原文到 EthFans 网站上获取)原文链接:https://lighthouse.sigmaprime.io/update-20.html作者:  Blair Fraser翻译: 阿剑你可能还喜欢:

标签:BSPHOUSEGHTOUSEBSP币LightHouse TokenMoonknight TokenOUSE Token

欧易okex官网热门资讯
扎克伯格谈下一个十年:社区自治或是“另一种甚至更好的监督方式”

Facebook首席执行官马克·扎克伯格(Mark Zuckerberg)表示,数字世界需要监督,他提到政府监管是一种潜在的解决方案,但称社区自治是“另一种甚至更好的方式。” 扎克伯格在1月9日的Facebook帖子中表示:“下一个十年的主要问题之一是:我们应该如何管理互联网启用的大型新数字社区。

安信证券:2020年是全球央行数字货币元年(附股)

央行数字货币有望在2020年大规模推广。根据《财经》报道,由人民银行牵头,工、农、中、建四大国有商业银行,中国移动、中国电信、中国联通(6.000, -0.02, -0.33%)三大电信运营商共同参与的央行法定数字货币试点项目有望在深圳、苏州等地落地。

各国竞相研究的央行数字货币 会让哪些人受益?哪些人受损?

近几个月来,开发中央银行数字货币(CBDC)的竞赛正在加快。最后一个信号是中国国家主席发出的,他公开表示需要在区块链上投资公共资源,这将成为未来的核心技术。

Bitfinex宣布支持用户使用VISA、万事达以及银联卡购买加密货币

早前,Bitfinex宣布与第三方支付公司 Mercuryo 以及OWNR Wallet达成合作,允许用户使用VISA及万事达信用卡或借记卡购买加密货币,新年伊始,Bitfinex于2020年1月3日通过与OWNR Wallet的合作,宣布支持用户使用银联卡(UnionPay)购买加密货币,为亚太地区用户创造更好,更快捷,更轻松的购买体验。

破除迷信——透析比特币与伊朗事件

2020年1月3日,一架美国MQ-9“收割者”无人机在巴格达机场附近斩首伊朗三号人物苏莱曼尼。是日比特币应声大涨,截至发稿,已录得15%以上的涨幅。 这两个事儿有关系吗?笔者认为,这两个事儿和卡巴斯基与巴基斯坦的关系极其相似——有个基巴关系,下面带您走近科学。 一、事实是什么? 1、伊朗群众饭都吃不饱了,哪有空玩比特币。

金色观察|谁是2020年的关键市场角色?

一个市场中要存在这些角色,才能有序进步。 又到新旧交替的时间,在已经奋斗几年的区块链行业里,几家欢喜几家愁。因为面对交替的过渡期,我们最需要的是划定方向。在这个领域中的媒体、大V、知名公司,多多少少已经发表了对于2020年的预测。 敲定方向是重要的,但可能仍旧会云山雾绕,本文我们尝试来梳理一个市场角色列表。目标在于在方向之上,认清现状。