Difference between revisions of "BIP 0034"

From Bitcoin Wiki
Jump to: navigation, search
m (Removed protection from "BIP 0034")
(Github move)
Line 10: Line 10:
 
</pre>
 
</pre>
  
==Abstract==
+
{{BipMoved|bip-0034.mediawiki|BIP 0034}}
 
 
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]]
 

Revision as of 07:51, 6 December 2013

This page describes a BIP (Bitcoin Improvement Proposal).
Please see BIP 2 for more information about BIPs and creating them. Please do not just create a wiki page.

  BIP: 34
  Title: Block v2, Height in Coinbase
  Author: Gavin Andresen <gavinandresen@gmail.com>
  Status: Accepted
  Type: Standards Track
  Created: 2012-07-06

Please do not modify this page. This is a mirror of the BIP from the source Git repository here.