1. Clarify and exercise the mechanism whereby the bitcoin network collectively consents to upgrade transaction or block binary structures, rules and behaviors.
2. Enforce block and transaction uniqueness, and assist unconnected block validation.
2. Add height as the first item in the coinbase transaction's scriptSig, and increase block version to 2.
The format of the height is "serialized CScript" -- first byte is number of bytes in the number (will be 0x03 on main net for the next 150 or so years with 2<sup>23</sup>-1 blocks), following bytes are little-endian representation of the number (including a sign bit).
Height is the height of the mined block in the block chain, where the genesis block is height zero (0).
3. 75% rule: If 750 of the last 1,000 blocks are version 2 or greater, reject invalid version 2 blocks.
(testnet3: 51 of last 100)
4. 95% rule ("Point of no return"): If 950 of the last 1,000 blocks are version 2 or greater, reject all version 1 blocks.