NodeReal introduces a major feature, FastFinality, to improve the user experience of the BSC network. This feature will be enabled on testnet first and then on mainnet, if everything goes smoothly on testnet.
FastFinality will bring many changes to the use of the BSC network. Users will no longer need to wait a long time for their transactions to be confirmed. Although it may not be easy to understand, we will take this opportunity to introduce it before it is finally enabled on mainnet.
Block finality is the state in which a block of transactions are considered irreversible and permanently recorded on the blockchain. It means that the transactions in the block are confirmed, and the network agrees that they are valid. Finality is an important feature of blockchain technology as it ensures that transactions cannot be reversed or double-spent.
The finality of Bitcoin is achieved through a Proof of Work (PoW) consensus mechanism. Miners compete to solve complex mathematical problems, and the first miner to solve the problem is rewarded with new bitcoins and the right to add a new block of transactions to the blockchain.
The bitcoin network is probabilistic finality, which means the transaction is never considered a 100% final. However, as more and more subsequent blocks are mined, it will be very difficult to roll back the blockchain. Currently, it takes 6 blocks to consider the finality of a block, since the block time is around 10 minutes, so it will be around 1 hour for a block to be finalized.
On September 15th, 2022, Ethereum mainnet transitioned to 2.0 after the merge, which shifted its consensus mechanism from PoW to PoS. As a result, the block finality mechanism was also changed. We will provide separate explanations for each change.
The block finality of Ethereum PoW is quite similar to Bitcoin. It is probabilistic finality, and also takes 6 blocks to consider finality of a block. But Ethereum PoW has a short average block time, which is around 13 seconds, resulting in an average block finalization time of 78 seconds (6 * 13).
After the merge, Ethereum's consensus mechanism switched to Proof of Stake (PoS). More specifically, it uses Gasper (Casper FFG + LMD GHOST).
Ethereum 2.0 provides explicit finality since Gasper will vote on the target block. For each epoch, validators send and collect votes and it takes two epochs to finalize a block. The average block finality time would be 2.5 epoch times, which equals 960 seconds (12 seconds * 32 * 2.5).
It is quite a long time, and Ethereum has another undergoing research topic: Single Slot Finality, but it is still at an early stage, and would take several years to ship it.
BSC uses PoSA as its consensus mechanism, which means it does not have a voting mechanism and is therefore probabilistic in terms of finality. Binance considers (2/3*ValidatorNum + 1) blocks to be finalized, which is currently 15 blocks.
Then the finalization time on BSC mainnet would be 15 * 3 seconds = 45 seconds.
FastFinality on the BSC network offers users a faster and more secure way to validate transactions. It utilizes a combination of Proof of Stake Authority (PoSA) and Byzantine Fault Tolerance (BFT) algorithms to ensure that transactions are finalized in just a few seconds.
If (2/3*ValidatorSize) or more of validators vote as expected, it will take an average of 2.5 blocks to finalize a transaction, reducing the finalization time to around 7.5 seconds.
FastFinality was enabled on the BSC Testnet on May 17, 2023. If everything goes well on the testnet, it is expected to be enabled on Mainnet around the middle of July.
We will provide updates on the latest progress on the BNB Chain forum.
We also created a post on BNB Chain forum to collect and answer the questions, you may refer: https://forum.bnbchain.org/t/faq-everything-about-fastfinality/1345