Difference between revisions of "Bitcoin Improvement Proposals"

From Bitcoin Wiki
Jump to: navigation, search
(Added 123 and 130)
(Update)
Line 17: Line 17:
 
{{BipMoved|README.mediawiki|README}}
 
{{BipMoved|README.mediawiki|README}}
  
People wishing to submit BIPs, first should propose their idea or document to [https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev the mailing list]. After discussion they should email Greg Maxwell <gmaxwell@gmail.com>. After copy-editing and acceptance, it will be published here.
+
People wishing to submit BIPs, first should propose their idea or document to [https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev the mailing list]. After discussion they should email Luke Dashjr <luke_bipeditor@dashjr.org>. After copy-editing and acceptance, it will be published here.
  
 
We are fairly liberal with approving BIPs, and try not to be too involved in decision making on behalf of the community. The exception is in very rare cases of dispute resolution when a decision is contentious and cannot be agreed upon. In those cases, the conservative option will always be preferred.
 
We are fairly liberal with approving BIPs, and try not to be too involved in decision making on behalf of the community. The exception is in very rare cases of dispute resolution when a decision is contentious and cannot be agreed upon. In those cases, the conservative option will always be preferred.
Line 38: Line 38:
 
| BIP Purpose and Guidelines
 
| BIP Purpose and Guidelines
 
| Amir Taaki
 
| Amir Taaki
| Standard
+
| Process
 
| Active
 
| Active
 +
|-
 +
| [[BIP 0009|9]]
 +
| Version bits with timeout and delay
 +
| Pieter Wuille, Peter Todd, Greg Maxwell, Rusty Russell
 +
| Informational
 +
| Draft
 
|- style="background-color: #ffcfcf"
 
|- style="background-color: #ffcfcf"
 
| [[BIP 0010|10]]
 
| [[BIP 0010|10]]
Line 169: Line 175:
 
| [[BIP 0037|37]]
 
| [[BIP 0037|37]]
 
| Bloom filtering
 
| Bloom filtering
| Mike Hearn and Matt Corallo
+
| Mike Hearn, Matt Corallo
 
| Standard
 
| Standard
 
| Accepted
 
| Accepted
Line 245: Line 251:
 
| Standard
 
| Standard
 
| Final
 
| Final
|-
+
|- style="background-color: #ffcfcf"
 
| [[BIP 0062|62]]
 
| [[BIP 0062|62]]
 
| Dealing with malleability
 
| Dealing with malleability
 
| Pieter Wuille
 
| Pieter Wuille
 
| Standard
 
| Standard
| Draft
+
| Withdrawn
 
|-
 
|-
 
| 63
 
| 63
Line 283: Line 289:
 
|-
 
|-
 
| [[BIP 0068|68]]
 
| [[BIP 0068|68]]
| Consensus-enforced transaction replacement signalled via sequence numbers
+
| Relative lock-time through consensus-enforced sequence numbers
| Mark Friedenbach
+
| Mark Friedenbach, BtcDrak, Nicolas Dorier
 
| Standard
 
| Standard
 
| Draft
 
| Draft
Line 321: Line 327:
 
| Motivation and deployment of consensus rule changes ([soft/hard]forks)
 
| Motivation and deployment of consensus rule changes ([soft/hard]forks)
 
| Jorge Timón
 
| Jorge Timón
| Process
+
| Informational / Process
 
| Draft
 
| Draft
 
|-
 
|-
Line 328: Line 334:
 
| Jeff Garzik
 
| Jeff Garzik
 
| Standard
 
| Standard
| Draft
 
 
|-
 
|-
 
| [[BIP 0101|101]]
 
| [[BIP 0101|101]]
Line 357: Line 362:
 
| Dynamically Controlled Bitcoin Block Size Max Cap
 
| Dynamically Controlled Bitcoin Block Size Max Cap
 
| Upal Chakraborty
 
| Upal Chakraborty
 +
| Standard
 +
| Draft
 +
|-
 +
| [[BIP 0107|107]]
 +
| Dynamic limit on the block size
 +
| Washington Y. Sanchez
 
| Standard
 
| Standard
 
| Draft
 
| Draft
Line 362: Line 373:
 
| [[BIP 0111|111]]
 
| [[BIP 0111|111]]
 
| NODE_BLOOM service bit
 
| NODE_BLOOM service bit
| Matt Corallo and Peter Todd
+
| Matt Corallo, Peter Todd
 
| Standard
 
| Standard
 
| Draft
 
| Draft
Line 368: Line 379:
 
| [[BIP 0112|112]]
 
| [[BIP 0112|112]]
 
| CHECKSEQUENCEVERIFY
 
| CHECKSEQUENCEVERIFY
| BtcDrak and Mark Friedenbach
+
| BtcDrak, Mark Friedenbach
 
