周四晚间,以太坊区块链遇到了一个问题,暂时无法正确验证区块。虽然后来一切都恢复了正常,但以下是我们目前对这一事件的了解。
区块暂时停止在以太坊上被最终确认
在写这篇文章的时候,确切的原因还没有被告知,但是在大约三十分钟的时间里,以太坊区块链(ETH)遇到了一个问题,使区块无法被最终确定。
大约三十分钟前,信标链停止了最终化。我还不知道原因,但总的来说,该链被设计成对这种情况有弹性,交易将照常进行,当问题得到解决时,最终确定将启动。pic.twitter.com/utAS0uAWpG
– superphiz.eth ️ (@superphiz) May 11, 2023
需要指出的是,区块链并没有停止。然而,在3个纪元期间,共识层遭受了一个类似于所谓的 “非活动性泄漏 “的错误。
更简单地说,区块链的行为就像许多验证者都不在线一样。
事实并非如此,但事实是,在这一时期,验证者发出的证书数量有限:
L一个正在使用的软件的问题
为了发挥作用,以太坊区块链分为2个支柱:执行层,允许交易发生,以及共识层,确保区块的一致性。对于这两个支柱,验证者可以使用不同的软件,称为客户端。
以太坊基金会鼓励验证者将他们使用的客户端多样化,这样,如果发生错误,区块链将继续正常运行。
在下面的插图中,我们可以看到,用于共识层的软件是正确的多样化,而对于执行层,Geth客户端的代表意义太大:
由于没有一个共识层客户端被超过50%的验证者使用,昨晚的错误不可能导致区块链关闭或分叉。这是假设问题确实起源于所使用的某个软件包。
在这种情况下,核心开发者Superphiz指出,如果没有软件代表超过33%的验证者,这个非活动性泄漏问题甚至可以避免:
如果一个共识层客户端造成了最终结果的丧失:
*我们通过没有超级多数的客户端避免了分叉的发生
*如果没有客户端超过33%,我们就可以完全避免最终结果的丧失。
我为我们的多样性工作感到骄傲,但我们还没有完成。https://t.co/TUtXnQu5hD
– superphiz.eth ️ (@superphiz) May 11, 2023
就他而言,Terence Tsao表示已经发现了Prysm客户端的一个问题,尽管我们现在不能说这是否是区块验证停止的来源:
来自Prysm的更新。我们已经确定了可以改进状态缓存的地方。有了改进的缓存,在像以前那样的退化时间里,节点应该表现得更好。
鉴于链已经稳定下来,作为一个稳定器/节点操作者,不需要任何行动的时刻。
– terence.eth (@terencechain) May 11, 2023
现在最重要的是,一切都很快恢复了正常,在这一事件中没有验证者被砍伤。事实上,当验证器没有正常工作时,砍价是用来抽走一些藏匿的ETH的。
开发团队应该很快就会提供一份关于所发生情况的详细报告,届时我们可以再来看看这些信息。