作者:BlairFraser
翻译:阿剑
来源:以太坊爱好者
一个测试网倒下,千千万万个测试网站起来
一个星期以前,我们宣布使用Lighthouse客户端启动一个大型的公开测试网。测试网成功启动并且运行了一周,首次证明了使用生产环境配置的Eth2测试网也是可以跑起来的。
启动测试网时,我们曾说,“我们要尝试把这个测试网搞崩,而且我有自信我们能够成功”。测试网确实挂了,而且是两次。第一次是在周六上午,第二次是在周一早上。第一次挂掉之后,我们成功恢复了测试网运行;但第二次崩溃时,我们决定就此收手,不再恢复。
Web3社交协议Light推出v1.0版本,并将于三季度推出社交钱包:6月27日消息,基于CyberConnect搭建的Web3社交协议Light宣布推出v1.0版本,并将于今年三季度推出社交钱包。社交钱包将内嵌Web3原生组件,帮助用户简化Web3流程。[2022/6/27 1:33:37]
这里说的“崩溃”、“挂掉”,都是指测试网无法敲定epoch。而没法敲定epoch的原因是超过1/3的验证者都掉线了。在设计上,这个测试网遇到问题不会死撑,而是会快速且明确地表现出失败。
这个测试网的基石是4个AWSt2.medium实例;每个实例都作为公开的引导节点,负载4096个验证者。实际上,我们也很惊讶,它们居然能撑这么久;对于少数硬件配置一般的机器来说,这是巨大的负担;它们中只要有两个离线了,测试网就没法继续敲定了。
Alchemy以102亿美元估值融资2亿美元,Lightspeed与SilverLake领投:2月8日消息,加密基础设施公司Alchemy以102亿美元估值完成2亿美元融资,Lightspeed和SilverLake领投,多位现有投资方参投。该公司计划将新资金用于推广Web3采用,这方面的一些举措包括推出Web3University,这是一个学习Web3的开放教育资源,此外还包括推出AlchemyVentures和一个面向网站开发者的NFTAPI。Alchemy报告称,自去年10月以来,在其平台上构建的Web3计划数量增长了三倍,连接到该平台的Web3应用程序的API调用的每日数量也增加了6000%。去年10月28日,Alchemy宣布完成由a16z领投的2.5亿美元C轮融资,投后估值达35亿美元;去年4月,Alchemy宣布以5.05亿美元估值完成8000万美元B轮融资,Coatue和Addition领投,DFJGrowth、K5Global、Chainsmokers(烟鬼组合)、演员JaredLeto和Glazer家族参投。(Cointelegraph)[2022/2/8 9:38:44]
我们分析了这两次崩溃事件,也学到了很多。我们团队已经回到开发工作中,希望能在下周发布一个新的测试网。你可以在v0.1.1milestone这个页面上了解我们的进展。
Gate.io发布iOS TestFlight2.4.8版本:据官网公告,Gate.io已发布iOS TestFlight2.4.8版本,APP内新增ETH法币交易对和商家蓝色v标识,支持法币浮动下单、商家挂单增加隐藏价格;动态新增屏蔽、搜索、分享和邀请好友等功能,动态内容可复制,点击状态栏即可返回顶部界面;行情页新增实盘排行榜功能,用户可进行实盘开通、管理和进行信息查看;优化直播列表,添加直播中、直播预告、精彩视频分模块展示和新增订阅功能;新增低交易量过滤功能。详情见原文链接。[2020/6/27]
教训
测试网崩溃的主要原因
IOHK首席执行官:团队改进了Daedalus Flight候选版本 下一个版本本周中旬发布:IOHK首席执行官Charles Hoskinson今日发布最新消息称,拜伦重启(Byron Reboot)本质上是一系列针对Cardano节点、Explorer和Daedalus钱包后端的更新,这些更新被标记为一个名为“Daedalus Flight”的新版本。Hoskinson透露,该团队最近通过Windows改进了Daedalus Flight候选版本,削减了Cardano节点1.10。下一个版本可能会在本周中旬发布,之后他们可能会更新主网Daedalus以适应Flight的改变,这次更新将是一次“实质性的”更新。同时,Cardano团队正在Shelley上测试网络基础设施。(Ambcrypto)[2020/4/13]
测试网第一次崩溃的直接原因是软件的联网部件中的一个循环,它会“看到”某个见证数据不断地重复发布。该循环在我们部署的四个信标节点中的两个节点上出现了,耗尽了它们的资源,使得它们无法生产区块和见证数据。这个问题是导致两次崩溃的直接原因。
我们已经更新了我们的gossipsub实现,现在,每条内容都是根据其内容来寻址的,这就意味着,如果我们收到两条内容相同的消息,gossipsub协议会忽略掉第二条消息。我们也在Lighthouse客户端的代码中加入了复制消息检查,以此防止收发复制消息。
测试网崩溃的次要原因
数据量暴涨
两个信标节点挂掉以后,测试网就不可能敲定区块了。不过,剩下的两个节点仍在继续发出和接收区块,这也是我们希望看到的情形。但是,网络失去确定性之后,它们就无法修剪和压缩它们的数据库,这就导致它们的数据库以每小时几GB的速度增长。因为我们将测试网节点的硬盘限制在32GB,最终,它们的磁盘被旧数据塞满、无法再接受新区块了。这就导致另外两个节点也离线了。
在这种情况下,要想恢复测试网运行也很简单,只需加大硬盘、重启节点即可。我们也对这种恢复方式很满意,因为这就意味着,一些配有大硬盘的节点在两次崩溃中都几乎不会受到什么影响。
在我写作本文之时,Michael正在开发针对这个问题的解决方案,思路是让数据库的膨胀速度降低32倍。虽然我们很高兴看到在100epoch不能敲定之后节点能够恢复,但目前的情况相当于,一个硬盘不足64gb的节点只有约10个小时的生存时间。恢复能力对Lighthouse客户端是非常重要的,而Michael的更新会将10小时延长到13天。
分叉选择
我们也观察到,网络的分叉选择时间延长到了8秒。在我们看来,这是不可接受的,必须要去解决它。我们意识到,这个问题是由于过度从磁盘中加载信标链状态导致的,所以我们已经写了一个PR来解决这个问题。
社区反馈
很高兴看到人们参与到Lighthouse测试网中来并运行自己的验证者,有400多名参与者参与了我们的测试网!感谢他们的反馈!下面这些建议是他们一再提到的:
需要更快的同步时间:我们正在努力了,预计在0.1.1版本中,同步速度可以快上1.5~2倍。
更好的docker文档:Scott正在优化这些文档,而且新的测试网会用docker来部署。
更稳定的eth1节点:我们提供了一个公开的eth1节点,方便用户的使用,但事实证明,这个节点还导致了某些验证者宕机。在下一个测试网发布的时候,我们会在不同的地区部署少量节点,并在这些节点间做负载均衡。
更多API端点:becaoncha.in团队联系上了我们,并希望他们的区块浏览器能够得到更多的API端点。我们已经提交了一个PR,估计会在0.1.1版本时合并。
?
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。