火星链 火星链
Ctrl+D收藏火星链

IME:Medalla 测试网网络动荡始末

作者:

时间:1900/1/1 0:00:00

编者注:2020年8月15日,Medalla测试网出现了验证者参与率的大幅下降,起因是Prysm客户端默认使用Cloudflare公司的roughtime服务来较准节点的本地时间,但当时的roughtime服务出了错,导致所有Prysm节点的本地时间都快了4个小时,如此一来,Prysm节点就与使用其它客户端的节点隔绝开来了。

事发之后,Prysm客户端团队迅速推出了紧急修复并密切跟踪事态。但Medalla测试网仍因为各种原因而继续动荡,无法敲定epoch。事实上,事发之后,截至发文之时,Medalla测试网仅在北京时间2020年8月20日凌晨曾敲定区块,随后验证者参与度又降到了66%以下,未能敲定区块。

事实虽然令人不安,但它恰好提供了一个我们审视Eth2网络、审视节点行为的机会——绝不应放过这样的审视和反思的机会,否则我们仍有可能重蹈覆辙。

我们选择了多份材料,尝试多角度、多层次地复现完整的事实、囊括尽可能多不应被忽略的因素。诚然,我们缺乏能观察到去中心化网络全局情形的上帝之眼,认知的深度必定有其边界,但我们仍然希望,对陷入混沌的网络的恢复过程和参与者在此过程中的激励因素,能有一个完整的描述。到目前为止,这个目标还未实现。

第一份材料,来自Prysm客户端工程师prestonvanloon.eth在推特上对事件的报告。

Medalla测试网全局性故障初探

phil.eth:

ETH2.0测试网Medalla目前无法敲定区块,因为Prysm客户端的roughtime时钟同步出了问题。目前已经有了修复方案。请Prysm用户更新并重启你们的客户端。这一突发情况再次表明了客户端多样性以及测试网的重要性。

prestonvanloon.eth:

今天早些时候,Prysm出现了全局性故障,持续时间将近90分钟。本次事件的始末如下:

世界协调时17:30左右,@terencechain发现其客户端的时钟提前了4小时。很快,出现时钟偏移报警,discord频道也被大量用户报告淹没。

SBF:没有资金被盗,Alameda因市场崩盘而亏损等三件事情导致FTX破产:金色财经报道,SBF发文表示,11 月中旬,FTX International实际资不抵债。三件事结合在一起导致了内爆:

1. 在2021年期间,Alameda的资产负债表增长到大约1000亿美元的资产净值、80亿美元的净借款(杠杆)和 70亿美元的手头流动性。

2. Alameda未能充分对冲其市场风险。在2022年期间,股票和加密货币领域发生了一系列大规模的广泛市场崩盘,导致其资产市值下跌约80%。

3. 2022年11月,币安CEO促成的一场极端、迅速、有针对性的崩盘使Alameda资不抵债。

然后Alameda的传染蔓延到FTX和其他地方,类似于3AC等最终影响Voyager、Genesis、Celsius、BlockFi、Gemini等的方式。

FTX US仍然完全有偿付能力,应该能够退还所有客户的资金。

此外,SBF在详情中表示,没有窃取资金,也没有藏匿数十亿美元。FTX International和Alameda 在2021年都是合法且独立盈利的企业,每家都赚了数十亿美元。[2023/1/12 11:08:41]

Prysm客户端确实出了问题。

Medalla测试网上的验证者参与度骤降,其下降速度甚至超越了$YAM的归零速度,从75%降至5%以下。PrysmaticLabs团队立即展开了紧急行动。

我们决定将软件改成默认禁用roughtime时钟同步,取而代之的是可选择的功能切换。这样可以防止此类问题再次大规模爆发。从现在开始,roughtime的结果将仅供客户端软件参考,不再用于自动时钟校准。

下图是Prysm节点出现超过2秒的时钟偏移的时间段,从北京时间凌晨1:30至3:00持续了大约90分钟。

-图片来源:@prestonvanloon.eth-

现在,我们正看着这个数据思考一个问题“roughtime服务器怎么会偏差这么大?”数据显示,所有Prysm服务器报告的偏移量都在0.1秒不到。最后为什么会提前4小时??

Alameda向FTX再次转入1435万枚USDT:6月22日消息,据PeckShield监测显示,Alameda FTX Deposit钱包地址(0x83a127952d266A6eA306c40Ac62A4a70668FE3BD)向FTX交易所转入1435万枚USDT。

午间消息,Alameda FTX Deposit钱包地址于今日向FTX交易所转入40,065,998枚USDC和19,558,208枚BUSD,价值5962万美元。[2022/6/22 6:54:58]

-图片来源:@prestonvanloon.eth-

