4

Before I get into the question I wanted to point out that I am referring to a specific part of a specific article. You don't actually have to read the article to help with the question but it's here if you're interested.

In that article, two flavors of economic finality are described.

The first one seems to describe PoW, where validators lose money if the block they added does not end up in the final chain:

A block can be economically finalized if a sufficient number of validators have signed cryptoeconomic claims of the form "I agree to lose X in all histories where block B is not included". This gives clients assurance that either (i) B is part of the canonical chain, or (ii) validators lost a large amount of money in order to trick them into thinking that this is the case.

I don't quite follow the second item though:

A block can be economically finalized if a sufficient number of validators have signed messages expressing support for block B, and there is a mathematical proof that if some B' != B is also finalized under the same definition then validators lose a large amount of money. If clients see this, and also validate the chain, and validity plus finality is a sufficient condition for precedence in the canonical fork choice rule, then they get an assurance that either (i) B is part of the canonical chain, or (ii) validators lost a large amount of money in making a conflicting chain that was also finalized.

This second description presumably refers to PoS, but this explanation feels very abstract to me. Can somebody explain this to me in different words?

  • Somebody downvoted this question with no explanation. What is there to even downvote? I literally copy/pasted something from the docs and asked if somebody could clarify. If there is a misunderstanding on my part, please elaborate. – wheresmycookie May 31 '17 at 13:31
  • I am sorry you got downvoted without any explanation. I don't know who did or why, but I upvoted you back to 0 because I think everyone deserves a comment and chance to edit before getting a down vote. I see you are new here (Welcome!) and here are a few recommendations for edits: (1) Pick a title that easily lets people know whether they can help answer your question, like: Understanding the concept of "economic finality" in Proof of Stake (2) Explain your challenge in a way that does not require folks to go read a long doc off site to understand it. – Tesa Jun 2 '17 at 8:23
  • Since you are new here, you might benefit from checking out "How to Ask a Good Question" ethereum.stackexchange.com/help/asking On a separate note, I have been trying to understand Proof of Stake myself, and really appreciated the link you offered in your post, so I'm going to go read it now! – Tesa Jun 2 '17 at 8:28
  • Thanks Tesa, I appreciate the response! (I can go and edit the title as well.) – wheresmycookie Jun 2 '17 at 15:45
4

Economic finality is a concept that is only used in the context of Proof of Stake, not Proof of Work (see the Vitalik quote further below). So, both "flavors" in the article you quoted above are just two different ways of penalizing incorrectness (or maliciousness) in a PoS system and solving the "nothing at stake" problem. But Vitalik makes clear in the paragraph that follows the excerpt you selected that the CASPER protocol is currently based on the second form of economic finality.

And therefore, I have to assume that he's clarifying that second flavor in this March 6 Medium post where he says:

A key goal of Casper is that of achieving “economic finality”, which we can semi-formally define as follows:

A block B1 is economically finalized, with cryptoeconomic security margin $X, if a client has proof that either (i) B1 is going to be part of the canonical chain forever, or (ii) those actors that caused B1 to get reverted are guaranteed to be economically penalized by an amount equal to at least $X. Think X ~= $70 million. Basically, if a block is finalized, then that block is part of the chain, and it is very very expensive to cause that to change.

Proof of work does not really have this; this is a unique feature of proof of stake. The intention is to make 51% attacks extremely expensive, so that even a majority of validators working together cannot roll back finalized blocks without undertaking an extremely large economic loss — a loss so large that a successful attack would likely on net increase the price of the underlying cryptocurrency as the market would more strongly react to the reduction in total coin supply than it would to the need for an emergency hard fork to correct the attack (see here for a deeper overview of the underlying philosophy).

Further down that Medium article, he goes over the details of the sole "finality condition" in CASPER, "which describes when a client can determine that some particular hash is finalized."

In answer to a different post on StackExchange about "what is a finalized block," Vitalik also wrote:

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).

I still don't really understand the difference between the first and second flavors in the excerpt you referenced, but hopefully someone else can clarify that.

  • I'd love to see some kind of answer along the lines of "now you really should wait for 12 blocks for finality, but under PoS you'll only need to wait for X-Y blocks." I'm guessing we don't know these exact variables yet, but maybe someone can speculate? Will we be getting an improvement? – Austin Fatheree Dec 26 '17 at 11:55

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.