Reducing Zcoin’s Block Time
When Zcoin first started, the utmost priority was to build and implement Zerocoin which was originally designed for Bitcoin, and as such in an abundance of prudence, we maintained all core aspects of Bitcoin, including its block time of 10 minutes per block.
The Origin of the 10 minute block time
Ten minutes was specifically chosen by Satoshi Nakamoto as a trade-off between first confirmation time and the amount of work wasted due to chain splits. After a block is mined, it takes time for other miners to find out about it, and until then they are actually competing against the new block instead of adding to it. If someone mines another new block based on the old block chain, the network can only accept one of the two, and all the work that went into the other block gets wasted. For example, if it takes miners 1 minute on average to learn about new blocks, and new blocks come every 10 minutes, then the overall network is wasting about 10% of its work. Lengthening the time between blocks reduces this waste.
However, with current developments, the mean time for nodes to see a block is about 12.6 seconds and after about 40 seconds, 95% of nodes would have seen that block. Therefore it makes sense to reduce block time.
Pros and Cons of a Shorter Block time
- Faster 1 confirmation time and less gaps in block times
- Less payout variance for miners
- More frequent payouts for Znodes and less penalty when a Znode falls out of queue
- Higher transactions per second. Halving the block time, doubles the tps.
- Higher bandwidth consumption.
- More bloat on the blockchain as even empty blocks occupy space on the blockchain.
- It increases stale rates. This is the ‘wasted’ hashing power. This reduces network security since the amount of hash rate you need to mount a 51% attack is reduced by the stale rate.
- More forks, longer forks and longer re-organization time. This means there’s less transaction finality even with a first confirm.
A shorter block time is basically a tradeoff between time and security and also resources.
Choosing Zcoin’s new block time of 5 minutes
We evaluated two different block times, 2.5 minutes and 5 minutes with the primary reason that these numbers allowed a clean adjustment of the block reward. We considered many factors including Zerocoin spend verification time, future proofing for our next gen privacy system, MTP, Dandelion routing, Znodes and reading academic papers on the subject. Also in view of the 51% attacks happening on other coins we are in favor of taking the more conservative approach and reducing our block time from 10 minutes to 5 minutes instead of 2.5 minutes. This still represents a doubling of tps and speed of Zcoin. Our view is that no matter how short a block time, it will not be fast enough for over the counter transactions if waiting for 1st confirmation and these should be solved by alternative solutions (for e.g. Lightning Network).
Block rewards would also be correspondingly halved to match the faster block time so there will be no effect on the supply schedule.
When are we moving to the shorter block time?
A shorter block time will involve a hard fork but we don’t forsee it to be a contentious one. We will be moving to the shorter block time when our new proof of work algorithm MTP is launched on mainnet. This will allow us to adjust all the difficulty adjustment parameters together with the block time reduction.