I would like to check how many block confirmations are needed to be considered confirmed? Previously there was an answer that suggested 30 blocks (~ 30 minutes) Is this the recommended number? I have also read that tendermint is going to be implemented on tezos which allows instant confirmation have this been implemented?
1 Answer
This depends on what assumptions one makes on the stake an attacker trying to revert a transaction/block has, on the exact question one asks, on the degree of confidence one would like to have, and on further assumptions about the behavior of the network... For a more detailed answer see this blog post: https://blog.nomadic-labs.com/analysis-of-emmy.html.
Suppose we're trying to answer this question: my transaction was included x
blocks ago (that is, there are already x
confirmations), can I now be sure the block with the transaction remains on the main chain? And suppose that the chain is healthy (all x
blocks have no delay, that is, they come 1 minute one after the other). Then the numbers x
of confirmations are as follows:
- 3 confirmations, for 20% attacker stake
- 5 confirmations, for 30% attacker stake
- 12 confirmations, for 40% attacker stake
(These numbers were obtained with a similar analysis as in the blog post, even though they do not appear as such there.)
-
So there is no arbitrary number to take note but depends on how much the attacker is willing to lose?– VinnysonAug 25, 2020 at 18:43
-
1In the above scenario (that is, with a perfectly healthy chain), indeed, the attacker would need to double bake in order to revert the considered transaction/block, so it risks losing its deposit. However, another way to view it, from the user's perspective, is how "valuable" its transaction is: the more valuable it is, the higher should the user assume the attacker's stake is. (But that's subjective, I don't know how to derive concrete and meaningful values for the attacker's stake out of this intuition.)– EugenAug 25, 2020 at 20:30