On Wed, Aug 19, 2015 at 6:25 PM, Btc Drak <btcdrak@gmail.com> 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.