搜索
首页 / 公司新闻 / Filecoin链上中断事件,一文回顾解决它
返回

Filecoin链上中断事件,一文回顾解决它

浏览次数:110 分类:公司新闻

2020年12月19日,Filecoin网络发生了链上终断,这代表着在一个周期时间内能够建立新的区块,但矿工们没法就新块达成一致,由于每一个人测算的标值都不一样。归功于全部小区组员、矿工和开发人员的快速响应——在4钟头内公布了一个修补计划方案,以后网络在7小时内完成了彻底恢复。文中详细介绍了此次事情碰到的难题、终断产生危害、快速响应及其下面的工作中。

Filecoin网络

故障原因

故障发生的根本问题是对存储矿工参与者实施方案中的对象映射进行潜在非确定性的迭代。参与者是在Go中进行的。对 Go的映射进行遍历是已知具有不确定性的,参与者使用一种模式,即在进行迭代对迭代结果总是进行排序。不幸的是,在对两个这样的映射进行排序时使用的比较函数出现了错误,导致排序无效。因此,不同的节点以不同的顺序处理映射条目,导致了不同的结果和Gas消耗量。

这一代码路径实际上只有通过以下方式才能实现:

(a)单个矿工声明同时终止多个扇区;

(b)单个矿工同时恢复多个分区的故障。

在这一点之前,这两种路径都没有在主网中实践过以多个扇区/分区作为数据来暴露非确定性。中断是由多个扇区同时终止引发的。

带来的影响

最重要的是,在中断期间没有丢失任何数据。虽然无法挖出新块且暂时中止了网络上的交易,但一旦网络恢复运行,所有存放在存储提供者处的数据都是安全的且可以随时使用。此外,要注意到的是Filecoin协议的规范规定,即使在链上中断的情况下也可以检索数据。因此,虽然在事件发生期间无法进行链上交易,但Filecoin网络的核心功能依然完好。此外,所采取的修复措施确保了挖矿业务本身不会因中断而受到惩罚;相反,惩罚被暂时中止以优先考虑并鼓励网络恢复。

Filecoin生态

快速响应

发现问题、确认问题、修复故障和重新部署的速度十分迅速:

事件发生15分钟内,自动监测触发警报;

30分钟内,矿工和实施方案开发者应声汇合开始解决问题

4个小时内,开发者确认并发布故障修复方案

7小时内,足够多的节点采用了该修复方案并通过多数共识算力使网络恢复正常

对于一个年轻的分布式网络来说,这是一个令人难以置信的快速响应。即使是成熟的区块链也时常会遇到链上中断和分叉的情况,Filecoin解决此次事件的时间与已经运行了几年的链相差无几。整个社区应该为这次事件的处理速度感到骄傲。

只有通过世界各地的多个团队协同工作和共同努力,才有可能实现故障的修复。整个生态中的各方合作共同达成了这一目标:矿工们发现并报告了这一问题,并提请开发者注意;工程团队协调开发并发布了一个经过同行评审的补丁,以解决根本问题,同时通过社区渠道沟通这一修复的状态;全球各地的网络参与者开始应用该补丁,并尽快使网络重新上线。虽然希望此类紧急的事件不会重复发生,但Filecoin生态内参与和关注度给人们带来了深刻的印象。

下面的工作中

Filecoin生态

搭建区块链如同搭建火箭弹一样,是比较复杂的技术性,难以在第一次尝试时就把全部事儿都做得极致。如同真真正正的火箭弹一样,事儿很有可能会以出乎意料的方法打错;当这类状况产生时,关键的是要有基础设施建设来尽早处理这个问题,将其危害降至最少,并降低再次出现的概率。

 

因此,好几个精英团队已下手撰写和实行过后剖析,以明确对参加者/lotus的检测普及率及其对网络基础设施建设/通讯的报警和难题升級的附加改善,来协助降低将来的这类状况的产生。

 

谢谢Filecoin小区的细心、辛苦工作和资金投入,使此项新技术中的难题持续被处理。伴随着每一个难题的发觉和处理,网络进一步完善并变成平稳、靠谱和承受过磨练的服务平台。

标签:Filecoin

点击取消回复

    分类

    在线客服x

    客服
    顶部 回到顶部