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社区的耐心,辛勤工作和投入,这种新技术的缺点不断得到解决。随着每一个问题的发现和解决,网络进一步成熟,成为一个稳定、可靠和经飞行验证的平台。 —- 编译者/作者:浙江云储 玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。 |
官方版块--回顾Filecoin网络12月中断事件
2021-01-19 浙江云储 来源:区块链网络
LOADING...
相关阅读:
- 报告–挖矿比特币新闻2021-01-19
- IPFS各矿商挖矿FIL币排名数据统计表2021-01-19
- Chromium、Opera、Firefox等主流浏览器支持IPFS落地应用fil币价破千上万2021-01-19
- 链上数据显示机构都在投入比特币2021-01-19
- 关于Filecoin合规合法性2021-01-19