Introducing Instant Finality

In the next release, we will improve the new fork rule choice which makes blocks finalized instantly. The enhancement is achieved because in a normal scenario (99% of the time), we can guarantee there is no fork block has enough votes (fork block means block with different block hash).

There are four scenarios we can guarantee:

  • The 2nd block is in the next timeslot of the 1st block which is finalized.

  • The 2nd block is in the next timeslot of the 1st block which is produced and proposed at same time.

  • The 2nd block is the re-proposed block having valid lemma2 proof, and 1st block is finalized.

  • The 2nd block is the re-proposed block having valid lemma2 proof, and 1st block has same produced and proposed time.

The image below illustrates 2 typical cases for 2nd block to be finalized. For each case, the 1st block must be finalized or have same produced and proposed time slot.

For more technical details about Multiview and lemma2, please refer to this posted topic:

Reduce transaction time

Normally, when transaction is confirmed by a shard block, beacon will need to wait one more shard block to confirm the previous shard block. Also, shard chain will wait one more beacon block to confirm the previous beacon block. This results in the flow for cross-chain applications taking up to 5 timeslots (~3 minutes) to finish.

With this new feature, we expect that there will be a significant reduction in our transaction flow, including trade, shield, and unshield tx. By applying Instant Finality, shard block is created and confirmed instantly by beacon. Also, beacon block is created and confirmed instantly by shard. Combined with other optimizations, the new flow is improved to only take 2 timeslots (~ 1.5 minutes) to finish.

In other words, when users make a trade on Incognito exchange, they will need to wait only 1.5 minutes to receive their asset back in the wallet, instead of more than 3 minutes as usual.

11 Likes

Is timeslot here different than block time (~40 sn)? If not, 2 timeslots ~ 1.33 min? Well ~1,33 is also ~1.5 :slight_smile: but I want to be sure. @0xkumi

Yes, there is no difference. 1 timeslot is 1 block time. The exact time for 2 timeslots is 80 seconds.

3 Likes