ETH2.0测试网出现BUG?对于以太坊只是小风小浪

作者:秦晓峰

来源:Odaily星球日报

过去的这个周末,以太坊2.0测试网又出幺蛾子了。

北京时间8月15日凌晨,Eth2.0客户端执行团队PrysmaticLabs联合创始人PrestonVanloon表示:Eth2.0测试网Medalla上出现时钟Bug,导致对所有节点造成影响,Prysm客户端出现了长达近90分钟的时钟偏斜,验证器也陆续收到超前Slot区块和证明。

SushiSwap:已从CoffeeBabe追回300多枚ETH被盗资金:金色财经报道,SushiSwap CEO Jared Grey发推表示,已经确认从CoffeeBabe中追回了300多枚ETH的Sifu被盗资金,正就700枚ETH的问题与Lido的团队联系。[2023/4/10 13:54:09]

简单来说,这次测试网出现的根源,主要在于Prysm客户端的时间服务器Roughtime中断,出现时钟偏斜,导致验证者与区块头无法同步,最终影响了测试网Medalla正常运行。

事故回溯

所谓时钟偏斜,即区块时间与正常时间出现的偏差。

时间对Eth2.0至关重要,每一个区块中都包含时间戳;时间一旦不同步,网络就无法正常运行。

为了防止系统时间不够精准,Prysm采用了美国Cloudflare公司的时间服务器?Roughtime来校正。并且,为了防止单体机器故障,还选择了6台。

Harmony攻击者分多次将逾1.8万枚ETH转入Tornado Cash:6月28日消息,过去26个小时,Harmony攻击者已将逾1.8万枚ETH(价值超2200万美元)转移到三个地址中,这三个地址在大多时候以每批100ETH的数量转入Tornado Cash,且均只剩下几个ETH。当前主要的攻击者钱包地址还持有49,794枚ETH。[2022/6/28 1:36:33]

然而,问题还是发生了。北京时间8月15日凌晨,Roughtime出现故障,这也导致Prysm被波及。

根据事后的一份诊断报告:“Cloudflare的Roughtime服务器都返回了错误的信息,Prysm节点没有从这种情况适当退避。虽然他们使用6台时间服务器,但似乎还不够,因为它们都返回了错误的时间。”

最终的结果是,Prysm客户端上「时钟偏斜」超过2秒的时间长达90分钟;并且整个客户端时间也比标准时间提前了4个小时。根据PrestonVanloon的推文,时钟偏斜发生在北京时间的15日凌晨1点半-3点种之间。如下所示:

以太坊网络当前已销毁246.41万枚ETH:金色财经报道,据Ultrasound数据显示,截止目前,以太坊网络总共销毁2,464,154.80枚ETH。其中,OpenSea销毁230048.81枚ETH,ETHtransfers销毁228158.26枚ETH,UniswapV2销毁133831.15枚。注:自以太坊伦敦升级引入EIP-1559后,以太坊网络会根据交易需求和区块大小动态调整每笔交易的BaseFee,而这部分的费用将直接燃烧销毁。[2022/6/18 4:37:23]

EthHub联合创始人:gas费高是致力于Eth2、Optimistic Rollups扩容方案等的原因:8月13日,EthHub联合创始人Eric Conner发推称,我们知道,gas费很高。这就是为什么人们致力于:Eth2、Optimistic Rollups、Plasma扩容方案、支付渠道、侧链的原因。[2020/8/13]

事故发生后,Prysm客户端第一时间停止了Roughtime服务器的使用,并号召用户切换到其他客户端。

“我们决定默认情况下禁用「Roughtime」同步。Roughtime计算中肯定存在一些错误,我们希望尽快发现它。无论调查结果如何,我们认为都应该选择自动调整时钟或完全取消。”PrestonVanloon表示。

几个小时后,开发人员完成调查并发布了修复程序。

不过,名为PR6898的修复程序却存在严重缺陷。

动态 | Coinbase首席执行官因在Bitfinex-Tether丑闻后推广USDC遭到批评:据U.Today消息,5月2日,Coinbase首席执行官Brian Armstrong发推批评“仅有74%的USDT由法币及等价物支撑”一事,并表示社区应该开始关注更“值得信赖”的稳定币,其中包括USDC。但原帖下的评论帖明确表示社区对USDC不满意,称稳定币不是正确的加密。数字货币评论员WhalePanda评论称,“由Circle和Coinbase推出的USDC远未100%以现金为后盾,并且集中收取高额费用。”[2019/5/3]

开发人员RaulJordan表示:“在修复此错误时,我们无意中删除了Prysm节点起作用的所有关键功能,这使问题变得更加严重。”

后果

由于时间不同步,通过Prysm客户端进行验证的“几乎没有人同步到链头”。这也意味着,他们的数据是无效的,也就不能参与验证、获得质押奖励等。

虽然目前Eth2.0仍然是测试网阶段,这些奖励也不是真实的——包括用户参与验证质押的ETH也是测试网版的,不具有真实流通性。

但这次事故,还是对整个Medalla测试网造成了冲击。

由于prysm客户端占据?全网64%?以上的份额,在事件发生后,Medalla测试网中主动投票的验证者数量与总验证者数量的比值从75%左右一度降至5%以下。这也意味着,剩余验证者无法达成全网共识,网络无法正常运行。

外媒《Trustnodes》报导称,此次事故也造成以太坊网络一度停止:大约30%的验证流程失败时,内存问题就开始出现;大约50%之后,问题就变得更大;最后在70%之后,网络显然就停止了。

因此,在过去两天,Prysm客户端修缮了自己的客户端,想要尽快启动测试网。

今天下午,星火矿池发出号召,所有运行Prysm客户端参与Medalla测试网的朋友,请检查自己的客户端是否升级到了alpha.22版本。如果尚未升级,请尽快升级,以支援Medalla测试网从同步障碍中恢复。

思考

这次事故也反映了多客户端的重要性。

某个客户端使用占比过高,一旦出现问题,最中可能导致整个网络运行受到影响。

但从现实情况来看,Prysm客户端能够获得青睐也是有原因的。

目前,Eth2.0上线了5个客户端,但Prysm提供的教学无疑是最好上手的,所以绝大多数验证者仍使用Prysm。

因此,对整个以太坊生态来说,要想平衡各个客户端的力量,必须提升其他客户端易用性,而这是一条任重而道远的漫长之路。

最后,我想说这次事故对Eth2.0来说也是一次历练。所有的问题在测试网阶段充分暴露,才能保证Eth2.0未来的可用性和安全性。

从以太坊过去5年的发展来看,相比于The?DAO攻击、分叉等一系列挑战,这次测试网发生的事故只是小问题。

对于以太坊来说,只会愈挫愈勇。

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

银河链

[0:109ms0-1:965ms