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