Originally from BREAD
Compiled | Odaily Planet Daily Golem(@web3_golem)
Editor's Note: In his new article "Possible futures of the Ethereum protocol, part 1: The Merge" written today, Ethereum founder Vitalik mentioned the areas and reasons where Ethereum still needs technical improvements, and the path. The top priority is to change the final confirmation of the Block from 2-3 epochs (~ 15 minutes) to within a single Slot (~ 12 seconds). So what is the final confirmation (Finality) that Vitalik attaches so much importance to? How is it implemented in Ethereum and L2?
Crypto researcher BREAD's article "WTF is Finality?" explains the final confirmation of Blocks and the implementation process through analogy. Odaily Planet Daily has specially translated as follows, hoping to help readers understand.
Analogy of Finality
Following the tradition of my "WTF is..." series, I like to start with analogies from real life, so that people who don't want to delve into the underlying details can just get the key points. For Finality, we can use the example of concrete hardening over time, as shown in the image:
This is the highest-level explanation of "Finality" in the blockchain, just like concrete - as time goes by, from pouring (initial confirmation) to initial setting (multiple confirmations), it becomes increasingly difficult for the initial Block to be judged as "false", until it is fully hardened (Finalized). Once it reaches the end, it is almost impossible to change.
The corresponding sequence in the blockchain is:
Submitted > Confirmed > Finalized
If you want to further understand the ways, content and reasons of Finality (in the Ethereum environment), please continue reading.
What is Finality?
Let's try to understand some structures around this concept and understand it. Here is an explanation of Finality and related concepts:
Slot (also called Block Time): Perhaps its alternative name Block Time would be more understandable, Slot or Block Time is the time unit given to the system to generate new transaction Blocks and append them to the current chain. For example, Ethereum's Slot is 12 seconds, Base is 2 seconds, and Solana is 0.4 seconds.
Confirmation: This is what happens when a transaction is officially entered into a Block that has been added to the current chain. It is now "confirmed" as part of the ledger, and the number of confirmations will increase as more subsequent Blocks are added to the ledger.
Epoch: Every 32 Slots is called an Epoch. This is a secondary structure in the blockchain, used for delegating roles and responsibilities. Slots are used to build Blocks, while Epochs are used for data propagation, reward distribution, validator selection, etc.
Checkpoint Block: This is the first Block created in an Epoch, used as a reference point to check the history of the chain.
Finality: This is the point at which a transaction is considered irreversibly added to the ledger of a given chain. However, in terms of technical attributes, this term is not used uniformly across different chains, so it is best not to assume the same standard in all cases. In the Ethereum ecosystem, Finality is reached when 2 Epochs have passed (~ 13 minutes); in Optimistic L2, it is necessary to wait until the fraud dispute period has passed (~ 7 days); in zk L2, due to the guarantees provided by the validity proof, there are two disputed Finality moments: local (when the proof is generated on the L2 [~a few minutes]) and global Finality (when the proof is published on Ethereum and completed there [~ 13 minutes]).
Block Reorganization ("Reorg"): This is when Blocks that were previously considered part of the chain are no longer considered valid, and a new chain is formed. This is usually accompanied by Slashing.
The following image attempts to visualize all these terms in a single image to make them easier to understand:
How is Finality achieved?
Above, we have understood Finality and related concepts, so how do they work together? What are the rules?
For Ethereum
Validator Voting: Validators for each Epoch (32 Blocks) will vote on the current and previous Epoch's Checkpoint Blocks, until that Checkpoint Block receives 2/3 votes from the ETH being Staked.
Justified Checkpoint: Once a Checkpoint Block reaches the 2/3 vote threshold, it is considered "Justified".
Absolute Majority Chain: Once two subsequent Justified Checkpoint Blocks a and b are connected by the next Block, the Blocks contained in the first Epoch before a will become Finalized Blocks, and they will no longer be affected by simple Block Reorganization.
For L2
L2 is built on Ethereum, so are they basically the same?
The answer can be both yes and no, as mentioned in the article "Will Based Rollups Have a Place in the Future of Ethereum?", L2s are independent blockchains, but they rely on Ethereum for final settlement. This means their Finality is layered like the chain.
There are two types:
Local Finality: This is the Finality of the L2 itself, and only applies to L2s that use validity proofs (aka zk Rollups). This is because validity proofs are mathematically supported, and the mere generation of the proof itself means it is correct. Therefore, once the zk L2 generates its proof, the L2 state can be considered Finalized without waiting for the proof to be published on Ethereum and settled there.
Global Finality: Once the state is determined, the L2 confirms its local state and generates a proof (fraud or validity), publishes that proof to Ethereum, and then Ethereum confirms the Block containing that proof. Even so, for L2s using Optimistic, the opportunity to revoke transactions still exists until the 7-day challenge period is over. This is a trade-off made to reduce the computation required to create the proof.
L2 networks can have local Finality in some cases, but in general, they must wait until Ethereum has completed the challenge window for the validity proof (zk) or fraud proof (Optimistic Rollups) they have published.
For Bitcoin/PoW Chains
In the PoW mechanism of Bitcoin, there is no concept of Finality, because for it, anyone can produce the longest chain and become the main ledger. This means that, although somewhat impractical, as long as there is enough computing power, the history of Bitcoin can be rewritten for the last day, week, or year.
However, although this method is costly in terms of resources and time, and is not very practical to implement, it does form a meaningful distinction between different systems, and gives rise to several unique types of MEV (Maximum Extractable Value), such as "Longing Attacks" and "Block Withholding". In these cases, miners can choose to produce and hide a Block, then add a subsequent Block, or continuously mine multiple Blocks, creating and capturing unique profit opportunities.
Why is finality needed?
Above, we learned how to achieve finality in the POS chain, and this requires a lot of work. So why do we do this? The answer is that there are some benefits to doing so:
Economic security: The system (and us) can look back at a point and be highly confident that it will not change, which gives the ecosystem participants confidence in the "true state". For example, large transfers and loans, once users are confident that the system cannot change without extreme, out-of-protocol intervention, this will give users confidence to participate in the ecosystem based on this reality. This is also why cross-chain bridges often wait for a certain number of confirmations or complete finality before releasing funds on the secondary chain.
Faster settlement: Because there is a moment in the system where the state is officially declared permanent, this means that the participants in the ecosystem only need to wait for this settlement time, while in a PoW (Proof of Work) system, this moment never comes and is entirely dependent on individual subjective judgment.
Reduced attack surface: As mentioned earlier, there are some MEV opportunities on PoW chains, PoW chains have only solved the "Nothing at stake" problem, i.e. anyone who takes malicious action against the system may also face losses. But in a POS chain, if you are a validator and try to change a finalized state, you must violate the protocol rules, and therefore face the risk of being slashed.
Conclusion
This article briefly popularizes what finality is, just to make people aware that it is a blockchain mechanism that is often used but not deeply understood. The process of finality is like the blocks in the system hardening like concrete, and eventually they become as solid as a rock.