
2021年4月29日,Filecoin网络升级到第12版。此升级引入了specs actors实现的版本4,这是一组指定Filecoin协议规则的内置actors。
specs actors的新版本被设计成更具性能,从而加快了块验证时间。来自lotus、venus和forest的Filecoin核心开发人员在短短几周内共同实施并发布了此升级—跨时区的节点运营商展示了他们的快速响应升级时间,以迅速将这些性能改进到整个网络。
动机
对于所有区块链项目来说,确保验证区块所需的时间小于生成区块的频率是很重要的。
在Filecoin网络上,每30秒生成一个块,因此块验证所需的时间明显少于30秒是至关重要的。当然,块验证取决于各种因素:节点的硬件规格、链数据库的大小、节点上运行的其他进程等。
在v12升级之前,中间质量节点运行平稳,块验证时间不到30秒。但是,速度较慢的节点和保留完整链历史记录的节点(因此具有非常大的数据库)的验证时间较高,这使得它们在速度减慢时有失去同步的风险。
尽管大多数拥有快速硬件和较小链数据库的矿工没有受到影响,但生态系统中的其他重要成员,包括Exchange和存档节点,开始出现一些减速和偶尔出现的同步问题,这对整个网络健康造成了负面影响。
导致同步时间缓慢的原因之一是actors代码在处理新创建的矿工时效率低下。在过去的几个月里,该网络经历了一些垃圾信息的浪潮,在链条上创造了矿工-创造了多余的空矿工条目。
这为显著的性能改进提供了一个简单的机会,因为减少处理空矿工的时间可以大大加快块验证时间。在V12网络升级中滚动改进也积极地防止未来CreateMiner spam从讨厌的变成慢节点的攻击向量。
性能提升
为了理解版本12中引入的性能改进,我们需要了解系统的一些细节。Filecoin cron actor位于地址f03,是由网络在每个时代运行的系统actor。它的存在是为了运行状态转换,以保持Filecoin网络平稳、正确地运行。
正是通过Cron actor的处理,Filecoin协议才能确保其核心保证:网络作为一个整体,每24小时检查Filecoin上的全部存储,并自动检测和惩罚任何丢失或损坏的数据。
在网络版本12之前,Cron actor将对每个单个矿工actor进行此处理。Filecoin版本12更改了Cron actor,使其仅对需要它的矿工actor执行此处理。
如果矿工正在积极证明存储,则“需要”Cron工作。具体而言,这些条件中的任何一个都需要每60个时代进行一次Cron工作:
1)具有活动的PreCommit,
2)具有活动的扇区,
3)具有归属表中锁定的归属奖励。不满足任何这些条件的矿工actor在cron工作期间不需要做任何必不可少的工作,因此可以放心地跳过。特别是,新创建的矿工将不会立即请求从Cron作业,只有在它第一次开始向网络承诺存储时才会获得一份。
在这一优化生效后,Filecoin网络已经从每60个时代处理大约37.5万矿工变成了2000多人。这使得平均块同步时间快了大约两倍,每天的状态快照大小减少了20 GB以上,几乎提高了2倍!
节点运营商已经看到了平均和最大块同步时间的显著减少,并且几乎完全消除了大型存档节点失去同步的情况。
v12升级后减少了同步时间:

v12升级后减少了不同步的实例(以时期为单位):

推出升级
网络v12升级(引入了v4 actor)已在Lotus v1.8.0和venus v0.9.5中发布。Lotus团队在较短的时间内发布了该版本,从发布到网络升级时期只有大约48小时,这是所有节点运营商必须升级的截止日期。
Filecoin社区能够执行快速升级非常重要,因为关键的安全问题可能需要在很短的时间内解决。为了为此类活动做准备,该网络在2020年9月的太空竞赛比赛中(主网启动前不久)经历了各种“竞赛”场景。
社区在48小时的时间内毫不费力地升级到了v12,继续证明了其在将来需要时可以采用快速升级的能力。
诸如此类的快速周转依赖于实施Filecoin协议的团队与各种节点运营商(包括存储矿工,存储客户端和交易所)之间有效的通信渠道。
为了让每个人都能参与其中,Filecoin社区工程师在社区论坛中宣布了升级详细信息,包括升级要点,升级节点以及指向实施发布时间表的链接,并更新了Filecoin网络状态页面带有可订阅的通知。
然后,开发团队提供了响应式支持,以确保每个人都能通过多个支持渠道(包括论坛,Slack渠道等)及时平滑地升级其节点。
在较短的时间内正确实施此类更改也需要严格的测试和发布过程。Lotus团队能够使用过去几个月开发的新发行清单来做到这一点。
另外,为了响应社区的反馈,Lotus团队谨慎地确保在这种强制性发行版中未引入未经测试的可选功能。相反,网络升级更改是在Lotus v1.6.0(Lotus最新稳定和经过测试的版本)之上提供的。
对于需要最新功能的更多冒险用户,提供了候选版本Lotus v1.9.0-rc1,该版本合并了网络升级更改以及较新的功能。
——End——
相关导读
Filecoin Frontier加速营演示日团队介绍系列(上)

2.回复“IPFS”即可获得IPFS项目中文版、英文版白皮书
编辑:星际视界IPFSNEWS 木木
参考链接:https://filecoin.io/


