Hey y’all,
I want to pick your brain and make you aware regarding the new timestamp
restriction included in the Testnet 4 consensus rules:
Testnet 4 requires that the timestamp of the first block of a difficulty
period does not precede the timestamp of the last block of the prior
difficulty period by more than ten minutes.
To put it differently, time cannot go back more than 600 seconds between
difficulty periods, or formally:
for each blockheight b where b%2016 == 0
| timestamp_{b} ≥ timestamp_{b-1} - 600
The rule is part of the consensus changes put forth per the Great
Consensus Cleanup proposal (see
https://delvingbitcoin.org/t/great-consensus-cleanup-revival/710) and
helps prevent the jump of a difficulty period’s end time versus the
start of the subsequent difficulty period’s start time necessary for the
classic timewarp attack (see e.g.
https://bitcoin.stackexchange.com/q/75831/5406).
I am concerned that if this rule were eventually introduced to mainnet
it might cause a miner to build an invalid block due to them assigning
the current time to their block template after someone timestamped the
last block of a difficulty period into the future by more than ten minutes.
Would adherence to this rule present a challenge for mining software or
hardware, or the software that coordinates mining pool contributions?
Best,
Murch