On Wed, Aug 19, 2015 at 6:25 PM, Btc Drak wrote: > In our case for Bitcoin Core, option 2 we use nVersion=8, apply a > bitmask of 0xdffffff8 thus: > > if ((block.nVersion & ~0x20000007) >= 4 && > CBlockIndex::IsSuperMajority(...)) { //...} > > With nVersion=8, but using comparison >=4 allows us to recover the > bit later, assuming we want it (otherwise we use version >=8). > That is the 75% "activation" rule portion? The 95% rule has to apply to all blocks. The supermajority applies to unmasked blocks? I think you want it so that a sequence of blocks with version 8 can be followed by version 4 blocks? If 950 of the last 1000 blocks have bit 0x08 set, then reject any block with a version less than 4. This means transitioning to the version bits BIP just requires dropping the version back to 4 and adding a rule enforcing the BIPs for version 4 and higher blocks. This would be part of the version bits BIP enforcement.