Immediate finality

please, can I ask a question regarding finality characteristics of the libra chain?

  1. Is the finality immediate, i.e. is everything is final at the instant it’s written into a block or does it require some number of confirmations i.e. takes some number of blocks before its irrevocably final? in other words, even before a transaction is finally written into the block, can there be a situation where conflict can occur between two transactions, and one has to be rolled back?
  2. are forks possible?
  3. are rollbacks possible?
  4. is the protocol deterministic?
  5. is this the same case with hot stuff, does that also not or have immediate finality? as libra is based on that, I want to understand that if the same property is inherited from hotstuff?



Hi, thank you for your questions.

  1. In BFT consensus protocols, such as LibraBFT, once the consensus protocol makes a decision, it becomes final and non-reversible. LibraBFT requires 3 consecutive blocks that have been certified by a quorum of validators in order to commit the 1st one. Please see for more details.
  2. Given BFT assumptions (at most 1/3 malicious validators), forks are not possible.
  3. No, rollbacks are not possible given BFT assumptions. This would be equivalent to a fork.
  4. LibraBFT is a deterministic BFT protocol, suitable for partially synchronous networks.
  5. LIbraBFT and HotStuff both reach finality via the 3-chain commit rule.
1 Like

Thank you very much for your reply,
So this means that even if three consecutive blocks are required in order for 1st block to be committed , there is no possibility that even 1st block can be rolled back? i.e. there is no conflicting situation ever? So for all practical purposes it is deterministic and even if the transaction is not “immediately final” it is irrevocable as soon as it has made it to the first block, even if the first block is committed after three consecutive blocks?

Once a block reached consensus (first block in a contiguous certified 3-chain), it cannot be reverted under BFT assumptions.


for clarity can this be thought of as “contiguous certified 3 consecutive blocks”
what is the rational behind this approach, why not commit directly as soon as first block is finalised?