Finality in Blockchain
What the concept means, and how it impacts blockchain
Have you ever sent a cryptocurrency transaction and wondered why it wouldn't show up in your wallet or exchange account before a certain number of block confirmations happened?
If yes, you've knowingly or unknowingly considered the question of finality. But what does that even mean?
Looking up finality in the dictionary, you will find:
1 a: the character or condition of being final, settled, irrevocable, or complete
1 b: the condition of being at an ultimate point especially of development or authority
2: something final especially : a fundamental fact, action, or belief
A non-financial example for finality is age. Once you turn 18 (at least in most countries), you're an adult, and there is no going back. You might still wonder.
What's finality in finance?
It's helpful to explore finality in the world of traditional finance to understand why it matters for blockchain. The finality that financial institutions are most interested in is settlement finality. It's critical because the longer it takes to settle a transaction, the higher the risk that something happens in-between.
“Finality of settlement ensures that transactions …will, at some point, be complete and not subject to reversal even if the parties to the transaction go bankrupt or fail” — DUSK Network
When a platform or payments network doesn't provide finality (assurance that transactions are settled), it will always mean higher systemic risk for all participants. Therefore, in traditional markets, there are a variety of standards and legal frameworks requiring settlement finality by so-called financial market infrastructure providers.
In Europe, the settlement finality directive guarantees final settlement regardless of whether sending participants have become insolvent or revoked orders. This is crucial to avoid any ripple effects. As you can imagine, one supplier will often rely on their clients paying before they can pay their staff.
Even in traditional finance though, finality isn't always immediate. Let's explore using two examples.
- Buying a new phone with a credit card: While it might look like money is changing hands immediately, the merchant might have to wait for days until they receive the money from the credit card company. In the meantime, the transaction can still be reversed or canceled.
- Buying a new phone with cash: any purchases with cash are immediately settled and final.
What about Finality in Blockchains?
On Blockchains, we're constantly transacting. These transactions can be monetary value, votes, transfer of ownership, and more. Yet particularly when we transfer value in a trustless system, we want to have the assurance that our transactions are final and can't be reversed.
In the case of blockchains, that means that well-formed blocks can't be reversed or revoked once they have been added to the blockchain.
Note: not all well-formed blocks make it to the blockchain. Sometimes when miners mine the same block simultaneously one block is orphaned and doesn’t make it to the chain despite being perfectly valid. Read more on that here.
Finality is vital in blockchain consensus protocols, but it's not always immediate. That's why you have to wait a certain amount of confirmations before transactions are considered final.
Broadly we differentiate between two types of finalities in blockchain protocols.
When speaking of probabilistic finality, we're referring to chain-based finality. That is the probability that a transaction can't be reverted. It increases the more blocks are added to the chain. The deeper the block with your transaction is in the chain, the higher the chances that the block is on the longest chain, the chain that nodes will follow.
Absolute finality is the type of finality provided by pBFT (practical Byzantine Fault Tolerance) based protocols such as tendermint. When transacting on such a protocol the transaction is immediately considered finalized as soon as it’s included in a block and added to the blockchain.
In pBFT a leader node proposes blocks, and once sufficient other nodes (usually a 66% majority) approve it’s added and final.
White absolute and probabilistic finality are relying on the architecture of the consensus protocol, economic finality is a financial incentive to keep attackers from trying to revert transactions. The idea behind economic finality is that at some point it becomes simply too expensive for anyone to revert the system. This can happen in both probabilistic and absolute systems.
In Proof-of-Work Chains
In Proof-of-Work chains nodes follow the rule of the “longest” or heaviest chain to help them determine consensus.
In practice when two miners broadcast the same block at the same time, two different paths emerge. New blocks are added until one chain is longer than the other. Usually, that happens within one or two blocks. Once the longest chain is established it’s officially accepted and transactions on the other chain are rejected.
On Bitcoin users have to wait for 6 block confirmations (roughly one hour) before their transaction is considered final.
Nevertheless, finality remains probabilistic, since there is always a tiny chance that someone attacks the network and manages to reverse transactions. Or as Vitalik Buterin put it:
“Finality is always probabilistic.”
Proof-of-Work networks with sufficiently distributed hashrate are considered pretty safe, but there are still two types of attacks that could impact finality in them:
- Selfish mining: this describes a miner solving a hash, opening a block, and withholding it from the public chain to create a fork that they continue mining until they are ahead of the longest chain. Once ahead it’d be the longest chain and could overwrite the original blockchain. However, by the end of 2021, no instance of selfish mining has been observed.
- 51% attack: once one miner secures more than 50% of the hashrate in any given PoW blockchain they can reverse transactions, and double-spend funds. Ethereum Classic has experienced various 51% attacks, in 2020 three in one month.
In Proof-of-Stake networks
When reading the above on absolute finality, you might think that it’s always preferential. Yet the challenge with the consensus algorithm pBFT that provides this type of finality is that it’s hard to scale and vulnerable to Sybil attacks — an attack where one node operates under various identities.
That’s why many PoS networks are combining their pBFT algorithm with other mechanisms to secure and scale their networks. Below are three examples of how finality is achieved in different PoS networks.
- Casper FFG (One of Ethereum’s PoS implementations) will achieve finality by introducing validators that confirm the validity of the blockchain at certain key checkpoints. This happens roughly every 100 blocks. If 2/3 of validators confirm a particular block it becomes finalized.
- Tendermint (used by Cosmos): provides absolute finality. Any block that receives more than 2/3 of the pre-votes and pre-commits is finalized. This continues infinitely unless more than 1/3 of the validators become unresponsive. Additionally, the network employs slashing to establish economic finality.
- Algorand: On Algorand transactions are probabilistic final as long as less than 1/3 of the stake of the protocol is behaving honestly.
Dangers to finality in PoS networks arise from:
- Nothing at stake attacks: when forks happen; intended or not; the best strategy for validators is to participate on every chain so that they receive their reward regardless. This could potentially enable an attacker to send a transaction, then start a fork of the blockchain from one block behind the transaction and send themselves the money instead of the other person — even with 1% of the total stake the attackers’ fork would win when everyone is validating all chains. This type of attack in PoS systems is usually prevented by slashing and penalizing malicious validators.
- Sybil attacks: one node operating under various identities to undermine the authority in a reputation system. The aim of an attacker is to influence the majority of the network to behave a certain way.
While Finality in TradFi is established by regulatory oversight and intermediaries in Blockchain it’s held up by nodes on the network, validating and constructing the chain. Depending on the consensus algorithm finality can be probabilistic or absolute. The time it takes to finality differs for blockchains.
Finality on Minima
Minima is a Proof-of-Work network that distributes the work among all nodes to reach true decentralization. On Minima there are no leader nodes, every node is equally constructing the chain. This greatly diminishes the chance of a 51% attack. Currently, an attacker would have to convince more than 13,000 individuals to support their chain.
Finality on minima like on other PoW networks is probabilistic. Yet unlike on Bitcoin, you won’t have to wait for 6 full block confirmations (60 minutes). Instead, 3 block confirmations will be sufficient to ensure that your transaction is final. At a block time of 5 seconds, that means within 15 seconds transactions reach finality.