我们还在调查这个问题!肯定是roughtime的增量计算出了bug,我们希望能尽快找到它。无论调查结果如何,我们认为应该将自动时间校准作为可选项,甚至彻底取消掉。

欢迎阅读完整的事后调查报告,了解最新的调查进展。

在主网上线之前,测试网就是用来发现这类问题的。面对这种情况,多几个客户端选择对用户更为有利。

原文链接:

https://twitter.com/preston_vanloon/status/1294392007599652865

作者:?prestonvanloon.eth

翻译&校对:?闵敏?&?阿剑

编者注:第二份材料来自Prysm客户端团队的分析报告,有详尽的时间线记录。从中我们可以知晓Prysm客户端发布紧急修复的整个过程,以及紧急修复带来的连带影响。截至本译稿发表之时,该分析报告表示已经找到了故障的具体原因。值得一提的是,报告原文所用的都是UTC时间,我们一律转换成了北京时间。

“roughtime”事件分析报告

作者:Terence、Raul、Preston

状态:等待决议。根本原因已找到,问题已缓解。

网络:Medalla

Solana流支付协议Zebec完成2800万美元融资,Circle、Coinbase、Alameda等参投:3月16日消息,基于 Solana 区块链的流支付协议 Zebec 已通过公开和私人 Token 销售筹集了 2800 万美元,并推出其 Token ZBC 。其中 2100 万美元的私募投资者包括 Circle、Coinbase、Solana Ventures、Lightspeed Venture Partners 和 Alameda Research,另外 700 万美元的公开 Token 发售是与 Republic 合作完成的。

Zebec 协议为金融交易(包括工资、支付、投资和购买)提供实时、连续的资金流,核心 Zebec Payroll 解决方案允许员工以 USDC 和其他稳定币获得报酬。ZBC 将作为 Zebec 去中心化自治组织 (DAO) 的治理 Token,Zebec 还计划为 ZBC 持有者提供质押奖励,并为基于该协议的开发人员提供奖励。(coindesk)[2022/3/16 13:59:00]

总结:Cloudflare的roughtime服务器全都返回错误信息,而Prysm节点并没有采取适当的应急措施。这个bug导致所有Prysm节点出现时钟偏移。在时钟偏移的影响下,验证者为超前的slot提议区块并生成见证消息。

影响:由于roughtime响应错误以及出现时钟偏移,验证者计算slot错误,提议的区块和生成的见证消息均无效。这个问题影响到了全局参与度。在北京时间凌晨1:30至2:45之间,所有Prysm节点都受到了影响。

根本原因:来自Cloudflare服务器的roughtime响应出错。具体来说,是因为“ticktock”报告了一个24小时之后的时间。这个时间戳,再经过所有6个服务器的数据取平均值,是的所有Prysm节点都产生了4小时的时间调整。

解决方案:在我们评估roughtime响应错误所引发的潜在问题时,先将roughtime时钟同步设为可选项。

Alameda:REEF违背场外交易约定,不建议与他们开展任何业务:3月15日消息,针对AlamedaResearch投资REEF的消息,AlamedaResearch创始人SamBankman-Fried转推Alameda交易员SamTrabucco的推特称,Alameda与REEF团队没有任何关系,也不支持REEF项目项目,虽然Alameda同意与REEF进行场外交易,但REEF立即就通过社交媒体进行传播,违背了场外交易的约定,所以Alameda不建议任何人以任何方式与REEF开展业务。[2021/3/15 18:46:59]

发现:Terence最先发现了这个问题。他注意到一个本地信标链节点一直在拒绝超前的区块和见证消息。几分钟之后,由于roughtime时钟偏移量较高,产生了报警。同时,#general和#bug-report频道的用户开始报告本地节点拒绝超前区块和见证信息的问题。

经验教训

哪里出了问题

我们误以为,对于roughtime服务器故障的问题,我们有适当的应急方案。

网络中的每个Prysm节点同时受到影响,导致验证者参与率大幅降低。

PrysmaticLabs团队原以为,NTP服务器本身较为分散,而且每个服务器都开放6个端口,不会出现全局故障的问题。

万幸的是

一位贡献者已经向我们提交了一个PullRequest,把roughtime时间校准设为可以选择退出的功能。

我们已经可以用命令行功能标签立即选择取消roughtime时钟校准,这让修复措施变得简单,而且只需一次PullRequtest就能验证。

用户在Discord上积极参与讨论。当节点出现问题时,有大量用户提供了详细报告和重要指标。

我们有一个持续不断的重同步机制,当它发现时钟偏移量超过2秒时,它会不断更新节点本地的时间。我们一直在重新校准roughtime时钟,以便更快解决这一问题。这可能让这次事件提前了大约30分钟至1小时结束。

Alameda Research积累了70%于8月份铸造的WBTC:金色财经报道,Alameda Research声称,其获得了8月份铸造的WBTC中的近70%。该公司在7月进行游说,以期将在Compound平台上赚取利息的抵押品数量从0%增加到40%。值得注意的是,该公司在8月份之前还没有开始铸造WBTC。[2020/9/5]

roughtime时钟同步问题似乎在大约90分钟后就解决了,而且在我们能够紧急发布新版本前,这个事件就已经结束了。

时间线

2020/08/15

1:25AM:Terence发现他的本地节点由于一直拒绝超前区块,收到了大量报警。这些区块的slot都超前了4个多小时。

1:28AM:Prometheus监控报警系统收到了roughtime偏移量高的报警。那时,距离网络最后一次敲定区块过去了10epoch。

1:35AM:至少有30名用户在Discord频道表示他们开始收到下方报警:WARNroughtime:Roughtimereportsyourclockisoffbymorethan2secondsoffset=4h0m0.028854657s

1:43AM:Terence在#war-room频道群发了告警消息,称这是一个PS0级别的事件,需要大家共渡难关。

1:45AM:Discord频道的用户提出,重启信标链节点和验证者客户端无法暂时解决这个问题。最可行的方案是将roughtime时钟同步设为可选禁用的功能。

1:51AM:问题上升到了多客户端聊天室

1:52AM:Ivan完成了https://github.com/prysmaticlabs/prysm/pull/6898

2:00AM:Terence与512位验证者一起在本地测试了6898号PullRequest。

2:20AM:据已捕获的调试日志显示,“ticktock”服务器有段时间一直在报告24小时之后的时间。

2:27AM:Raul联络了Preston。Preston将在1小时内回来构建新版本。同时,我们将发布docker镜像。

2:40AM:Preston指出只靠紧急修复还不够,我们需要取消将roughtime时钟同步作为默认项。

2:42AM:Raul开始调查Kibana,并使用fluentd中的filter分析来自roughtime的调试日志响应。

2:43AM:Terence交叉检查了信标链命名空间中所有pod的kubectl日志。正如预期的那样,pod确实存在roughtime时钟偏移问题。

2:46AM:Raul向6898号PR提交了正确的修复程序。

3:05AM:Raul确认该修复程序可以让节点在本地工作。如果存在时钟偏移,修复程序会产生告警日志,但是不会试图基于roughtime服务器更新时间。

3:08AM:Terence在我们的discord频道向所有人宣布:“Prysm节点出现roughtime响应错误,应急措施没有达到预期效果。我们已经找到了故障所在,很快就会进行紧急修复,并在1小时内上线新版本。在即将发布的新版本中,roughtime时钟同步将不再是默认项。”

3:18AM:Buildkite单元测试、规范测试、docker镜像构建成功。e2e测试尚未完成。Preston准备启动上线流程。

3:22AM:新版本生成:https://github.com/prysmaticlabs/prysm/commit/d24f99d66db22691b69c76bc57c7509e7f3ba8fe。Terence确认这个方法可以修复其验证者节点。Preston开始使用新的docker镜像依次重启我们的有状态集合中的pod。集群验证者会基于新的镜像进行更新。

3:34AM:Docker镜像被标记成alpha21版本,稳定性好,二进制文件已经构建完成

3:34AM:对有状态集合中pod的健康状态进行监控,确保滚动更新成功

3:36AM:使用新的docker镜像对我们的验证者pod进行滚动启动。

4:29AM:在日志上查看返回的延时值。平均来看,这些值似乎都在0.1秒以下。延迟不是调查的关键指标。准确来说,“中点”才是需要研究的地方。注:下表时间是太平洋标准时间。https://kibana.prylabs.network/goto/e5f5f64a4426c85aee1d76abc2d994be

-图片来源:@prestonvanloon.eth-

5:32AM:查看高于2秒的偏移量。从该数据中可以看出,在长达90分钟的全局故障期间,Prylabs出块节点的偏移量大约是14000秒。注:下表时间是太平洋标准时间。https://kibana.prylabs.network/goto/6ce2d73c13c0eef600b604fee6d8f4f4

-图片来源:@prestonvanloon.eth-

4:41AM:通过Prometheus报警系统关于平均偏移量的数据,我们可以明显看出在北京时间凌晨1:30至2:45之间确实存在时钟偏移问题,之后偏移量开始下降并恢复正常。

4:52AM:即时调查结束。这次时钟偏移故障显然已经结束,而且修复程序已经发布。已经更新的节点将立即恢复,还没有更新的节点需要过段时间恢复。监控系统显示,验证者参与度在逐步回升。

6:20AM:用户报告说罚没保护机制已经启动。这是因为之前的时钟偏移导致验证者超前4小时提议区块并生成见证消息。为了避免遭到罚没,Prysm验证者没有继续提议无效区块。

8:13AM:再次故障

