Author:BREAD
Compiled by: Golem, Odaily Planet Daily
Editor's Note: In his new article "Possible futures of the Ethereum protocol, part 1: The Merge", Ethereum founder Vitalik mentioned the areas and reasons where Ethereum still needs technical improvements, and the path forward, with the top priority being to change the final block finality from 2-3 epochs (~ 15 minutes) to within a single slot (~ 12 seconds). So what exactly is this finality that Vitalik is so focused on? How is it implemented in Ethereum and L2s?
Crypto researcher BREAD's article "WTF is Finality?" explains the concept of block finality and the implementation process through analogies. Odaily Planet Daily has compiled the following, 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 - from pouring (initial confirmation) to initial setting (multiple confirmations), it becomes increasingly difficult for the initial block to be judged as "false" until it fully hardens (finality). Once it reaches the end, it's almost impossible to change.
The corresponding sequence in the blockchain is:
Submitted > Confirmed > Finalized
If you want to further understand the methods, content and reasons for finality (in the Ethereum environment), please continue reading.
What is Finality?
Let's try to understand some of the structure around this concept and understand it. Here's an explanation of finality and related concepts:
- Slot (also called Block Time): It may be better to call it Block Time, as it is the time allotted 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 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 properties, this term is not used uniformly across different chains, so it's best not to assume the same standard in all cases. In the Ethereum ecosystem, finality is achieved when 2 Epochs have passed (~ 13 minutes); in Optimistic L2s, it takes until the fraud dispute period has passed (~ 7 days); in zk L2s, due to the guarantees provided by the validity proofs, there are two points of disputed finality: local finality (when the proof is generated on the L2 [~a few minutes]) and global finality (when the proof is published to Ethereum and completed there [~ 13 minutes]).
- Block Reorganization ("Reorg"): This is when blocks that were previously considered part of the chain are no longer seen as valid, and a new chain is formed. This is usually accompanied by penalties.
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've 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 (Checkpoint Blocks) until that checkpoint block gets 2/3 of the votes from the staked ETH;
- 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 the finalized blocks, no longer affected by simple block reorganizations.
For L2s
L2s are 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 Ethereum's Future?", 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 the validity proofs are mathematically supported, and the mere generation of the proof means it is correct. So once a zk L2 generates its proof, the L2 state can be considered finalized without waiting for the proof to be published to Ethereum and settled there. However, this still carries risks and trust assumptions, which can be judged based on one's own risk tolerance.
- 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 Optimistic L2s, the opportunity to challenge transactions still exists until the 7-day challenge period is over. This is a trade-off made to reduce the computational requirements for proof generation.
L2 networks can have local finality in some cases, but generally 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 Bitcoin's PoW mechanism, there is no concept of finality, because for it, anyone can produce the longest chain and become the main ledger. This means that, although impractical, as long as there is enough computing power, the Bitcoin history of the last day, week, or year can be rewritten.
However, although this method is costly in terms of resources and time, and not very practical to actually implement, it does create 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've learned how finality is achieved in PoS chains, and that it requires a significant amount of work. So why do we need to 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 confidently determine that it will not change, which gives the ecosystem participants confidence in the "true state" of affairs. For example, with large transfers and loans, once users are confident that the system cannot change without extreme, out-of-protocol intervention, this will give them 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 deemed permanent, this means that the participants in the ecosystem only need to wait for this settlement time, whereas in a PoW (Proof-of-Work) system, this moment never arrives, and it is entirely dependent on individual subjective judgment.
- Reduced Attack Surface: As mentioned earlier, there are some MEV opportunities on PoW chains, and PoW chains have only solved the "Nothing at Stake" problem, where anyone who engages in malicious behavior against the system may also face losses. But in a PoS (Proof-of-Stake) chain, if you are a validator and try to change a finalized state, you must violate the protocol rules, and thus face the risk of your .
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 s in the system hardening like concrete, and eventually they become as solid as a rock.