Difficulty adjustment / time issues



Summary:

Gavin Andresen has pointed out two fundamental problems in the Bitcoin network. The first issue is that Bitcoin should be overlapping the ranges of block timestamps that it uses to calculate difficulty adjustments. Fixing this problem would mean a potential blockchain split, and before considering that, second-best solutions need to be considered. The second issue is that Bitcoin's "what time is it" code is kind of a hack. Gavin suggests incorporating an NTP library, or removing the Bitcoin mining code from the client and requiring pools and miners to have accurate-to-within-a-minute system clocks. He believes that fixing the second issue will make the first issue a non-issue as if miners can't mess around with block times very much; it will be very difficult for them to manipulate the difficulty for their benefit. However, fixing only item 2 may not stop the attacks found by ArtForz, et al., some of which are particularly bad because they change the incentive structure of the system, at least in the short term. Lastly, changing the idea of network time to NTP will require new block timestamp rules to be written and tested to account for the new assumptions. One pool operator will face issues due to these changes.


Updated on: 2023-06-04T19:33:48.779697+00:00