Block Time and Finality Time Upgrade Incoming

Hey Everyone,

Currently on the Causevest testnet, block times are 2 minutes and there are 10 blocks in between finality checkpoints (your transaction needs to be below 2 voted for checkpoints to be finalized). This means it can take 30-40 minutes (~20 blocks) to go from making a transaction to getting it finalized.

This was done in the early days because we wanted to make it as stable as possible, but now that we’ve come a long way and are getting ready for release, we’re making another pass at these variables. We think the system can handle cutting both of these in half.

That will mean 1 minute block times and 5 blocks per finality checkpoint, so 2 finality checkpoint should only be 10 minutes instead of over 30. This should improve UX considerably.

Why not go lower? There are two reasons for that. the first of which is network stability. Block times need to be calibrated to the worse-case (not average case!) scenarios. If the block time is too fast compared to the average time it takes for a block to propagate around the network, the network falls apart and can’t reach consensus. Normally the internet is pretty fast and stable, but if this stops being the case (even in an emergency) we want the network to survive. A reasonable block time is part of that stability.

A similar fact is true about the finality checkpoint window - if it is too small, then it makes it harder for finality generators to get their votes in on time and we want to plan for the worst case scenario.

The second issue is sync speed. The more blocks and finality checkpoints there are, the longer it takes to sync. Although there are still optimizations we’re looking to make to improve sync time, making it produce faster will make it longer to sync.

1 Like