CLTV/CSV/etc. deployment considerations due to XT/Not-BitcoinXT miners



Summary:

In August 2015, a discussion on the bitcoin-dev mailing list revolved around a solution to a problem that would arise if version number 257 was used in the future. The problem was regarding the use of auxpow bits when running an IsSuperMajority() softfork and how it's solved in that instance. One developer suggested using a bitmasking method to get rid of auxpow version bits before making the standard integer comparisons to deploy BIP66 using IsSuperMajority(). However, this approach would fail if version number 257 is used in the future as it would be interpreted as a version 1 block. For Bitcoin Core, option 2, nVersion=8 is used with a bitmask of 0xdffffff8 applied. By using comparison >=4, the bit can be recovered later, assuming it is needed. This approach is forward compatible with future soft forks. It was also mentioned that if "versionbits softfork" code is not ready by the time of deployment, IsSuperMajority() would be acceptable, which could be deployed in the wake of the XT developers' carelessness.


Updated on: 2023-06-10T20:31:37.215955+00:00