Skip to content

Latest commit

 

History

History
117 lines (112 loc) · 17.2 KB

appdx-bips.asciidoc

File metadata and controls

117 lines (112 loc) · 17.2 KB

Appendix A: Bitcoin Improvement Proposals

Bitcoin Improvement Proposals are design documents providing information to the bitcoin community, or for describing a new feature for bitcoin or its processes or environment.

As per BIP-01 BIP Purpose and Guidelines, there are three kinds of BIPs:

Standard BIP

Describes any change that affects most or all bitcoin implementations, such as a change to the network protocol, a change in block or transaction validity rules, or any change or addition that affects the interoperability of applications using bitcoin.

Informational BIP

Describes a bitcoin design issue, or provides general guidelines or information to the bitcoin community, but does not propose a new feature. Informational BIPs do not necessarily represent a bitcoin community consensus or recommendation, so users and implementors may ignore informational BIPs or follow their advice.

Process BIP

Describes a bitcoin process, or proposes a change to (or an event in) a process. Process BIPs are like standard BIPs but apply to areas other than the bitcoin protocol itself. They might propose an implementation, but not to bitcoin’s codebase; they often require community consensus; and unlike informational BIPs, they are more than recommendations, and users are typically not free to ignore them. Examples include procedures, guidelines, changes to the decision-making process, and changes to the tools or environment used in bitcoin development. Any meta-BIP is also considered a process BIP.

BIPs are recorded in a versioned repository on GitHub: https://github.com/bitcoin/bips. Snapshot of BIPs shows a snapshot of the BIPs in April 2017. Consult the authoritative repository for up-to-date information on existing BIPs and their contents.

Table 1. Snapshot of BIPs
BIP# Title Owner Type Status

BIP-1

BIP Purpose and Guidelines

Amir Taaki

Process

Replaced

BIP-2

BIP process, revised

Luke Dashjr

Process

Active

BIP-8

Version bits with guaranteed lock-in

Shaolin Fry

Informational

Draft

BIP-9

Version bits with timeout and delay

Pieter Wuille, Peter Todd, Greg Maxwell, Rusty Russell

Informational

Final

BIP-10

Multi-Sig Transaction Distribution

Alan Reiner

Informational

Withdrawn

BIP-11

M-of-N Standard Transactions

Gavin Andresen

Standard

Final

BIP-12

OP_EVAL

Gavin Andresen

Standard

Withdrawn

BIP-13

Address Format for pay-to-script-hash

Gavin Andresen

Standard

Final

BIP-14

Protocol Version and User Agent

Amir Taaki, Patrick Strateman

Standard

Final

BIP-15

Aliases

Amir Taaki

Standard

Deferred

BIP-16

Pay to Script Hash

Gavin Andresen

Standard

Final

BIP-17

OP_CHECKHASHVERIFY (CHV)

Luke Dashjr

Standard

Withdrawn

BIP-18

hashScriptCheck

Luke Dashjr

Standard

Proposed

BIP-19

M-of-N Standard Transactions (Low SigOp)

Luke Dashjr

Standard

Draft

BIP-20

URI Scheme

Luke Dashjr

Standard

Replaced

BIP-21

URI Scheme

Nils Schneider, Matt Corallo

Standard

Final

BIP-22

getblocktemplate - Fundamentals

Luke Dashjr

Standard

Final

BIP-23

getblocktemplate - Pooled Mining

Luke Dashjr

Standard

Final

BIP-30

Duplicate transactions

Pieter Wuille

Standard

Final

BIP-31

Pong message

Mike Hearn

Standard

Final

BIP-32

Hierarchical Deterministic Wallets

Pieter Wuille

Informational

Final

BIP-33

Stratized Nodes

Amir Taaki

Standard

Draft

BIP-34

Block v2, Height in Coinbase

Gavin Andresen

Standard

Final

BIP-35

mempool message

Jeff Garzik

Standard

Final

BIP-36

Custom Services