| Standard
 
| Standard
 
| Draft
 
| Draft
Line 374: Line 385:
 
| [[BIP 0113|113]]
 
| [[BIP 0113|113]]
 
| Median time-past as endpoint for lock-time calculations
 
| Median time-past as endpoint for lock-time calculations
| Thomas Kerin and Mark Friedenbach
+
| Thomas Kerin, Mark Friedenbach
 
| Standard
 
| Standard
 
| Draft
 
| Draft
Line 387: Line 398:
 
| Proof of Payment URI scheme
 
| Proof of Payment URI scheme
 
| Kalle Rosenbaum
 
| Kalle Rosenbaum
 +
| Standard
 +
| Draft
 +
|-
 +
| [[BIP 0122|122]]
 +
| URI scheme for Blockchain references / exploration
 +
| Marco Pontello
 
| Standard
 
| Standard
 
| Draft
 
| Draft
Line 394: Line 411:
 
| Eric Lombrozo
 
| Eric Lombrozo
 
| Informational
 
| Informational
 +
| Draft
 +
|-
 +
| [[BIP 0125|125]]
 +
| Opt-in Full Replace-by-Fee Signaling
 +
| David Harding, Peter Todd
 +
| Standard
 
| Draft
 
| Draft
 
|-
 
|-
Line 399: Line 422:
 
| sendheaders message
 
| sendheaders message
 
| Suhas Daftuar
 
| Suhas Daftuar
 +
| Standard
 +
| Draft
 +
|-
 +
| [[BIP 0140|140]]
 +
| Normalized TXID
 +
| Christian Decker
 +
| Standard
 +
| Draft
 +
|-
 +
| [[BIP 0141|141]]
 +
| Segregated Witness (Consensus layer)
 +
| Eric Lombrozo, Johnson Lau, Pieter Wuille
 +
| Standard
 +
| Draft
 +
|-
 +
| [[BIP 0142|142]]
 +
| Address Formats for Witness Program
 +
| Johnson Lau
 +
| Standard
 +
| Draft
 +
|-
 +
| [[BIP 0143|143]]
 +
| Transaction signature verification for version 0 and version 1 witness program
 +
| Johnson Lau, Pieter Wuille
 +
| Standard
 +
| Draft
 +
|-
 +
| [[BIP 0144|144]]
 +
| Segregated Witness (Peer Services)
 +
| Eric Lombrozo, Pieter Wuille
 
| Standard
 
| Standard
 
| Draft
 
| Draft

Revision as of 20:44, 8 January 2016

A Bitcoin Improvement Proposal (BIP) is a design document for introducing features or information to Bitcoin. This is the standard way of communicating ideas since Bitcoin has no formal structure.

The first BIP (BIP 0001) was submitted by Amir Taaki on 2011-08-19 and described what a BIP is.

BIP Types

There are three types of BIPs:

  • Standards Track BIPs - Changes to the network protocol, block or transaction validation, or anything affecting interoperability.
  • Informational BIPs - Design issues, general guidelines. This type of BIP is NOT for proposing new features and do not represent community consensus
  • Process BIPs - Describes or proposes a change in process. Similar to Standards BIPs but apply outside the Bitcoin protocol.

BIP Workflow

As described in BIP 0001 the workflow of a BIP is as follows:

BIP Workflow.png

List of BIPs

The full text of this BIP can be read here.

People wishing to submit BIPs, first should propose their idea or document to the mailing list. After discussion they should email Luke Dashjr <luke_bipeditor@dashjr.org>. After copy-editing and acceptance, it will be published here.

We are fairly liberal with approving BIPs, and try not to be too involved in decision making on behalf of the community. The exception is in very rare cases of dispute resolution when a decision is contentious and cannot be agreed upon. In those cases, the conservative option will always be preferred.

Having a BIP here does not make it a formally accepted standard until its status becomes Active. For a BIP to become Active requires the mutual consent of the community.

Those proposing changes should consider that ultimately consent may rest with the consensus of the Bitcoin users (see also: economic majority).

