From CryptoWiki


  • From this blog (21-9-2018):

"Once a block is finalized, the canonical chain will always contain that block in the future. In blockchains, liveness means that the chain keeps growing and, furthermore, that valid transactions will eventually be included and finalized."

"Finality is the assurance or guarantee that cryptocurrency transactions cannot be altered, reversed, or canceled after they are completed. The latency level of a blockchain will ultimately affect the chain's finality rate. So, finality is used to measure the amount of time one has to wait for a reasonable guarantee that crypto transactions executed on the blockchain will not be reversed or changed. In other words, they will not be lost.

When it comes to blockchain technology, transactions are termed immutable due to its finality nature. However, most blockchain protocols only show a probabilistic transaction finality — meaning that transactions are not automatically or instantly final but become "more and more final" over time (as more blocks are confirmed)."

Probabilistic vs. provable finality

"A pure Nakamoto consensus blockchain that runs PoW is only able to achieve the notion of probabilistic finality and reach eventual consensus. Probabilistic finality means that under some assumptions about the network and participants, if we see a few blocks building on a given block, we can estimate the probability that it is final. Eventual consensus means that at some point in the future, all nodes will agree on the truthfulness of one set of data. This eventual consensus may take a long time and will not be able to be determined how long it will take ahead of time. However, finality gadgets such as GRANDPA (GHOST-based Recursive ANcestor Deriving Prefix Agreement) or Ethereum's Casper FFG (the Friendly Finality Gadget) are designed to give stronger and quicker guarantees on the finality of blocks - specifically, that they can never be reverted after some process of Byzantine agreements has taken place. The notion of irreversible consensus is known as provable finality."

Ethereum 2.0

"In Ethereum 2.0 at least two third of the validators have to be honest, therefore if there are two competing Epochs and one third of the validators decide to be malicious, they will receive a penalty. Honest ones will be rewarded.

In order to determine if an Epoch has been finalized, validators have to agree on the latest two epochs in a row (= “justified”) then all previous Epochs can be considered as finalized.

If there are less than 66.6% votes (=participation rate) in a specific epoch, the epoch cannot be justified. As mentioned in "Finalization", three justified epochs in a row are required to reach finality. As long as the chain cannot reach this state it has finality issues. During finality issues the validator (entry) queue will be halted and new validators will not be able to join the network, however, inactive validators with less than <16ETH balance will be kicked out of the network. This leads to more stability in the network and higher participation rate."