2020年12月19日,Filecoin网络经验了链式搁浅,这意味着在一段时间内,,新的区块可以被建设,但矿工无法就发生的状态告竣共鸣,,每个矿工计较的代价都差异。由于社区成员、矿工和开拓人员的快速响应,修复措施在4小时内宣布,网络在7小时内实现了全面规复。
The Cause/原因
潜在的问题是对存储矿工参加者实现中的工具映射举办潜在的不确定性迭代。脚色在Go中实现。众所周知,对Go映射举办迭代是不确定的,参加者实现了一种模式,即在利用迭代功效之前老是对其举办排序(利用静态阐明强制)。不幸的是,排序两个这样的映射时利用的较量函数中的错误导致排序无效。因此,差异的节点以差异的顺序处理惩罚舆图条目,导致差异的功效和gas耗损。
实际上,只有通过(a)一个矿工声明多个扇区同时终止,可能(b)一个矿工同时规复跨多个分区的妨碍,才气达到该代码路径。(别的两个代码路径到达这一点,但在实践中极不行能)。在此之前,主网中都没有利用这两种路径,没有将多个扇区/分区作为袒露非确定性的数据。暂停是由多个部分同时终止而触发的。
Filecoin参加者的测试涵盖了有问题的代码,但不包罗验证差异测试运行之间确定性执行的机制。Lotus节点实现的集成测试未涵盖终止多个扇区。
Outage Impact/间断影响
最重要的是,在间断期间没有丢失任何数据。固然无法建设新的数据块临时抑制了网络上的生意业务,但存储供给商提供的所有数据都是安详的,而且一旦网络规复运行就可以利用。
另外,需要留意的是,Filecoin协议的类型划定了纵然在链间断的环境下也可以检索数据。因此,固然在勾当期间不行能举办链上生意业务,但Filecoin网络的焦点成果仍然完好无损。
另外,已采纳的修复法子确保挖矿功课自己不会因间断而受到惩罚;取而代之的是,为了低落优先级并勉励网络规复,临时低落了共鸣削减。
Rapid Response/快速回响
首次发明,识别,修复和陈设根基问题的速度也很明明:
事件产生后十五分钟内,自动监控触发了警报
在三十分钟内,矿工和实施开拓人员聚积在一起
在四个小时内,开拓人员确定并宣布了此问题的修复措施
在七个小时之内,足够多的节点回收了此修复措施,以高出大都共鸣的功率阈值,使网络处于规复的阶梯上
对付一个年青的分手网络来说,这是一个难以置信的快速回响。纵然是已成立的区块链也会不时经验链间断和分叉,Filecoin办理这一事件的时间与已经运行了几年的链相当。整个社区都应该为处理惩罚这一事件的速度感想孤高。
只有活着界各地多个集体的配合尽力下才气实现这种苏醒。整个生态系统中的各方举办了协作以实现这一方针:矿工检测并陈诉了该问题,并引起了开拓人员的留意;工程团队举办协调,以针对潜在问题开拓并宣布颠末同行评审的补丁措施,同时通过社区渠道转达此修复措施的状态;全球各地的网络参加者都在尽力应用补丁措施,并使网络尽快规复在线。固然需要如此紧要的事件不必反复,但这是Filecoin生态系统中一个很是令人印象深刻的事件。
What’s Next/下一步是什么
构建一个区块链就像构建一个软件火箭;它们长短常巨大的技能,而且很难在第一次实验中就把一切都做好。正如真正的火箭,问题大概会以料想之外的方法呈现;当产生这种环境时,重要的是成立基本设施,以尽快办理问题,将其影响降至最低,并淘汰其再次产生的大概性。
为此,多个团队已开始编写和执行过后阐明,对actors/lotus测试包围范畴举办改造,以及跨网络基本设施/通信的警报和问题举办进级,以辅佐减轻将来事件。
由于Filecoin社区的耐性,辛勤事情和投入,这种新技能的缺点不绝获得办理。跟着每一个问题的发明息争决,网络进一步成熟,成为一个不变、靠得住和经航行验证的平台。
郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。