One of the most prevalent elements of blockchain technology is its immutability. Knowing that thousands of nodes verify each transaction before adding them forever to the digital ledger is tempting. However, blockchains are not that immutable. Transactions conducted on the blockchain are not final when confirmed, instead, they have a probability of being reversed. The assurance that transactions cannot be altered or reversed is known as blockchain finality.
So, what is blockchain finality? This article will explain the time-to-finality concept, its importance, and the risks of finality loss within a blockchain network.
Transactions Confirmation Process
Before we get into what finality is, let’s go over the blockchains’ confirmation process. The distributed nature of the digital ledger urges the network to adopt a certain consensus to avoid double-spending and other mishaps. The blockchain confirmation process goes like this:
- A user conducts a certain transaction.
- Miners verify the transaction and add it to a proposed block.
- Miners participate in a certain consensus (usually proof of stake or proof of work).
- The winning miner’s block gets verified by the rest of the network.
- The miner adds the block to the blockchain.
So, transactions become immutable when the block gets added to the blockchain, right? Not exactly. Here come blockchain’s finality issues.
What Is Blockchain Finality?
Blockchain finality is the guarantee that transactions are final. Meaning that they cannot be changed, canceled, or reversed in any way. Some of the most popular blockchain’s finality, like that of Bitcoin and Ethereum, are not instantaneous when the block gets on the blockchain. In fact, they have a probability of being reversed. This probability dies out over time in the time-to-finality concept.
Finality is also the time it takes for a blockchain transaction to be completely final. This puts a strain on blockchain’s mass adoption because no business or enterprise wants to wait endlessly to render the transaction immutable.
And in addition, most centralized traditional systems have this notion of instant finality, which makes users prefer these centralized networks over decentralized ledgers.
Probabilistic Finality
The thing that defines a blockchain’s processing speed is the time to finality. This is the time a transaction takes to be final without the probability of its reversal. Okay, so we know now how transaction finalization doesn’t conclude after the network adds a block to the blockchain. So, how do blocks get final?
In most blockchains, finality comes after the network adds a series of blocks to the blockchain on top of the block in question for it to be final. How is that? Well, let’s consider the following example:
Block A has been verified and added to the blockchain. It is still theoretically reversible at this stage. Then, the network adds Block B to the blockchain after Block A, here Block A becomes safer from rolling back to it or performing an attack on it. The more blocks are added to the blockchain after Block A, the safer Block A is from alteration, and thus it is more immutable.
This is the probabilistic finality, where the probability of reversal decay after each block, however, it is never zero.
Time to Finality
“Blocks to finality” refers to the number of blocks required to make sure that the transaction is not reversal. For instance, Bitcoin has 6 blocks to finality. That means that the network has to mine and add 6 more blocks to the blockchain before the block is irreversible.
“Time to finality” refers then to the time needed in creating the number of blocks. For example, Bitcoin takes 10 minutes to add a new block to the blockchain. If we want to calculate the amount of time needed for a block to be final it will be:
6 Blocks x 10 minutes/block = 60 minutes.
Aside from probabilistic finality, there is deterministic finality. This is where the transaction becomes final instantly upon confirmation. For example, in the Aptos blockchain, just one block is enough to render the transactions final.
Blockchains usually are efficient if they have a high TPS (transaction per second) rate. However, users generally don’t care about TPS. What they care about is blockchain latency and time-to-finality ratio. The questions raised would be:
How much time it would take to confirm a transaction (latency), and how much time it would take to render the transaction final (finality)?
Here are some of the major blockchains based on TPS and time-to-finality.
The Risks of Blockchain Finality Loss
If a block of transactions doesn’t finalize like it’s supposed to, the end-user wouldn’t notice as their transaction would be processed normally. However, the loss of finality leads to some security issues such as chain reorg. Chain reorg is short for chain reorganization and it occurs when two blocks are added to the blockchain at the same time usually due to an attack.
In addition, if finality is not guaranteed, the network will go into an emergency state known as an “inactivity leak” where miners will be penalized for not reaching finalization.
However, blockchain finality is still in its early stages of development, and more blockchains are coming up with solutions to guarantee instantaneous transaction finality.