Stefan Thomas

Standard

Draft

BIP-37

Connection Bloom filtering

Mike Hearn, Matt Corallo

Standard

Final

BIP-38

Passphrase-protected private key

Mike Caldwell, Aaron Voisine

Standard

Draft

BIP-39

Mnemonic code for generating deterministic keys

Marek Palatinus, Pavol Rusnak, Aaron Voisine, Sean Bowe

Standard

Proposed

BIP-40

Stratum wire protocol

Marek Palatinus

Standard

BIP number allocated

BIP-41

Stratum mining protocol

Marek Palatinus

Standard

BIP number allocated

BIP-42

A finite monetary supply for Bitcoin

Pieter Wuille

Standard

Draft

BIP-43

Purpose Field for Deterministic Wallets

Marek Palatinus, Pavol Rusnak

Informational

Draft

BIP-44

Multi-Account Hierarchy for Deterministic Wallets

Marek Palatinus, Pavol Rusnak

Standard

Proposed

BIP-45

Structure for Deterministic P2SH Multisignature Wallets

Manuel Araoz, Ryan X. Charles, Matias Alejo Garcia

Standard

Proposed

BIP-47

Reusable Payment Codes for Hierarchical Deterministic Wallets

Justus Ranvier

Informational

Draft

BIP-49

Derivation scheme for P2WPKH-nested-in-P2SH based accounts

Daniel Weigl

Informational

Draft

BIP-50

March 2013 Chain Fork Post-Mortem

Gavin Andresen

Informational

Final

BIP-60

Fixed Length "version" Message (Relay-Transactions Field)

Amir Taaki

Standard

Draft

BIP-61

Reject P2P message

Gavin Andresen

Standard

Final

BIP-62

Dealing with malleability

Pieter Wuille

Standard

Withdrawn

BIP-63

Stealth Addresses

Peter Todd

Standard

BIP number allocated

BIP-64

getutxo message

Mike Hearn

Standard

Draft

BIP-65

OP_CHECKLOCKTIMEVERIFY

Peter Todd

Standard

Final

BIP-66

Strict DER signatures

Pieter Wuille

Standard

Final

BIP-67

Deterministic Pay-to-script-hash multi-signature addresses through public key sorting

Thomas Kerin, Jean-Pierre Rupp, Ruben de Vries

Standard

Proposed

BIP-68

Relative lock-time using consensus-enforced sequence numbers

Mark Friedenbach, BtcDrak, Nicolas Dorier, kinoshitajona

Standard

Final

BIP-69

Lexicographical Indexing of Transaction Inputs and Outputs

Kristov Atlas

Informational

Proposed

BIP-70

Payment Protocol

Gavin Andresen, Mike Hearn

Standard

Final

BIP-71

Payment Protocol MIME types

Gavin Andresen

Standard

Final

BIP-72

bitcoin: uri extensions for Payment Protocol

Gavin Andresen

Standard

Final

BIP-73

Use "Accept" header for response type negotiation with Payment Request URLs

Stephen Pair

Standard

Final

BIP-74

Allow zero value OP_RETURN in Payment Protocol

Toby Padilla

Standard

Draft

BIP-75

Out of Band Address Exchange using Payment Protocol Encryption

Justin Newton, Matt David, Aaron Voisine, James MacWhyte

Standard

Draft

BIP-80

Hierarchy for Non-Colored Voting Pool Deterministic Multisig Wallets

Justus Ranvier, Jimmy Song

Informational

Deferred

BIP-81

Hierarchy for Colored Voting Pool Deterministic Multisig Wallets

Justus Ranvier, Jimmy Song

Informational

Deferred

BIP-83

Dynamic Hierarchical Deterministic Key Trees

Eric Lombrozo

Standard

Draft

BIP-90

Buried Deployments

Suhas Daftuar

Informational

Draft

BIP-99

Motivation and deployment of consensus rule changes ([soft/hard]forks)

Jorge Timón

Informational