8:13AM:Nishant注意到6898号PR中存在严重缺陷。只有在roughtime功能标记开启的情况下,用户才能设置它的功能。

8:16AM:Preston更新了“最新的”二进制文件,使其指向alpha20版本来实现临时回滚,并建议用户回滚至alpha20版本。我们现在正在等待合并7004号PR作为alpha22版本的候选。

8:45AM:值班团队正在评估是否扩大热状态缓存的大小,以便alpha22版本能够更快让网络重新开始敲定区块。当前默认的热状态缓存大小为8个epoch,但是Medalla测试网距离上一次敲定区块已经过去了将近100个epoch。

9:12AM:值班团队决定将默认缓冲大小更新至64epoch,并使其可以通过功能标记来配置。经过初步测试,这有可能会使内存使用量增加1.5G。等网络重新开始敲定区块后,缓冲大小还可以调整。

9:57AM:所有PrysmaticLabs验证者节点都生成了会被罚没的见证消息。紧急修复程序删除了Prylabs验证者节点的本地存储。没有任何外部的罚没保护机制在运行。具体情形尚待确认……在1024名验证者中,至少有800名验证者已经或即将遭到罚没。

10:37AM:多名用户报告称无法同步区块链。目前的问题是,网络中有太多节点在同一时间进行同步。Alpha22版本被推迟,需要等待进一步通知。

10:46AM:Prylabs团队认为现在最好的办法就是等待。用户应该运行alpha20版本或最新的docker镜像。

2020/08/16

2:12AM:正在对同步难的问题进行调查。

11:36AM:Nishant和Victor发布初始同步修复程序。参见PullRequest7012。

2020/8/17

1:51AM:合并拉取7012号PR。一些用户报告说同步成功。PrysmaticLabs开始将7012部署到出块节点上。

5:15AM:从commit0be1957c2897909b943b80fdd028f5346ae6cde6开始开发Alpha.22版本

5:33AM:Alpha22版本发布。链接:https://github.com/prysmaticlabs/prysm/releases/tag/v1.0.0-alpha.22

5:40AM:通过Discord频道宣布Alpha22版本上线。Prysmatic的值班团队继续监控同步情况,以便进行优化。与此同时,越来越多用户同步至最新区块。

12:53AM:Alpha23版本上线,已在Discord频道宣布该消息。Alpha23版本包含一些同步修复程序,有望解决Medalla测试网的问题。建议用户在运行时开启“--dev”标记,以便获得更好的体验。

原文链接:

https://docs.google.com/document/d/11RmitNRui10LcLCyoXY6B1INCZZKq30gEU6BEg3EWfk/edit#

作者:?PrysmaticLabs

翻译&校对:?闵敏?&?阿剑

标签:PRYGHTIMETIMPRYZMoonlight TokenAIMEME币STIMMY币

欧易okex官网热门资讯
TPS:关于AIB爱的奇迹保值活动第一期锁仓补充说明

尊敬的用户:参与AIB爱的奇迹保值活动第一期获得的部分AIB将继续锁仓,具体名单可详见:https://shimo.im/sheets/rrg868v3DDVwCQTj/MODOC/《爱的奇迹保.

1900/1/1 0:00:00
ARCH:ArCoin正在申请作为Dai的抵押品

据MakerDAO官方微博,ArCoin正在申请作为Dai的抵押品。据悉,Arca是一家专注于数字资产和区块链技术的投资管理公司,旗下的Arca美国国库券基金是第一家获得美国证券交易委员会登记注.

1900/1/1 0:00:00
加密货币:美国一金融公司发明AI预测系统,可实现加密交易自动化

本文由中币研究院原创编辑下载全球领先的数字货币交易所中币APP:www.zb.live/download美国金融服务公司CapitalOne开发了一套人工智能(AI)系统.

1900/1/1 0:00:00
加密货币:关于ZBG开通DOT/USDT交易的公告

公告编号2020082103各位关心ZBG的投资者们和项目方:波卡(Polkadot)社区即将实施DOT拆分100倍的方案,ZBG已于2020年8月21日12:00暂停DOT/QC现货交易.

1900/1/1 0:00:00
ROY:Royalcoin全球通用平台币(RLC)

一、发行分配RLC总量:8000万枚;初始0流通,通过创世区块均衡算法产出母币;创世区块:5%=400万枚;创始团队:5%=400万枚;剩余额度:90%=7200万枚二、创世区块分配机制;①创世.

1900/1/1 0:00:00
SDT:比特币&主流货币:比特币反弹太弱势,后期回落的概率偏大

资讯简评公链板块代币集体上扬,量子链领涨,24小时涨幅逼近40%昨夜今晨,公链板块代币集体上扬,平均涨幅达10.14%。量子链领涨,24小时涨幅逼近40%,最高触及5.55美元.

1900/1/1 0:00:00