LOADING...
LOADING...
LOADING...
当前位置: 玩币族首页 > 区块链资产 > 急速7小时|直击Filecoin链上中断事件

急速7小时|直击Filecoin链上中断事件

2021-01-20 1475IPFS 来源:区块链网络

2020年12月19日,Filecoin网络经历了一次大规模的链上中断,因每个区块计算的值不同导致节点无法在结果状态达到共识。值得庆幸的是社区成员、矿工及开发者携手应对,在4小时内发布了修复程序,在7小时内网络完全恢复。

事件发生近一月,官方整理了此次事件的详情,就事件始末发布了本文。

中断原因

底层问题是在存储节点参与者实现中的对象映射上潜在非确定性的迭代。该参与者在Go中实现。对Go映射的迭代是不确定的,参与者在使用迭代之前总是对迭代的结果进行排序(使用静态分析强制执行)。?不幸的是,用于排序的两个映射比较函数中的一个错误导致排序无效。因此,不同节点处理map条目的顺序不同,导致结果和gas消耗不同。

实际上,只有通过?(a)?一个节点声明多个扇区立即终止,或(b)一个节点同时恢复多个跨区故障,才能到达此代码路径。(其他两种代码路径也会到达这一点,但在实践中难以发生)。在此之前,这些路径在主网中都没有使用多个扇区作为数据,从而暴露了不确定性。所以该中断是由多个扇区同时终止而触发的。

Filecoin参与者的测试涵盖了所涉及的代码,但不包括验证不同测试运行时确定性执行的机制。Lotus 节点实现的集成测试不包括终止多个扇区。

中断影响

虽然发生了这样大规模的事件,在中断期间其实并没有数据丢失——无法创建新的区块使网络交易暂时停滞,但存储提供者所提供的所有数据都是安全的。这意味着一旦网络恢复运作,就可以随时使用这些数据。值得注意的是,Filecoin协议规范确保检索数据功能在链中断的情况下依然可以使用。因此,虽然链中断导致了交易的停滞,但Filecoin网络的核心功能仍然完好无损。此外,修复措施的实施确保了挖矿本身不会因停电而受到惩罚;相反,为了优先考虑并鼓励网络恢复,共识削减被暂时搁置。

快速应对

值得注意的是底层问题第一次被发现,识别,修复,及部署的速度:

·?问题发生后的十五分钟内,自动触发了报警

·?三十分钟内,矿工和实施开发者聚集在一起思考对策

·?四小时内,开发者识别了问题并进行修复

·?七小时内,足够多的节点采用了修复方案,从而通过了多数共识的功率阈值,使得网络恢复

对于刚发布主网的分布式存储网络而言,这次应对的速度令人难以置信。即使是已经建立的区块链也会不时经历链断和分叉,Filecoin解决这一事件的时间可以与已经运行多年的区块链相媲美。整个社区应该为这一事件处理的速度感到骄傲。

这一修复只有通过世界各地多个团体的共同努力才能实现。整个生态系统的各方通力合作,实现了这一目标:矿工们发现并报告了问题,并让开发者注意到它;工程团队协调开发并发布一个同行评审的补丁,同时通过社区渠道沟通修复的状态;全球各地的网络参与者都在努力应用补丁,使网络尽快恢复运行。虽然如此紧急的事件不会再发生,但这是一个非常令人印象深刻的展示Filecoin生态系统内的参与和关注。

中断修复后

建立区块链就像是建造一艘软件火箭。它蕴含着许多非常复杂的技术,并且很难初次尝试就做到完美。就像真正的火箭一样,有时候会发生意想不到的错误。当发生这种情况的时候,有合适的基础架构以尽快解决问题可以最大程度地减少影响并减少问题再次发生的可能性。

为了达到这个目的,多个团队进行了事后验收的编写和执行,确定了对参与者/角色的测试覆盖范围以及网络基础设施/通信的警报和问题升级的其他改进,以减少未来可能发生的事件。

由于Filecoin社区成员的孜孜不倦的工作及投入,这项新颖技术的缺点不断得到解决。在发现并解决所有问题后,网络将进一步发展成一个稳定,可靠且“可发射升空”的平台。

—-

编译者/作者:1475IPFS

玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。

LOADING...
LOADING...