You are viewing a single comment's thread from:

RE: EOS finality

in #eos6 years ago

I think i just found the answer myself. Here: https://eosio.stackexchange.com/questions/445/how-long-on-average-before-a-transaction-included-in-a-block-is-final-and-irreve/455#455?newreg=e56eee173831404889d38c06b166a94c

Until BFT messages are deployed and working, the DPOS side of BFT-DPOS will reach finality for a transaction 180 seconds after it is included in a block. This is assuming a nominal network conditions with 21 producers.
The math to arrive at this number is that, each block must be "pre-committed" to by 2/3 + 1 producers in order to be eligible for "commitment" which also requires 2/3 + 1 producers. In a nominal 21 producer network (where each producer creates 12 consecutive 0.5 second blocks), this works out to 180 blocks for minimal "pre-commitment" and another 180 blocks for actual "commitment" before finality. 2 * 180 * 0.5 seconds === 180 seconds.
The likelyhood of a transaction reaching finality goes up considerably after the pre-commit phase but if you need chain level guaranteed finality, that is 180 seconds.
Once BFT messages are rolling, the minimum time to finality would be governed by how fast the 21 producers can distribute and collect the necessary pre-commit and commit signatures explicitly.