Blockchain Finality in a couple of paragraphs.🚀 In classical blockchains like Bitcoin, there's no guarantee that a transaction included in a block won't be reversed later. There’s only a probability. For example, after two blocks follow the one with your transaction, the chance of reversal becomes negligible (though still >0). Bitcoin has
no finality, only probabilities. There can be multiple chains of blocks (forks), and the rule is to pick the longest one. However, there’s no guarantee the longest chain now will remain the longest in the future, and a shorter chain could catch up.
⚠️ This lack of finality creates significant challenges. For instance, if there's a blockchain fork, an on-chain trade could be reversed, and your account balance would revert to its previous state, making the trade disappear. This is inconvenient, to say the least. That’s why most Layer 1 blockchains seek ways to introduce finality, ensuring that once a transaction is recorded, it stays there for good.
🔍 How do they achieve this? By combining traditional consensus algorithms (PBFT, Paxos…) with
open leader selection , which I covered briefly
here. Remember, Bitcoin’s true innovation wasn’t the blockchain itself, but
Open Leader Selection, which allows anyone to participate as a transaction validator!
🗳️ Those old-school algorithms were based on a voting procedure. In decentralized systems, there's no central authority to count votes, so participants coordinate votes on a pairwise basis to reach consensus. This approach isn’t fast with many participants, but it offers finality—once enough participants vote, the block is finalized and can't be reversed (assuming there aren't too many misbehaving nodes, and the voting process isn't overly lengthy).
⚡️ Modern blockchains combine innovative leader selection methods with voting processes. In Proof of Work, you propose a block if you have enough computing power, whereas in Proof of Stake, you’re selected randomly based on your account balance. A limited number of randomly selected participants then vote to finalize the block.
💎 A prime example is
Algorand, boasting one-block finality through randomized leader selection, followed by TWO subsequent selections of validator subsets, and TWO rounds of voting to finalize the block. The idea is that randomly selecting subsets from a large validator pool ensures the subset is representative of the entire set, containing a similar percentage of “good” participants who follow the protocol.
⚖️ In
Ethereum, there is only ONE round of voting, but it also uses so-called "economic finality." After voting, the entire network confirms the block, making attacks impractical because they’d require control of over 33% of all staked ETH (I'll explain why specifically 33% another time). This process takes a bit longer than Algorand, with finality occurring after 32 blocks, but it's still quite fast.
🧩 Achieving finality in blockchains is a bit of a balancing act—it involves some pre-Bitcoin approaches that may seem to contradict the decentralized spirit of blockchain. But as long as it doesn’t lead to centralization and the network remains open, it’s a step in the right direction! 🚀 #blockchain101