经过长时间的研究、实施工作和严格测试,我们激动地宣布,快速终结性性 (Fast Finality, F3) 即将在 Filecoin 主网上线!这一里程碑标志着一段漫长征程的圆满达成,它始于对共识机制的理论研究,历经复杂的协议设计、无数次的白板讨论与开发者投入的大量时间,最终参数也在广泛的被动测试(nv24(https://github.com/filecoin-project/go-f3/issues/213)、nv25(https://github.com/filecoin-project/go-f3/issues/802))中得以确定。它很快将成为现实,并将为 Filecoin 网络带来变革!
F3 的故事始于对如何将更快的最终性引入 Filecoin 独特架构的早期研究。首批研究论文和概念验证由 ConsensusLab 团队 (https://research.protocol.ai/groups/consensuslab/) 创建,随后是技术规范和实现,再到近期在 100% 网络规模下进行的广泛被动测试。每一步都建立在前一步的基础之上,最终形成了一个解决方案,该方案兑现了在 Filecoin 中实现更快、更可靠交易最终性的承诺。
这个曾经看似遥远的目标,现在距离成为网络不可或缺的一部分仅有数天之遥。这不仅仅是一次技术升级;为 Filecoin 网络增加另一种共识机制将赋能构建者,改善用户体验,并巩固 Filecoin 作为尖端去中心化存储基础设施的地位。
🗓️ 标记您的日历:F3 上线日期
🚀 F3 将于 2025 年 4 月 29 日 10:00 UTC(epoch 4920480)在 Filecoin 主网上激活 🚀
F3 在主网上的激活是在 4 月 14 日网络版本 25 (nv25) 成功部署之后进行的,此前进行了广泛的被动测试,这些测试持续证明了 F3 已为主网做好准备 (https://github.com/filecoin-project/go-f3/issues/802)。
在 nv25 激活后进行的 17 轮被动测试之后,我们确定了四个对网络稳定性和性能起到关键作用的 F3 参数调整,并已相应地进行了调整:
QualityDeltaMultiplier:从 1 增加到 8
QualityDeltaMultiplier 延长了 QUALITY 阶段的超时时间,以促进提案在网络中更好地传播,同时保持其他阶段的超时时间不受影响,以维持向最终性 (finalization) 快速且一致的进程。
内部 pub-sub 通道缓冲区大小: 用于在处理前对 pub-sub 消息进行排队的内部缓冲区大小已显著增加,以消除消息在被处理前被丢弃的情况。
这有助于解决因在消息验证和实例启动过程中获取链状态的调用缓慢而导致的消息处理瓶颈。此外,所有 F3 消息都按顺序处理,以保证状态的一致性。增加缓冲区大小允许更多消息在处理前排队,这有助于确保消息不被丢弃,并且系统能够跟上消息的传入速率。
MaxChainLength:从 100 减少到 20
链越长,需要获取和验证的状态就越多,考虑到与链状态交互的响应时间较慢,这可能导致性能问题。MaxChainLength 参数用于限制每个 F3 最终性确认轮次 (finalization round) 中选择的 tipset 数量。通过减小此值,我们可以减少需要获取和验证的状态量,这有助于提高性能,并进一步帮助 F3 跟上消息的传入速率。
HeadLookback:设置为 4
通过将此值设置为 4,我们可以确保 F3 能够最终确认至少落后链头 4 个区块的区块。这有助于实现 F3 在设计目标方面的正确性:与 EC 链(预期共识链)优雅共存。
正如我们在关于通过委托授权加速 F3 主网激活的博文 (Delegated Authority for Faster Mainnet Activation of F3,https://medium.com/@filoz/the-f3-journey-delegated-authority-for-faster-mainnet-activation-of-f3-98f9aa69eb0c) 中分享的那样,我们能够加快主网上的激活时间表,这得益于委托授权 (delegated authority) 机制 (https://github.com/filecoin-project/FIPs/blob/master/FRCs/frc-0099.md),该机制允许我们微调参数并通过合约设置这些参数,而无需等待额外的网络升级。(您可以在此处 (https://github.com/filecoin-project/f3-activation-contract/issues/22) 关注激活步骤。)
🔍 F3 激活后的预期情况
首先,在 2025 年 4 月 29 日 10:00 UTC F3 激活时,需要注意有两个阶段:
引导阶段 (Bootstrap Phase): 在此阶段,F3 将追赶至最新状态。
稳定状态阶段 (Steady State Phase): 初始引导阶段结束后,链将进入持续最终确认的状态。
引导过程预计将耗时约 1 小时 30 分钟,在此期间的带宽使用量预计约为 500 KiB(上下)。在引导阶段完成后,当我们进入 F3 对链进行最终确认的稳定状态时,您可以预期带宽使用量将在 1 MiB(上下)左右。
以下是我们在主网第 66 轮被动测试的引导阶段收集到的指标数据,该轮测试的参数与本次激活所使用的参数相同:
在引导期间,我们观察到带宽使用量约为 500 KiB/ 秒(上下),而在稳定状态下,我们观察到带宽使用量约为 1 MiB/ 秒(上下)。
同样地,我们观察到引导阶段完成耗时约 1 小时 10 分钟(即追赶到区块头),并且在稳定状态下,我们正在最终确认距离区块头 5 个 epoch 的 tipsets(即最终确认时间少于 3 分钟)。
📊 监控 F3 性能
我们开发了几种工具来帮助您监控 F3 的激活,确保您正在参与 F3 并持续监控其性能:
F3 Grafana 仪表板 (F3 Grafana Dashboard):
为您的 Lotus 实例设置好 Grafana 仪表板 (https://lotus.filecoin.io/tutorials/lotus/grafana-dashboard/) 后,您可以导入 F3Dashboard.json 模板 (https://github.com/filecoin-project/lotus/blob/master/metrics/grafana/F3Dashboard.json)。
F3 Grafana 仪表板模板示例图
用户可以将自己节点的指标与 F3 公共仪表板 (F3 Public Dashboard) (https://grafana.f3.eng.filoz.org/public/mainnet) 进行比较。
命令行界面 (CLI) 命令:lotus f3 及其次级命令
🤝 社区支持
F3 团队将在激活期间及之后提供支持。我们鼓励所有存储提供者和节点运营者,若对可能出现的任何日志或问题有疑问,请在 #fil-fast-finality 或 #fil-help 频道中发帖提问。
对于存储提供者,我们也建议您查阅《存储提供者 F3(快速最终性)指南》(Storage Providers guide to F3 (Fast Finality), https://filoznotebook.notion.site/The-Storage-Provider-s-Guide-to-F3-Fast-Finality-109dc41950c180319892cf47eeb1b56d),了解一些您在激活后可能会看到的常见日志消息。
🗺️ 展望未来:从激活到应用
F3 在主网上的激活代表了 Filecoin 的一个重要里程碑,但需要理解的是,这仅仅是 F3 在改善用户体验方面征程的开始。虽然 F3 将在网络上激活运行,但在生态系统合作伙伴通过即将推出的 API 与其集成之前,用户不会立即体验到其全部好处。
因此,我们在第二季度 (Q2) 的重点是准备好 API 并帮助用户集成它。我们接下来的计划是:
您可以在此处 (https://github.com/filecoin-project/lotus/issues/12987) 跟进所有这些工作的进展。这些集成将很快随着 Lotus v1.33.0 (https://github.com/filecoin-project/lotus/issues/13004) 的发布开始推出(后续还会有更多跟进),将快速最终性的切实好处带给更广泛的 Filecoin 生态。
我们想对整个 Filecoin 社区在此过程中的耐心、反馈和支持表示感谢。💙 F3 的实现离不开一群专注的工程师、研究人员和协议设计者的努力,我们现在期待看到 F3 在生态的战略领域得到应用。
【免责声明】市场有风险,投资需谨慎。本文不构成投资建议,用户应考虑本文中的任何意见、观点或结论是否符合其特定状况。据此投资,责任自负。
