Author: Matt Corallo 2019-03-06 21:39:15
Published on: 2019-03-06T21:39:15+00:00
The Great Consensus Cleanup is a Bitcoin Improvement Proposal (BIP) that aims to simplify Bitcoin implementations and improve validation times while addressing several vulnerabilities. The proposal suggests allowing timestamps on difficulty-adjustment blocks to go backwards by 600 seconds, which will fix the long-standing "timewarp" inflation vulnerability without risking existing mining hardware becoming unusable. Additionally, the BIP proposes making certain transaction sizes invalid to resolve several vulnerabilities where Bitcoin clients needed to check for specific cases of malleation in the merkle tree construction.The BIP will be deployed using "version bits" BIP9 with the name "cleanups" and using bit (0-indexed) 3, with different start times for mainnet and testnet. However, it may result in the activation of the new soft-fork rules on the same block as the scheduled block-subsidy halving. The BIP author argues that fixing the timewarp vulnerability is crucial because exploiting it could lead to malicious inflation of the currency supply by miners or forking in what amounts to extension blocks, which are not the right approach to such changes.Bitcoin Improvement Proposal 118 (BIP 118) proposes the activation of Taproot, a new address format and signature scheme that will improve privacy and flexibility of Bitcoin transactions. The proposal suggests using BIP 141 (Segregated Witness) and BIP 143 (Transaction Signature Verification for Version 0 Witness Program) as activation methods. The proposal also includes changes such as reducing valid scriptSigs to the minimal set of operations which can generate any stack state, disabling non-canonical sighash types, and allowing nTime to go backward by 600 seconds. These changes aim to prevent potential attacks and simplify analysis.The proposal explains that there are several early-stage proposals that may affect the execution of scripts, such as Schnorr signatures, Taproot, Graftroot, and MAST. These proposals are not expected to have any interaction with the changes in this BIP, except for the sighash type byte rule. The authors of the proposal recommend implementing BIP 9 to ensure miner upgrade prior to activation and thank various individuals for their helpful feedback and the entire Bitcoin Protocol Development Community.The reference implementation for the proposal can be found on Github at Bitcoin Core Pull #15482. The proposal provides references to other resources, including the difficulty adjustment algorithm in Bitcoin, the issues involved in having leaf nodes in the transaction merkle tree, and official stratum specifications.
Updated on: 2023-05-20T19:52:30.782587+00:00