What is Blockchain Finality (Types Explained 2019)
Technical terms explained in simple word (with help of cats)
While looking for some blockchain news on the internet, there is too much information noise. The cleaner the content, the more often it is super technical. The most truthful content is the source code :) But even without plunging into the depths of truth and already in the early stages of acquaintance with the industry, new terms will invariably come across to you when mastering new material. Today we will take a look at the Finality, which is closely related to one of the main characteristics of blockchain technology - reliability.
What is Finality?
It sounds like confirmation, but no.
Finality happens after the transaction is confirmed.
Finality is the state of the blockchain, under which the transaction cannot be canceled, reversed or changed by any of the participants in this network under any circumstances. In other words, no one can do anything to the transaction and everything that happened within this transaction remains on the blockchain supposedly forever. That moment when you can be sure your coffee is paid, salary received and is fully at your disposal.
So how long you have to wait after the "transaction confirmed" message until your transaction becomes irrevocable? The finality rate is the amount of time it takes to reach a finality state after a transaction is executed. Depending on the blockchain or context, the final rate is measured in seconds or blocks. Different blockchain has different finality schemes (who knew, right?) so it might take from sub-second to 1 hour to get the required guarantees.
Quite long coffee.
Why Finality is important?
After applying 1 hour waiting on your real-life makes it obvious that short finality time is extreme for businesses. You don't want to wait 10 minutes every time you go shopping in the new store. Just imagine, how much more time it will take to send money to the friend? The financial sector will never succeed in your expectations of speed as a customer after having current sub-second transactions on the traditional market. (How final are they it's another question).
"In order for a real-world business adoption, absolute finality is important because no one wants to take the risk of having assets that might not be theirs because of what a protocol was designed. "
Investors and business owners need guarantees of another level. They can't afford extra risks so every enterprise is targeting to get the shortest finality in their transactions. Especially sensitive for finality rates are businesses with crypto payments.
Though it's not the only important indicator for blockchain success, the faster the finality time, the better.
How does it work?
Depending on the protocol design blockchain achieve finality by various mechanics. There are many mixed variants but to get an overall understanding there are 3 main types mentioned most often.
This type of finality is tricky as there is no actual 100% finality state in real life. After the transaction is executed there are more other transactions confirmed in the same chain and they continue coming. So theoretically it can happen that miners will switch to the alternative chain starting from the block before your transaction happened and it becomes invalid. But the more transactions happen after yours the more resources it will take to change the chain and at some point, it becomes crazy irrational so your transaction probably will be never moved.
The transaction becomes "more and more final" over time as more blocks are mined.
There is a certain time everyone agreed for each blockchain when this probabilistic finality happens which is equal to 99% of finality. For Bitcoin, it's 6 blocks or 60 minutes.
With this one, it's more clear.
Normally blockchains with absolute (or deterministic) finality have not only miners but an extra group of validators and the leaders. The last proposes the block and validators check and approve it. As the block is proposed not by some random guy but by a chosen leader once the block is confirmed, all transactions in this block are immediately considered finalized. If it's in there there's no way out.
This is achieved by the design of the chain and is typical for PBFT-based protocols, like Tendermint or Dexon.
Important to mention that we talk about the type of finality with regards to the blockchain design. Every blockchain is vulnerable to different kinds of attacks and which can lead to loss of the transactions or part of the blockchain. While updating the existing chains or designing new protocols developers tryto improve the security against possible attacks and increase trust in their systems.
Economics finality is based on the idea of stakes and slashing thus mostly related to the PoS protocols. Finality is achieved when it becomes financially costly to revert the block. Validators vote for the block to be included in the blockchain or declined. Conditions of the consensus differ from blockchain to blockchain but regularly about 2/3 of validators are enough to approve the block. All validators who voted against the majority get slashed according to the rules of the chain (lose their stake, get banned from receiving the award for the next period, etc). Usually, the slashing multiplies when diving back to the history what makes it more costly to revert the older blocks.
This type of chains incentives validator voting with the majority. Every time they vote right - they get the reward.
Time to finality in different blockchains:
|Blockchain||Consensys Type||Block Time||Finality Time||#|
|Bitcoin||PoW||10 min||60 min||6 blocks|
|Ethereum||PoW||15 sec||2,5 min||10 blocks|
|EOS||DPoS||0,5 sec||2 sec||21 validator|
|Monero||PoW||2 min||20 min||10 blocks|
|Solana||PBFT||0,4 ms||0,8 ms||2 blocks|
*preliminary calculations of Casper in Ethereum 2.0 vary as it's not implemented to the time the article is published.
If you are interested in more technical information here is some more great material to the topic: