FIL Fast Finality(F3) Mainnet is about to launch

robot
Abstract generation in progress

Original author: FIL Network

FIL Fast Finality (FIP0086: F3, Fast Finality in FIL) is one of the most transformative upgrades to the FIL Consensus layer since Mainnet launch. After nearly two years of intensive research and development, F3 is now ready for Mainnet deployment and is expected to bring groundbreaking progress to the entire ecosystem! By reducing the termination time from about 900 Block Heights to only about 2, F3 brings comprehensive and substantial benefits:

Faster transaction confirmation: Token holder and Dapp users will see the transaction completed in minutes instead of hours.

Enhanced Cross-Chain Interaction Experience: Oracles and bridges will complete transactions and state changes faster. Imagine, in the future, Dapps will be able to seamlessly publish storage transactions from other chains to FIL and receive confirmations within minutes after the data is successfully stored in FIL!

More efficient lightweight user end: Node operators such as RPC providers and storage providers can use lightweight user end to improve accessibility.

Simplified storage provider data storage process: F3 simplifies the data storage process of storage providers without the need for additional hardware or operational changes. Storage providers using SP user clients such as Lotus Miner, Venus, Curio, or participating in the Ramo network can significantly improve data storage efficiency. By using F3, the storage transaction release time is shortened by more than 2 minutes, enabling storage providers to achieve faster data storage processes and provide optimized SLA performance for users.

And more benefits!

Changing the Consensus protocol of the real-time network is not easy. To ensure a smooth and secure transition to the Mainnet, this change has undergone rigorous review and multiple rounds of testing in the calibrated network. Although F3 was initially designed for the nv24 upgrade, two key issues were later discovered in the experiments. These issues have now been resolved, and the fix is being validated in the calibrated network.

Next step

The F3 team is now conducting the final stage of preparation and testing on the Mainnet. This includes deploying the updated protocol under production traffic and following the launch testing plan. To provide more visibility, we have also released two F3 monitoring dashboards (Mainnet, calibration test network) for the community to track progress, monitor block finality, Node performance, etc. If you want to receive the latest test updates, please subscribe to this forum or join the #fil-fast-finality slack channel.

Node Operator Precautions

When we enter the final passive testing phase on the Mainnet, it is important to understand the bandwidth usage patterns of F3. These patterns are mainly driven by two key factors:

Message volume: F3 needs to listen to the opinions of participants who control at least 66% of the network power in order to make decisions.

Message size: The more Blocks that need to be processed, the larger the message.

👋🔔Expected bandwidth usage during Bootstrap period

During the bootstrap phase, F3 must complete all Block Heights since the last termination, which is about 900. The termination of this extended chain will result in a temporary peak in bandwidth usage, typically lasting 5-10 minutes, and then stabilize to the baseline level.

Other known high-bandwidth scenarios

F3 achieves finality within the so-called 'instances': you can think of an instance as a meeting where everyone attends to make decisions. At least 66% of the attendees need to be present for the meeting to adjourn. After F3 bootstrap, each instance typically contains a collection of Blocks with several Block Heights during normal operation. This is because F3, as the name suggests, is fast-finalizing and can finalize a collection of Blocks within 2 Block Heights in most cases.

However, in some cases, the final determination of F3 may lag behind the progress of the chain. For example, it may take a long time for a "meeting" to end due to lack of participation or network connection issues. As Filecoin's chain continues to rise, instances that occur after longer instances now require longer chains to complete. A longer chain means there will be larger messages, as each message exchanged as part of the F3 instance contains information about the eventual completion of the chain. Larger messages will result in a significant increase in bandwidth usage, but once the F3 instance catches up with the speed of the chain and completes the block set within the recent block heights, the bandwidth usage will drop to the baseline.

If you find that the bandwidth usage related to F3 testing unexpectedly remains high for a long time, please collect logs from your implementation, especially logs from the F3/gpbft and F3/certexchange log levels, and share them in the #fil-fast-finality Slack channel. The F3 team will actively monitor the performance and work with you to investigate and resolve the issue.

🏁F3 Start

In the next 2-4 weeks, we will continue to collect data on the reasonableness of the F3 implementation through passive testing. Our current plan is to launch F3 using nv25.

While we are still waiting for final data to confirm if F3 is ready, the F3 team plans to propose an off-cycle upgrade to nv25 for FIL implementers and core developers. If there are no critical issues identified during the final stage of testing, we will propose the following recommendations for the release of F3:

Early December 2024 - Release the calibrated nv25 upgrade and deploy the final code of F3 (F3 has been activated and running)

Mid-December 2024 - User-side release of Mainnetnv25/F3 activation Block Height set

January 2025 - Mainnetnv25/F3 Activation

We will keep you updated on the progress at any time and provide updates to the community when there are any changes to the plan. Thank you for your strong support for this exciting upgrade!

You can follow the FilOz blog and Twitter to get the latest updates on the unveiling of Finality.

Special thanks to other F3 core implementers: Kubuxu, Masih, Stebalien, annorth, BigLep; other Lotus implementers rvagg and Forest implementer Hailong, as well as ruseinov, thank you for your hard work in bringing F3 into real life.

More resources

FIL Foundation: How F3 Changes the FIL Network

MasihDerkani: Fast, Final Determinism: Simplified Bridge to Other Networks

Protocol Labs Research: F3 and gossip pbft: fast finality of the longest chain protocol

Github

Slack: #fil-fast-finality

View Original
  • Reward
  • Comment
  • Share
Comment
0/400
No comments