FIL上周故障事件回顾

[复制链接]
9758 |0
发表于 2020-12-23 11:00:00 | 显示全部楼层 |阅读模式

上周末,FIL出现全网故障。据悉,此次事件是FIL主链由于bug在336459区块高度卡住,使得全网进入无法同步的状态。而全网进入无法同步的状态具体原因主要是源代码中对于deadline map的排序未能按照预先的设计实现,导致ParentReceipts的计算结果可能出现差异,大量节点认为收到的区块与自己本地验证的结果不同,而不予接受。

在出现故障后,FIL 官方人员迅速作出反应,在 Slack 社区发布公告并提出了解决方案。大多数节点由于不确定的行为卡在336459 区块高度,官方找到了根本原因并立即发布了一个新的版本v1.4.0进行修复。

官方发布的v1.4.0版本是建立在v1.3.0之上的,也就是包含了原计划在v1.3.0版本中在343200高度将如期执行的FIP-9提案。该提案主要内容在于免除成功执行WindowedPoSt的baseFee。就是说如果矿工发送WindowedPoSt消息并消息成功执行,系统将会退还给矿工所消耗的gas费用,这将在一定程度上降低WindowedPoSt拥堵的情况,降低矿工提交时空证明的成本。

wk588_com_3rc0urt2i1z.jpg

wk588_com_3rc0urt2i1z.jpg

当日随着大量矿工升级,链已经基本恢复正常。YPOOL团队也在官方公布新版本之后及时做了部署和升级,使瑶池节点回归正常的运行状态,并对矿工们公告了此次网络事故的具体情况。

wk588_com_0svxtjq1qln.jpg

wk588_com_0svxtjq1qln.jpg

其实,在区块链公链项目的实际运行过程中,由于一些bug、失误或恶意人为而出现网络故障的情况是偶有发生的,也往往是区块链项目不可避免的情况,历史上也有很多类似的故障案例:

例如2016年6月,在ETH主网上线一年后,ETH上的一个去中心化自治组织The DAO被骇,造成市值五千万美元的以太币被移动到只有黑客可以控制的“分身DAO”。而DAO去中心化的本质也表示没有中央权力使其可以立即反应,所以最后在2016年7月20日导致了ETH硬分叉。

2016年11月底,在ETH的第四次分叉中,原本这次分叉是为区块链减重,并加入一些避免网络攻击的设计,但是因为沟通疏失,这次分叉短暂造成ETH的两个主要客户端程序Parity 和 Geth 失去共识而产生意外的分叉,但问题在数小时内即被找出并修正。

2020年8月6号,ETH经典遭到黑客第二次51%攻击,在第二次51%攻击中,黑客对4,236个区块进行了大规模重组,试图将价值330万美元的465,444枚ETH经典“双花(double-spend)”,不过最终仅实现了其中的238,306枚ETH经典,价值168万美元。

从这样一些历史事件中我们不难看出,没有人知道可能发生故障的所有情形,也不知道每种故障发生的可能性,发生故障也往往是不可避免的,最重要的是在发生故障之后官方能迅速站出来承认问题和提出可行的解决方案。

FIL作为一个上线两月余的公链项目,其经济模型、技术稳定性方面都还在经历网络规模和时间的考验,需要我们给予更多的耐心。

在此次事件中,官方在全网出现故障的第一时间站出来做了说明并快速提出了解决办法。从官方在Slack、Github等社区交流平台上的交流来看,协议实验室一直很重视社区和生态的发展,也一直在认真听取社区的建议,相信未来FIL生态系统将越发完善,在其基础之上构建的生态应用也将越发繁荣。

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

热门版块
快速回复 返回顶部 返回列表