值得信赖的区块链资讯!
比推数据  |  比推终端  |  比推英文  |  比推 APP  | 

下载比推 APP

值得信赖的区块链资讯!
iPhone
Android

Solana Labs 发布 6 月 1 日主网 Beta 中断事故调查报告

比推BitpushNews

Solana Labs 官网今日发布 6 月 1 日主网 Beta 中断事故调查报告,当日宕机约 4 个半小时,原因是持久随机数交易功能中的错误导致共识停滞而停止生产区块。区块生产在同一天UTC时间21:00恢复,网络运营商在接下来的几个小时里继续恢复客户服务。

截屏2022-06-05 下午5.47.58.png

是什么原因导致中断?

由持久随机数交易功能触发的运行时错误允许在一组特定情况下,对失败的持久随机数交易进行两次处理。这导致了不确定性,当验证者第二次处理交易时,一些节点拒绝了后续区块,而其他节点则接受了它。关键的是,超过 33% 的验证者接受了该区块,但这个数字低于调和不确定性所需的 66%。

随机数交易应该如何工作,它们与正常交易有什么不同?

Solana利用非重叠交易的并行处理来极大地提高吞吐量。按顺序处理交易的网络可以使用递增随机数;Solana使用不同的方法来确保交易不会被处理两次。对于占Solana区块链上交易的99.99%以上的正常交易,网络使用最近的区块哈希,并维护该窗口内已处理交易的记录,以确保不处理重复的交易。

由于持久随机数交易被设计为不会过期,因此它们需要不同的机制来防止双重处理,并按顺序处理。此类交易使用特定于每个帐户的链上值,每次处理持久随机数交易时都会轮换该值。在轮换该值之后,应该不能再次处理相同的持久随机数交易。

发生了什么?

在一组特定环境中处理持久随机数交易时,发现了运行时中的一个错误,该错误阻止了网络的发展。持久随机数交易已处理,而其区块哈希仍然足够新,可以将交易作为普通交易处理。

看到最近的区块哈希,运行时假设它正在处理一个普通交易,而不是一个持久的随机数交易。此交易失败,并且由于它没有作为持久交易处理,因此处理不会按预期推进链上随机数值。

由于失败的交易被成功添加到区块,因此支付了交易费用。

在持久交易被处理一次且失败之后,它仍然能够作为持久交易再次被处理,因为它引用的随机数值没有被推进并且仍然可用。在处理失败的交易之后,但在再次使用随机数之前,用户重新提交了相同的事务进行处理。这次重新提交在运行时激活了错误。

失败的持久随机数交易被重新提交到集群

区块生产者错误地将这笔交易接受到它正在构建的区块中,因为链上的随机值没有被推进。当验证者验证该区块时,一部分人发现新区块包含之前已处理的交易,这是由于包含此持久随机数交易而导致的。

一组验证者拒绝了该区块,而另一组接受了该区块,因为之前的交易实例不再在他们最近处理的缓存中。至关重要的是,超过 33% 的验证者接受了该区块,但这个数字低于调和不确定性所需的 66%。

在版本 v1.9.28/v1.10.23 中禁用了持久随机数交易功能,以防止网络在再次出现相同情况时中断。在即将发布的版本中重新激活该功能之前,不会处理持久随机数交易。

作者:Amy Liu


了解更多资讯欢迎加入:

比推 Discord 社群 :https://discord.com/invite/QSvv7MZ2tz

比推 TG 交流群:https://t.me/BitPushCommunity

比推 TG 订阅: https://t.me/bitpush

Twitter:https://twitter.com/BitpushNewsCN

本文来自比推,文章链接: https://www.bitpush.news/articles/2690385转载需注明出处

说明:比推所有文章只代表作者观点,不构成投资建议
原文链接:https://www.bitpush.news/articles/2690385

比推快讯

更多 >>

下载比推 APP

24 小时追踪区块链行业资讯、热点头条、事实报道、深度洞察。

邮件订阅

金融科技决策者们都在看的区块链简报与深度分析,「比推」帮你划重点。