3

I saw in the discussion on the previous increase in block time that some people were suggesting 4 minutes.

  1. What would be good reasons to further increase block time in the future?

  2. Are there scenarios where really high block times would be a good idea? Really high as in 10x the current time or more.

My main interest in this is how it changes the time transactions with unlock_time at a specific block number would be unlocked.

2 Answers 2

8
  1. What would be good reasons to further increase block time in the future?

A couple good reasons would include if pools were experiencing a lot of orphaned blocks or if blocks were routinely empty.

An orphan block is when a pool mines a block, but then realizes another pool beat them to that block and it gets ignored by the other pools. This usually only happens if two pools mine the same block within seconds of each other, and sometimes when one pool gets lucky and mines a couple blocks in a row really quickly before the others have a chance to adjust. The orphan rate is roughly correlated with how short the block time is... Longer block times should in general lead to less orphans.

If blocks were routinely empty, you'd have to question why you are mining blocks so quickly... That would essentially just be blockchain bloat.

  1. Are there scenarios where really high block times would be a good idea? Really high as in 10x the current time or more.

Imagine a civilization that has colonized Mars and mining operations on Mars are successfully competing with those on Earth. A two minute block time would very likely break Monero in this case, as the communication time between Earth and Mars is between 3 and 20 minutes roughly, depending on where the two planets are in their orbits. If it took longer to tell the other planet about a block than it took to mine the next block (or next few blocks), there would be major issues. In this case, you'd probably want 1-2 hour block times. This would be comparable in time wasted to 1-2 minute blocks on Earth, which takes 3-20 seconds to fully propagate a block across the whole network.

My main interest in this is how it changes the time transactions with unlock_time at a specific block number would be unlocked.

A larger block would mean that the time window for a tx to unlock would be a little less precise. Today, if you wanted a block to unlock at midnight next Tuesday, you could estimate within maybe 5-10 blocks where that would likely occur. So you would be probably within 10-20 minutes of midnight. For larger block times, you would likely be a little more off in your estimate.

2
  • Thanks for the answer, my transactions will most likely be unlocked by the time we colonise Mars. "A larger block would mean that the time window for a tx to unlock would be a little less precise. " - true, what I am thinking about however is how it changes the time transactions already sent with a specific unlock block # unlock. As of now I'd expect a transaction with unlock_time set to block 2 million to unlock in about 3 years time, if block time changes however, that might be a lot longer.
    – Oyvkva
    Commented Oct 8, 2016 at 16:54
  • That's true, though I suppose a rule could be written into a hard fork that said any unlock_time set before the hard fork would be adjusted to the block that corresponds to when something would have unlocked if the time hadn't been adjusted. That could potentially be controversial though... which leads to us getting a better idea why hard forks aren't always universally welcomed. Commented Oct 9, 2016 at 20:33
9

If orphan levels increased or were above some tolerable threshold, an increase in block time would help alleviate the situation. This answer to a question about unlocked balances explains Monero's greater sensitivity to reorganizations.

Not the answer you're looking for? Browse other questions tagged or ask your own question.