Draft

BIP-101

Increase maximum block size

Gavin Andresen

Standard

Withdrawn

BIP-102

Block size increase to 2MB

Jeff Garzik

Standard

Draft

BIP-103

Block size following technological growth

Pieter Wuille

Standard

Draft

BIP-104

'Block75' - Max block size like difficulty

t.khan

Standard

Draft

BIP-105

Consensus based block size retargeting algorithm

BtcDrak

Standard

Draft

BIP-106

Dynamically Controlled Bitcoin Block Size Max Cap

Upal Chakraborty

Standard

Draft

BIP-107

Dynamic limit on the block size

Washington Y. Sanchez

Standard

Draft

BIP-109

Two million byte size limit with sigop and sighash limits

Gavin Andresen

Standard

Rejected

BIP-111

NODE_BLOOM service bit

Matt Corallo, Peter Todd

Standard

Proposed

BIP-112

CHECKSEQUENCEVERIFY

BtcDrak, Mark Friedenbach, Eric Lombrozo

Standard

Final

BIP-113

Median time-past as endpoint for lock-time calculations

Thomas Kerin, Mark Friedenbach

Standard

Final

BIP-114

Merkelized Abstract Syntax Tree

Johnson Lau

Standard

Draft

BIP-120

Proof of Payment

Kalle Rosenbaum

Standard

Draft

BIP-121

Proof of Payment URI scheme

Kalle Rosenbaum

Standard

Draft

BIP-122

URI scheme for Blockchain references / exploration

Marco Pontello

Standard

Draft

BIP-123

BIP Classification

Eric Lombrozo

Process

Active

BIP-124

Hierarchical Deterministic Script Templates

Eric Lombrozo, William Swanson

Informational

Draft

BIP-125

Opt-in Full Replace-by-Fee Signaling

David A. Harding, Peter Todd

Standard

Proposed

BIP-126

Best Practices for Heterogeneous Input Script Transactions

Kristov Atlas

Informational

Draft

BIP-130

sendheaders message

Suhas Daftuar

Standard

Proposed

BIP-131

"Coalescing Transaction" Specification (wildcard inputs)

Chris Priest

Standard

Draft

BIP-132

Committee-based BIP Acceptance Process

Andy Chase

Process

Withdrawn

BIP-133

feefilter message

Alex Morcos

Standard

Draft

BIP-134

Flexible Transactions

Tom Zander

Standard

Draft

BIP-140

Normalized TXID

Christian Decker

Standard

Draft

BIP-141

Segregated Witness (Consensus layer)

Eric Lombrozo, Johnson Lau, Pieter Wuille

Standard

Draft

BIP-142

Address Format for Segregated Witness

Johnson Lau

Standard

Deferred

BIP-143

Transaction Signature Verification for Version 0 Witness Program

Johnson Lau, Pieter Wuille

Standard

Draft

BIP-144

Segregated Witness (Peer Services)

Eric Lombrozo, Pieter Wuille

Standard

Draft

BIP-145

getblocktemplate Updates for Segregated Witness

Luke Dashjr

Standard

Draft

BIP-146

Dealing with signature encoding malleability

Johnson Lau, Pieter Wuille

Standard

Draft

BIP-147

Dealing with dummy stack element malleability

Johnson Lau

Standard

Draft

BIP-148

Mandatory activation of segwit deployment

Shaolin Fry

Standard

Draft

BIP-150

Peer Authentication

Jonas Schnelli

Standard

Draft

BIP-151

Peer-to-Peer Communication Encryption

Jonas Schnelli

Standard

Draft

BIP-152

Compact Block Relay

Matt Corallo

Standard

Draft

BIP-171

Currency/exchange rate information API

Luke Dashjr

Standard

Draft

BIP-180

Block size/weight fraud proof

Luke Dashjr

Standard

Draft

BIP-199

Hashed Time-Locked Contract transactions

Sean Bowe, Daira Hopwood

Standard

Draft