12

Vitalik talks about block finalisation here, and Vlad also talks about it here.

What is a finalised block? How long does it take to finalise a block? What are the security guarantees of a finalised block?

11

"Finalization" is defined cryptoeconomically; the degree of finality that a block has can essentially be quantified by "how much ETH will other validators lose if this block turns out not to be part of the main chain?" A fully "finalized" block is one where >2/3 of Casper validators will lose their entire deposits if the block ends up being not in the main chain (estimate this at being ~2-20 million ETH depending on how many people stake).

  • Just to be clear, 2/3 is a somewhat arbitrary threshold, and a finalised block can be still reversed? Why not 3/4, or 51%? – Randomblue Feb 14 '16 at 23:09
  • 1
    2/3 is standard for byzantine-fault-tolerance purposes. If you require 3/4, then 26% can collude to prevent finality, and if you require 51% then with 2% byzantine actors plus a network split you can create a scenario where one half of the network finalizes A and the other half finalizes B. A 2/3 threshold ensures that both of these attacks require 1/3 byzantine to pull off, which has been mathematically proven to be as safe as you can get. – Vitalik Buterin Feb 14 '16 at 23:28
  • "has been mathematically proven to be as safe as you can get" -> Source? – Randomblue Feb 14 '16 at 23:29
  • 3
    pmg.csail.mit.edu/papers/osdi99.pdf Second paragraph in the introduction. – A. Frederick Dudley Feb 15 '16 at 0:31
5

In addition to economic finality - i.e. the economic assurance of an invariant, there is also subjective finality: a client's unwillingness to change their mind.

Once a client sees a finality threshold of the security deposits behind some invariant, they can decide never to accept any claim to the contrary. There is no amount of expense an adversary can incur to revert a client's state behind their last finalized state. On the other hand, with sufficient expense an adversary can create two blocks that meet the economic finality threshold.

w.r.t. the fault tolerance numbers. 1/3 is the highest fault tolerance possible for consistency-favouring, asynchronous consensus protocols. This number very doesn't apply to Casper because it favours availability. Moreoever, not participating in order to prevent finality is expensive, something that is not ever captured in traditional BFT analysis. I am quite comfortable with a finality threshold of 80-90%.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.