Bitcoin Improvement Proposals: Difference between revisions
TheRealSteve (talk | contribs) →List of BIPs: +BIP 101 - see Talk page - does 100+ need a group comment, too? |
Update |
||
Line 25: | Line 25: | ||
Those proposing changes should consider that ultimately consent may rest with the consensus of the Bitcoin users (see also: [[economic majority]]). | Those proposing changes should consider that ultimately consent may rest with the consensus of the Bitcoin users (see also: [[economic majority]]). | ||
<!-- Mostly generated by: | |||
perl -e 'while(<>){ s/bip-(\d+)\.mediawiki/BIP $1/; if (m/^\|\-\s*(style=".*")?$/) { print $a; $a = ""; } $a .= $_; if (m/^\| (Active|Accepted|Final)/) { $a=~s/^(\|\-)\s*(style=".*")?$/$1 style="background-color: #cfffcf"/m; } elsif(m/^\| (Withdrawn|Deferred|Replaced)/){$a=~s/^(\|\-)\s*(style=".*")?$/$1 style="background-color: #ffcfcf"/m; } }; print $a' README.mediawiki | |||
--> | |||
{| class="wikitable sortable" style="width: auto; text-align: center; font-size: smaller; table-layout: fixed;" | {| class="wikitable sortable" style="width: auto; text-align: center; font-size: smaller; table-layout: fixed;" | ||
!Number | !Number | ||
Line 175: | Line 178: | ||
| Standard | | Standard | ||
| Draft | | Draft | ||
|- | |- | ||
| [[BIP 0039|39]] | | [[BIP 0039|39]] | ||
| Mnemonic code for generating deterministic keys | | Mnemonic code for generating deterministic keys | ||
Line 182: | Line 185: | ||
| Draft | | Draft | ||
|- | |- | ||
| 40 | |||
| Stratum wire protocol | | Stratum wire protocol | ||
| Slush | | Slush | ||
Line 188: | Line 191: | ||
| BIP number allocated | | BIP number allocated | ||
|- | |- | ||
| 41 | |||
| Stratum mining protocol | | Stratum mining protocol | ||
| Slush | | Slush | ||
Line 217: | Line 220: | ||
| Standard | | Standard | ||
| Draft | | Draft | ||
|- | |||
| [[BIP 0047|47]] | |||
| Reusable Payment Codes for Hierarchical Deterministic Wallets | |||
| Justus Ranvier | |||
| Informational | |||
| Draft | |||
|- | |- | ||
| [[BIP 0050|50]] | | [[BIP 0050|50]] | ||
Line 245: | Line 252: | ||
| Draft | | Draft | ||
|- | |- | ||
| 63 | |||
| Stealth Addresses | | Stealth Addresses | ||
| Peter Todd | | Peter Todd | ||
Line 286: | Line 293: | ||
| Standard | | Standard | ||
| Draft | | Draft | ||
|- style="background-color: #cfffcf" | |- style="background-color: #cfffcf" | ||
| [[BIP 0070|70]] | | [[BIP 0070|70]] | ||
Line 307: | Line 313: | ||
|- | |- | ||
| [[BIP 0073|73]] | | [[BIP 0073|73]] | ||
| Use "Accept" header with Payment Request URLs | | Use "Accept" header with Payment Request URLs | ||
| Stephen Pair | | Stephen Pair | ||
| Standard | | Standard | ||
| Draft | | Draft | ||
|- | |- | ||
| 101 | | [[BIP 0101|101]] | ||
| Increase maximum block size | | Increase maximum block size | ||
| Gavin Andresen | | Gavin Andresen | ||
| Standard | |||
| Draft | |||
|- | |||
| [[BIP 0105|105]] | |||
| Consensus based block size retargeting algorithm | |||
| BtcDrak | |||
| Standard | |||
| Draft | |||
|- | |||
| [[BIP 0111|111]] | |||
| NODE_BLOOM service bit | |||
| Matt Corallo and Peter Todd | |||
| Standard | |||
| Draft | |||
|- | |||
| [[BIP 0113|113]] | |||
| Median time-past as endpoint for lock-time calculations | |||
| Thomas Kerin and Mark Friedenbach | |||
| Standard | |||
| Draft | |||
|- | |||
| [[BIP 0120|120]] | |||
| Proof of Payment | |||
| Kalle Rosenbaum | |||
| Standard | |||
| Draft | |||
|- | |||
| [[BIP 0121|121]] | |||
| Proof of Payment URI scheme | |||
| Kalle Rosenbaum | |||
| Standard | | Standard | ||
| Draft | | Draft |
Revision as of 02:11, 4 September 2015
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:
List of BIPs
Please do not modify this page. This is a mirror of the BIP from the source Git repository here. |
People wishing to submit BIPs, first should propose their idea or document to the mailing list. After discussion they should email Greg Maxwell <gmaxwell@gmail.com>. 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 | Standard | Active |
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 and 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 | Draft |
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 | Consensus-enforced transaction replacement signalled via sequence numbers | Mark Friedenbach | 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 |
101 | Increase maximum block size | Gavin Andresen | Standard | Draft |
105 | Consensus based block size retargeting algorithm | BtcDrak | Standard | Draft |
111 | NODE_BLOOM service bit | Matt Corallo and Peter Todd | Standard | Draft |
113 | Median time-past as endpoint for lock-time calculations | Thomas Kerin and Mark Friedenbach | Standard | Draft |
120 | Proof of Payment | Kalle Rosenbaum | Standard | Draft |
121 | Proof of Payment URI scheme | Kalle Rosenbaum | Standard | Draft |