LOADING...
LOADING...
LOADING...
当前位置: 玩币族首页 > 币圈百科 > Filecoin网络已升级至 v12,可提升网络同步性能

Filecoin网络已升级至 v12,可提升网络同步性能

2021-05-08 FilCloud 来源:区块链网络

2021 年 4月 29 日,Filecoin 网络升级到了 v12 版本。此次升级引入了第 4 版的 spec-actors,specs-actors 实现是指定 Filecoin 协议规则的一组内置 actors。新版本的 specs-actors 被设计为具有更高的性能,从而加快了块验证时间。

来自 lotus、venus 和 forest 的 Filecoin 核心开发者聚集在一起,在短短几周内实现并发布了这次升级——全球各地的节点运营人员展示了他们响应升级的时间,迅速将这些性能改进带到整个网络。



●升级动机●

对于所有区块链项目来说,确保验证一个块所需的时间小于生成块的频率是很重要的。在 Filecoin 网络中,每 30 秒就会产生一个区块,所以每个块的验证时间小于 30 秒是非常重要的。

当然,区块验证取决于各种因素:节点的硬件规格、链数据库的大小、节点上运行的其他进程等等。

在 v12 升级之前,质量中等的节点运行平稳,区块验证远低于 30 秒。然而,速度较慢的节点,以及保留完整链历史的节点(因此拥有非常大的数据库),验证时间更长,从而使它们有在速度下降的情况下不同步的风险。

尽管大多数拥有快速硬件和较小链数据库的矿工没有受到影响,但生态系统的其他重要成员,包括交易所和存档节点,会遇到一些减速和偶尔同步问题,会对整个网络产生负面影响。

同步速度缓慢的原因之一是扇区代码在处理新创建的节点时效率低下。在过去的几个月里,该网络经历了一些垃圾信息浪潮,从而在链上创建了矿工,产生了过多的空矿工条目。

这为显著提高性能提供了一个简单的机会,因为减少处理空矿工所花费的时间可以大大加快块验证时间。在 v12 网络升级中推出这一改进还可以主动阻止未来的 CreateMiner 垃圾信息从讨厌变成速度较慢节点的攻击向量。



●性能提升●

为了理解 v12 中引入的性能改进,我们需要了解系统的一些细节。Filecoin cron actor(地址为f03)是网络在每个时代运行的系统 actor。它的存在是为了运行状态转换,以保持 Filecoin 网络平稳、正确地运行。

Cron actor 每 60 个区块高度(30分钟)处理一次矿工 actor,以验证矿工对要检查的部分扇区是否有正确的存储证明。正是通过 cron actor 的处理,Filecoin 协议才能确保其核心理念:网络作为一个整体,每 24 小时检查 Filecoin 上的整个存储,并自动检测和惩罚任何丢失或损坏的数据。

在网络 v12 之前,cron actor 将为每个单独的矿工 actor 执行此处理。Filecoin v12 更改了cron actor,只对需要它的矿工 actor 执行此处理。如果一个矿工 actor 正在积极地证明存储,则需要 cron 工作。

具体来说,这些条件中的任何一个都要求每 60 个区块高度需要一个 cron 工作:

具有活跃的 PreCommit

具有活跃的扇区

有质押的奖励

不满足这些条件的矿工扇区在 cron 工作期间没有必要的工作要做,可以安全地跳过。特别是,新创建的矿工节点不会立即请求 cron 工作,它只有在第一次开始向网络保证存储时才会得到一个。

在这一优化开始生效后,Filecoin 网络已从每 60 个区块高度处理约 375000 个矿工到现在的 2000 多个区块高度。这使得平均区块同步时间快了一倍左右,每天的状态快照大小减少了 20 多 GB,几乎提高了 2 倍!

节点运行商已经看到了平均和最大区块同步时间的显著减少,并且几乎完全消除了不同步的大型存档节点实例。

v12 升级后减少了同步时间:

v12 升级后减少了不同步的实例:



●运行 v12●

网络 v12 升级(引入了v4 actor),在 Lotus v1.8.0 和 venus v0.9.5 中发布。Lotus 团队在较短的时间内发布了这个版本,从发布到网络升级阶段只有大约 48 小时,这是所有节点运营商必须完成升级的最后期限。

对于 Filecoin 社区来说,能够执行快速升级是很重要的,因为关键的安全问题可能需要在短时间内修复。为应对此类事件,在 2020 年 9 月的太空竞赛中,网络经历了各种“war game”场景,就在主网升空前不久。

社区在 48 小时内轻松地升级到 v12,证明其在未来需要时能够采用快速升级的能力。这样的快速周转依赖于实现 Filecoin 协议的团队和各种节点运营商(包括存储矿工、存储客户端和交易所)之间的有效沟通通道。

为了让每个人都了解情况,Filecoin 社区工程师在社区论坛上宣布了升级细节,并通过多个平台通知来更新 Filecoin 网络状态页面。开发团队随后提供了相应支持,以确保每个人在多个支持渠道(包括论坛、Slack渠道等)上顺利及时地升级他们的节点。

在较短的时间内更新版本,需要严格的测试和发布过程。Lotus 团队可以使用过去几个月开发的新版本检查表来实现这一点。此外,为了响应社区的反馈,Lotus 团队谨慎地确保在这样一个强制性的版本中未经测试的可选功能。

相反,网络升级更改是在 Lotus v1.6.0 之上发布的,Lotus v1.6.0 是最新的稳定且经过良好测试的版本。对于那些想获得最新功能的冒险者来说,提供了一个候选版本 Lotus v1.9.0-rc1,它包含了网络升级的变化和较新的功能。



●感谢大家●

实现快速升级并提供显著的性能改进并不容易!这要归功于我们收到的反馈和我们的努力。正是由于在过去几个月里收到的反馈和改进,核心开发人员才能够实施、测试和发布高质量的代码,改善 Filecoin 网络。

此外,Filecoin 社区中各种节点运营商的持续参与、专门支持和快速响应确保了网络在需要时能够快速升级。

End

非常感谢您对 IPFS&Filecoin 项目的持续支持。我们很高兴继续与您一起,为人类信息建立一个强大的,去中心化和高效的基础。

FilCloud 帮你迅速了解 IPFS 领域的热点技术和应用公众号:filcloud

—-

编译者/作者:FilCloud

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

LOADING...
LOADING...