Number Title Owner Type Status
1 BIP Purpose and Guidelines Amir Taaki Process Active
9 Version bits with timeout and delay Pieter Wuille, Peter Todd, Greg Maxwell, Rusty Russell Informational Draft
10 Multi-Sig Transaction Distribution Alan Reiner Informational Withdrawn
11 M-of-N Standard Transactions Gavin Andresen Standard Accepted
12 OP_EVAL Gavin Andresen Standard Withdrawn
13 Address Format for pay-to-script-hash Gavin Andresen Standard Final
14 Protocol Version and User Agent Amir Taaki, Patrick Strateman Standard Accepted
15 Aliases Amir Taaki Standard Deferred
16 Pay To Script Hash Gavin Andresen Standard Final
17 OP_CHECKHASHVERIFY (CHV) Luke Dashjr Standard Withdrawn
18 hashScriptCheck Luke Dashjr Standard Draft
19 M-of-N Standard Transactions (Low SigOp) Luke Dashjr Standard Draft
20 URI Scheme Luke Dashjr Standard Replaced
21 URI Scheme Nils Schneider, Matt Corallo Standard Accepted
22 getblocktemplate - Fundamentals Luke Dashjr Standard Accepted
23 getblocktemplate - Pooled Mining Luke Dashjr Standard Accepted
30 Duplicate transactions Pieter Wuille Standard Final
31 Pong message Mike Hearn Standard Accepted
32 Hierarchical Deterministic Wallets Pieter Wuille Informational Accepted
33 Stratized Nodes Amir Taaki Standard Draft
34 Block v2, Height in coinbase Gavin Andresen Standard Accepted
35 mempool message Jeff Garzik Standard Accepted
36 Custom Services Stefan Thomas Standard Draft
37 Bloom filtering Mike Hearn, Matt Corallo Standard Accepted
38 Passphrase-protected private key Mike Caldwell Standard Draft
39 Mnemonic code for generating deterministic keys Slush Standard Draft
40 Stratum wire protocol Slush Standard BIP number allocated
41 Stratum mining protocol Slush Standard BIP number allocated
42 A finite monetary supply for Bitcoin Pieter Wuille Standard Draft
43 Purpose Field for Deterministic Wallets Slush Standard Draft
44 Multi-Account Hierarchy for Deterministic Wallets Slush Standard Draft
45 Structure for Deterministic P2SH Multisignature Wallets Manuel Araoz Standard Draft
47 Reusable Payment Codes for Hierarchical Deterministic Wallets Justus Ranvier Informational Draft
50 March 2013 Chain Fork Post-Mortem Gavin Andresen Informational Draft
60 Fixed Length "version" Message (Relay-Transactions Field) Amir Taaki Standard Draft
61 "reject" P2P message Gavin Andresen Standard Final
62 Dealing with malleability Pieter Wuille Standard Withdrawn
63 Stealth Addresses Peter Todd Standard BIP number allocated
64 getutxos message Mike Hearn Standard Draft
65 OP_CHECKLOCKTIMEVERIFY Peter Todd Standard Draft
66 Strict DER signatures Pieter Wuille Standard Draft
67 Deterministic P2SH multi-signature addresses Thomas Kerin Standard Draft
68 Relative lock-time through consensus-enforced sequence numbers Mark Friedenbach, BtcDrak, Nicolas Dorier Standard Draft
69 Lexicographical Indexing of Transaction Inputs and Outputs Kristov Atlas Standard Draft
70 Payment protocol Gavin Andresen Standard Final
71 Payment protocol MIME types Gavin Andresen Standard Final
72 Payment protocol URIs Gavin Andresen Standard Final
73 Use "Accept" header with Payment Request URLs Stephen Pair Standard Draft
99 Motivation and deployment of consensus rule changes ([soft/hard]forks) Jorge Timón Informational / Process Draft
100 Floating block size hard limit Jeff Garzik Standard
101 Increase maximum block size Gavin Andresen Standard Draft
102 Block size increase to 2MB Jeff Garzik Standard Draft
103 Block size following technological growth Pieter Wuille Standard Draft
105 Consensus based block size retargeting algorithm BtcDrak Standard Draft
106 Dynamically Controlled Bitcoin Block Size Max Cap Upal Chakraborty Standard Draft
107 Dynamic limit on the block size Washington Y. Sanchez Standard Draft
111 NODE_BLOOM service bit Matt Corallo, Peter Todd Standard Draft
112 CHECKSEQUENCEVERIFY BtcDrak, Mark Friedenbach Standard Draft
113 Median time-past as endpoint for lock-time calculations Thomas Kerin, Mark Friedenbach Standard Draft
120 Proof of Payment Kalle Rosenbaum Standard Draft
121 Proof of Payment URI scheme Kalle Rosenbaum Standard Draft
122 URI scheme for Blockchain references / exploration Marco Pontello Standard Draft
123 BIP Classification Eric Lombrozo Informational Draft
125 Opt-in Full Replace-by-Fee Signaling David Harding, Peter Todd Standard Draft
130 sendheaders message Suhas Daftuar Standard Draft
140 Normalized TXID Christian Decker Standard Draft
141 Segregated Witness (Consensus layer) Eric Lombrozo, Johnson Lau, Pieter Wuille Standard Draft
142 Address Formats for Witness Program Johnson Lau Standard Draft
143 Transaction signature verification for version 0 and version 1 witness program Johnson Lau, Pieter Wuille Standard Draft
144 Segregated Witness (Peer Services) Eric Lombrozo, Pieter Wuille Standard Draft


Hardfork Wishlist