Finality in Blockchain. Good and Bad.
In this article, we will explore what is Finality in Blockchain and how it can be advantageous or disadvantageous.
What is Finality?
Let us start with a very basic question — What is Finality?
Finality refers to the confirmation of a tx which will not be revoked. For example, if I pay with my credit card at a coffee shop, the tx will not be revoked and the owner will be paid in full.
In Blockchain, finality refers to a tx being confirmed which cannot be revoked or removed arbitarily. This brings confidence amongst the users who can rely on the consensus mechanism. In case of Bitcoin the tx maybe revoked, if a malicious actor is able to accumulate 51% of the stake.
Types of Finality
The first type is Probabilistic, where the system acknowledges that there can be false confirmations under specific circumstances. Ripple uses this method because it ensures fast transactions but relies on trust instead of Blockchain mechanics to determine validity. In chains like Bitcoin, it is recommended to wait for 6 additional blocks before it is considered as complete.
The second type is Deterministic, where the Blockchain will only confirm a tx if there is no doubt about its validity and correctness. The tx is said to be immediately completed when a leader proposes to add a block to the chain and it is approved by a specified number of validators. In chains like Tendermint, which is based on Practical Byzantine Fault Tolerance (PBFT) algorithm such a deterministic finality can be seen.
Finality in Blockchain Projects
In the Cosmos Blockchain, finality is achieved through validators that run a BFT-DPoS based algorithm. This ensures transactions are final and cannot be reverted even if some of the validators misbehave or go offline.
The native algorithm of Cosmos Blockchain is Tendermint which uses BFT (Byzantine Fault Tolerance) to reach consensus. The Blockchain uses a concept called active…