bitcoin-dev

Year 2038 problem and year 2106 chain halting

Year 2038 problem and year 2106 chain halting

Original Postby vjudeu at gazeta.pl

Posted on: October 16, 2021 09:06 UTC

When a series of blocks has a timestamp of 0xFFFFFFFF at the appropriate time, it will lead to the halting of the chain for all old clients, as there is no 32-bit value greater than 0xffffffff.

The first rule of the block timestamp, "not lower than the median of the last 11 blocks", is not violated since "not lower than" means "greater than or equal to", and after a while, the median becomes 0xFFFFFFFF and 0xFFFFFFFF is equal to 0xFFFFFFFF. The second rule, "not greater than the current time plus two hours", is also not violated since it would be a past actual real time. The third rule, "not greater than 2^32 (Sun, 07 Feb 2106 06:28:16 +0000)", is not violated since 0xFFFFFFFF is the maximum value that can be represented by a 32-bit integer. Although some argue that this issue could be addressed through a soft fork, it is generally considered not to be possible due to its distance in the future. It should be noted that the Bitcoin Core source code strictly rejects a block with a timestamp that is "lower or equal to" the required value. Therefore, it is essential to ensure that the block timestamp adheres to the specified rules to maintain the integrity of the blockchain.