diff options
Diffstat (limited to 'bip-0034.mediawiki')
-rw-r--r-- | bip-0034.mediawiki | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/bip-0034.mediawiki b/bip-0034.mediawiki new file mode 100644 index 0000000..46326d5 --- /dev/null +++ b/bip-0034.mediawiki @@ -0,0 +1,39 @@ +{{bip}} + +<pre> + BIP: 34 + Title: Block v2, Height in Coinbase + Author: Gavin Andresen <gavinandresen@gmail.com> + Status: Accepted + Type: Standards Track + Created: 2012-07-06 +</pre> + +==Abstract== + +Bitcoin blocks and transactions are versioned binary structures. Both currently use version 1. This BIP introduces an upgrade path for versioned transactions and blocks. A unique value is added to newly produced coinbase transactions, and blocks are updated to version 2. + +==Motivation== + +# Clarify and exercise the mechanism whereby the bitcoin network collectively consents to upgrade transaction or block binary structures, rules and behaviors. +# Enforce block and transaction uniqueness, and assist unconnected block validation. + +==Specification== + +# Treat transactions with a version greater than 1 as non-standard (official Satoshi client will not mine or relay them). +# 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 300 or so years), following bytes are little-endian representation of the number. Height is the height of the mined block in the block chain, where the genesis block is height zero (0). +# 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) +# 95% rule ("Point of no return"): If 950 of the last 1,000 blocks are version 2 or greater, reject all version 1 blocks. (testnet3: 75 of last 100) + +==Backward compatibility== + +All older clients are compatible with this change. Users and merchants should not be impacted. Miners are strongly recommended to upgrade to version 2 blocks. Once 95% of the miners have upgraded to version 2, the remainder will be orphaned if they fail to upgrade. + +==Implementation== + +https://github.com/bitcoin/bitcoin/pull/1526 + +[[Category:Developer]] +[[Category:Technical]] +[[Category:BIP|D]] + |