Add a moving checkpoint to the Bitcoin protocol [combined summary]



Individual post summaries: Click here to read the original discussion on the bitcoin-dev mailing list

Published on: 2019-08-03T10:35:51+00:00


Summary:

A proposal has been made to add a "moving checkpoint" to the Bitcoin protocol, similar to the one implemented in NXT coin. The rule would make the blockchain truly immutable after a certain number of blocks, even during a 51% attack. However, concerns have been raised about how this rule would handle a potential state-sponsored network split lasting longer than the specified block limit.To address these concerns, an additional rule has been suggested. If a node detects a fork with both sides having a length greater than 144 blocks, it would halt and request user intervention to determine which chain to follow. This is seen as a safer way to handle long network splits.However, critics argue that this rule could make Bitcoin more vulnerable to 51% attacks. To mitigate this vulnerability, a limit of X blocks has been proposed. The length of X blocks could be measured as the number of blocks multiplied by the average block difficulty, taking into account any difficulty adjustment that occurs over time.Under this proposed rule, the moving checkpoint would only be valid if the difference in blocks between the main chain and the new fork is smaller than X blocks, such as the blocks generated in 3 days. If a node sees a fork longer than its main chain, and the fork has at least X blocks more than the main chain, the node would ignore the moving checkpoint and follow the longest chain.Two possible scenarios are considered: a 51% attack where older blocks are protected against history rewrites for at least 3 days, allowing developers to release an emergency update with a different mining algorithm to counter the attack; and a network split where if the split is older than a certain number of blocks, there would be two permanent forks, but in 3 days or more, the blockchain heights would differ by more than X blocks, resulting in the abandonment of the losing chain.The discussion also addresses concerns about how a netsplit lasting longer than the block limit would be handled. It is suggested that the community would detect it before reaching the limit, allowing nodes to stop until the netsplit is fixed. In extreme cases where no one notices the split for more than the block limit and there are two permanent forks longer than the limit, nodes from one branch could delete their local history to join the other branch.However, critics argue that implementing a moving checkpoint rule as described could make Bitcoin more vulnerable to 51% attacks. They believe that the security of the rule could be further improved by making the number of blocks a fork must reach to halt the network proportional to the difference in time between the timestamp prior to the fork and the current time. Despite these discussions, it should be noted that the proposal is still under consideration and not yet adopted by the Bitcoin protocol.Overall, the proposal for a "moving checkpoint" in the Bitcoin protocol aims to improve security and address concerns regarding network splits and 51% attacks. However, there are ongoing debates about its effectiveness and potential vulnerabilities, and further discussions and analysis are needed before any implementation decisions are made.


Updated on: 2023-08-02T01:14:06.767072+00:00