New BIP: Hardfork warning system [combined summary]



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

Published on: 2016-12-02T06:35:36+00:00


Summary:

On December 2, 2016, Jorge Timón proposed a new Bitcoin Improvement Proposal (BIP) that aims to warn users of a hard fork when a block is invalid. The proposal suggests implementing a soft fork that would hold back at the best-common block between the best-valid chain and the invalid chain, forcing the user to decide whether to reject the invalid chain permanently or upgrade to a version that understands the chain as valid. The proposal also discusses the use of a prohibited bit to signal a soft-hardfork while distinguishing it from a regular hardfork. Nodes implementing this BIP would view it as a simple hardfork but intentionally provide equivalent behavior as older nodes that see it as a soft-hardfork. This proposal could potentially make it easier to resist an un-consented-to hardfork and may eliminate the need for a soft-hardfork design in the future.In a separate discussion on December 1, 2016, Johnson Lau emphasized the necessity for any Bitcoin implementation supporting a softfork to implement a hardfork warning system. Lau argued that if a generalized block header chain with non-trivial total proof-of-work is emerging and not considered a valid blockchain, a hardfork with unknown rules may be occurring. Lau proposed that wallet implementations issue warnings to users and stop processing transactions until further instructions are given. Mining implementations should also issue warnings to operators and may either stop mining or ignore the hardfork with unknown rules. Light nodes, such as wallet implementations, should observe hardfork notification bits in block headers and issue warnings to their users if any of the bits are set. Lau also noted that various types of hardforks can be detected by the warning system, including changes to the Merkle root hash field, block content validation rules, and the introduction of secondary proof-of-work.Johnson Lau's proposal involves changing consensus rules related to block nVersion and creating a concept of a generalized block header to implement a hardfork warning system for both full nodes and light nodes. The hardfork warning system is responsible for informing users that a hardfork may be happening and prompting them for further instructions. However, it does not guarantee the success of the hardfork or prevent the creation of two permanent incompatible forks. The proposal provides specifications for a block nVersion softfork and the validation of a generalized block header. It also outlines the terms used in the proposal and clarifies the limitations of the warning system.Overall, these proposals highlight the ongoing discussions within the Bitcoin community regarding the use of softforks and hardforks to introduce new features or address consensus disagreements. The implementation of a hardfork warning system aims to provide users with the necessary information and prompts to navigate potential hardfork situations effectively.


Updated on: 2023-08-01T19:15:55.469736+00:00