Getting Started
People wishing to submit BIPs, first should propose their idea or document to the bitcoin-dev@lists.linuxfoundation.org mailing list. After discussion, please open a PR. 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 Final or Active.
Those proposing changes should consider that ultimately consent may rest with the consensus of the Bitcoin users (see also: economic majority).
Index
Number | Title | Owner | Status |
---|---|---|---|
1 | BIP Purpose and Guidelines | Amir Taaki | Replaced |
2 | BIP process, revised | Luke Dashjr | Active |
8 | Version bits with lock-in by height | Shaolin Fry | Rejected |
9 | Version bits with timeout and delay | Pieter Wuille, Peter Todd, Greg Maxwell, Rusty Russell | Final |
10 | Multi-Sig Transaction Distribution | Alan Reiner | Withdrawn |
11 | M-of-N Standard Transactions | Gavin Andresen | Final |
12 | OP_EVAL | Gavin Andresen | Withdrawn |
13 | Address Format for pay-to-script-hash | Gavin Andresen | Final |
14 | Protocol Version and User Agent | Amir Taaki, Patrick Strateman | Final |
15 | Aliases | Amir Taaki | Deferred |
16 | Pay to Script Hash | Gavin Andresen | Final |
17 | OP_CHECKHASHVERIFY (CHV) | Luke Dashjr | Withdrawn |
18 | hashScriptCheck | Luke Dashjr | Proposed |
19 | M-of-N Standard Transactions (Low SigOp) | Luke Dashjr | Rejected |
20 | URI Scheme | Luke Dashjr | Replaced |
21 | URI Scheme | Nils Schneider, Matt Corallo | Final |
22 | getblocktemplate - Fundamentals | Luke Dashjr | Final |
23 | getblocktemplate - Pooled Mining | Luke Dashjr | Final |
30 | Duplicate transactions | Pieter Wuille | Final |
31 | Pong message | Mike Hearn | Final |
32 | Hierarchical Deterministic Wallets | Pieter Wuille | Final |
33 | Stratized Nodes | Amir Taaki | Rejected |
34 | Block v2, Height in Coinbase | Gavin Andresen | Final |
35 | mempool message | Jeff Garzik | Final |
36 | Custom Services | Stefan Thomas | Rejected |
37 | Connection Bloom filtering | Mike Hearn, Matt Corallo | Final |
38 | Passphrase-protected private key | Mike Caldwell, Aaron Voisine | Draft |
39 | Mnemonic code for generating deterministic keys | Marek Palatinus, Pavol Rusnak, Aaron Voisine, Sean Bowe | Proposed |
40 | Stratum wire protocol | Marek Palatinus | BIP number allocated |
41 | Stratum mining protocol | Marek Palatinus | BIP number allocated |
42 | A finite monetary supply for Bitcoin | Pieter Wuille | Final |
43 | Purpose Field for Deterministic Wallets | Marek Palatinus, Pavol Rusnak | Final |
44 | Multi-Account Hierarchy for Deterministic Wallets | Marek Palatinus, Pavol Rusnak | Proposed |
45 | Structure for Deterministic P2SH Multisignature Wallets | Manuel Araoz, Ryan X. Charles, Matias Alejo Garcia | Proposed |
47 | Reusable Payment Codes for Hierarchical Deterministic Wallets | Justus Ranvier | Draft |
49 | Derivation scheme for P2WPKH-nested-in-P2SH based accounts | Daniel Weigl | Final |
50 | March 2013 Chain Fork Post-Mortem | Gavin Andresen | Final |
60 | Fixed Length "version" Message (Relay-Transactions Field) | Amir Taaki | Draft |
61 | Reject P2P message | Gavin Andresen | Final |
62 | Dealing with malleability | Pieter Wuille | Withdrawn |
63 | Stealth Addresses | Peter Todd | BIP number allocated |
64 | getutxo message | Mike Hearn | Draft |
65 | OP_CHECKLOCKTIMEVERIFY | Peter Todd | Final |
66 | Strict DER signatures | Pieter Wuille | Final |
67 | Deterministic Pay-to-script-hash multi-signature addresses through public key sorting | Thomas Kerin, Jean-Pierre Rupp, Ruben de Vries | Proposed |
68 | Relative lock-time using consensus-enforced sequence numbers | Mark Friedenbach, BtcDrak, Nicolas Dorier, kinoshitajona | Final |
69 | Lexicographical Indexing of Transaction Inputs and Outputs | Kristov Atlas | Proposed |
70 | Payment Protocol | Gavin Andresen, Mike Hearn | Final |
71 | Payment Protocol MIME types | Gavin Andresen | Final |
72 | bitcoin: uri extensions for Payment Protocol | Gavin Andresen | Final |
73 | Use "Accept" header for response type negotiation with Payment Request URLs | Stephen Pair | Final |
74 | Allow zero value OP_RETURN in Payment Protocol | Toby Padilla | Rejected |
75 | Out of Band Address Exchange using Payment Protocol Encryption | Justin Newton, Matt David, Aaron Voisine, James MacWhyte | Final |
79 | Bustapay :: a practical coinjoin protocol | Ryan Havar | Proposed |
80 | Hierarchy for Non-Colored Voting Pool Deterministic Multisig Wallets | Justus Ranvier, Jimmy Song | Deferred |
81 | Hierarchy for Colored Voting Pool Deterministic Multisig Wallets | Justus Ranvier, Jimmy Song | Deferred |
83 | Dynamic Hierarchical Deterministic Key Trees | Eric Lombrozo | Draft |
84 | Derivation scheme for P2WPKH based accounts | Pavol Rusnak | Draft |
90 | Buried Deployments | Suhas Daftuar | Draft |
91 | Reduced threshold Segwit MASF | James Hilliard | Final |
98 | Fast Merkle Trees | Mark Friedenbach, Kalle Alm, BtcDrak | Draft |
99 | Motivation and deployment of consensus rule changes ([soft/hard]forks) | Jorge Timón | Draft |
100 | Dynamic maximum block size by miner vote | Jeff Garzik, Tom Harding, Dagur Valberg Johannsson | Rejected |
101 | Increase maximum block size | Gavin Andresen | Withdrawn |
102 | Block size increase to 2MB | Jeff Garzik | Rejected |
103 | Block size following technological growth | Pieter Wuille | Withdrawn |
104 | 'Block75' - Max block size like difficulty | t.khan | Draft |
105 | Consensus based block size retargeting algorithm | BtcDrak | Draft |
106 | Dynamically Controlled Bitcoin Block Size Max Cap | Upal Chakraborty | Draft |
107 | Dynamic limit on the block size | Washington Y. Sanchez | Draft |
109 | Two million byte size limit with sigop and sighash limits | Gavin Andresen | Rejected |
111 | NODE_BLOOM service bit | Matt Corallo, Peter Todd | Proposed |
112 | CHECKSEQUENCEVERIFY | BtcDrak, Mark Friedenbach, Eric Lombrozo | Final |
113 | Median time-past as endpoint for lock-time calculations | Thomas Kerin, Mark Friedenbach | Final |
114 | Merkelized Abstract Syntax Tree | Johnson Lau | Draft |
115 | Generic anti-replay protection using Script | Luke Dashjr | Draft |
116 | MERKLEBRANCHVERIFY | Mark Friedenbach, Kalle Alm, BtcDrak | Draft |
117 | Tail Call Execution Semantics | Mark Friedenbach, Kalle Alm, BtcDrak | Draft |
118 | SIGHASH_NOINPUT | Christian Decker | Draft |
119 | CHECKTEMPLATEVERIFY | Jeremy Rubin | Draft |
120 | Proof of Payment | Kalle Rosenbaum | Withdrawn |
121 | Proof of Payment URI scheme | Kalle Rosenbaum | Withdrawn |
122 | URI scheme for Blockchain references / exploration | Marco Pontello | Draft |
123 | BIP Classification | Eric Lombrozo | Active |
124 | Hierarchical Deterministic Script Templates | Eric Lombrozo, William Swanson | Draft |
125 | Opt-in Full Replace-by-Fee Signaling | David A. Harding, Peter Todd | Proposed |
126 | Best Practices for Heterogeneous Input Script Transactions | Kristov Atlas | Draft |
127 | Simple Proof-of-Reserves Transactions | Steven Roose | Draft |
130 | sendheaders message | Suhas Daftuar | Proposed |
131 | "Coalescing Transaction" Specification (wildcard inputs) | Chris Priest | Draft |
132 | Committee-based BIP Acceptance Process | Andy Chase | Withdrawn |
133 | feefilter message | Alex Morcos | Draft |
134 | Flexible Transactions | Tom Zander | Draft |
135 | Generalized version bits voting | Sancho Panza | Draft |
136 | Bech32 Encoded Tx Position References | Велеслав, Jonas Schnelli, Daniel Pape | Draft |
137 | Signatures of Messages using Private Keys | Christopher Gilliard | Final |
140 | Normalized TXID | Christian Decker | Draft |
141 | Segregated Witness (Consensus layer) | Eric Lombrozo, Johnson Lau, Pieter Wuille | Final |
142 | Address Format for Segregated Witness | Johnson Lau | Withdrawn |
143 | Transaction Signature Verification for Version 0 Witness Program | Johnson Lau, Pieter Wuille | Final |
144 | Segregated Witness (Peer Services) | Eric Lombrozo, Pieter Wuille | Final |
145 | getblocktemplate Updates for Segregated Witness | Luke Dashjr | Final |
146 | Dealing with signature encoding malleability | Johnson Lau, Pieter Wuille | Draft |
147 | Dealing with dummy stack element malleability | Johnson Lau | Final |
148 | Mandatory activation of segwit deployment | Shaolin Fry | Final |
149 | Segregated Witness (second deployment) | Shaolin Fry | Withdrawn |
150 | Peer Authentication | Jonas Schnelli | Draft |
151 | Peer-to-Peer Communication Encryption | Jonas Schnelli | Withdrawn |
152 | Compact Block Relay | Matt Corallo | Final |
154 | Rate Limiting via peer specified challenges | Karl-Johan Alm | Withdrawn |
155 | addrv2 message | Wladimir J. van der Laan | Draft |
156 | Dandelion - Privacy Enhancing Routing | Brad Denby, Andrew Miller, Giulia Fanti, Surya Bakshi, Shaileshh Bojja Venkatakrishnan, Pramod Viswanath | Draft |
157 | Client Side Block Filtering | Olaoluwa Osuntokun, Alex Akselrod, Jim Posen | Draft |
158 | Compact Block Filters for Light Clients | Olaoluwa Osuntokun, Alex Akselrod | Draft |
159 | NODE_NETWORK_LIMITED service bit | Jonas Schnelli | Draft |
171 | Currency/exchange rate information API | Luke Dashjr | Draft |
173 | Base32 address format for native v0-16 witness outputs | Pieter Wuille, Greg Maxwell | Final |
174 | Partially Signed Bitcoin Transaction Format | Andrew Chow | Proposed |
175 | Pay to Contract Protocol | Omar Shibli, Nicholas Gregory | Draft |
176 | Bits Denomination | Jimmy Song | Draft |
178 | Version Extended WIF | Karl-Johan Alm | Draft |
179 | Name for payment recipient identifiers | Emil Engler, MarcoFalke, Luke Dashjr | Draft |
180 | Block size/weight fraud proof | Luke Dashjr | Draft |
197 | Hashed Time-Locked Collateral Contract | Matthew Black, Tony Cai | Draft |
199 | Hashed Time-Locked Contract transactions | Sean Bowe, Daira Hopwood | Draft |
300 | Hashrate Escrows (Consensus layer) | Paul Sztorc, CryptAxe | Draft |
301 | Blind Merged Mining (Consensus layer) | Paul Sztorc, CryptAxe | Draft |
310 | Stratum protocol extensions | Pavel Moravec, Jan Čapek | Draft |
320 | nVersion bits for general purpose use | BtcDrak | Draft |
322 | Generic Signed Message Format | Karl-Johan Alm | Draft |
325 | Signet | Karl-Johan Alm | Draft |
330 | Transaction announcements reconciliation | Gleb Naumenko, Pieter Wuille | Draft |
340 | Schnorr Signatures for secp256k1 | Pieter Wuille, Jonas Nick, Tim Ruffing | Draft |
341 | Taproot: SegWit version 1 spending rules | Pieter Wuille, Jonas Nick, Anthony Towns | Draft |
342 | Validation of Taproot Scripts | Pieter Wuille, Jonas Nick, Anthony Towns | Draft |