Bitcoin Improvement Proposal
A Bitcoin Improvement Proposal (BIP) is a design document, typically describing a new feature for Bitcoin with a concise technical specification of the feature and the rationale for it. This is broadly similar to the way in which Internet "Request for Comments" (RFCs) and the Python computer language's "Python Enhancement Proposals" (PEPs) are used.
The process itself is documented in BIP 2, and BIP 123 provides a categorization.[bip 1]
List of selected BIPs
- 2 BIP process, revised
- BIP 2 specifies the BIP process. BIP numbers are awarded liberally. As of February 2017, 152 BIP numbers have been assigned, but only 27 BIP's have reached the active/final stages.
- 9 Version bits with timeout and delay
- BIP specifies a state machine for determining 95% miner consensus of soft forks. There has been one successful BIP 9 soft fork, and one, Segregated Witness, is, as of 2017, open for voting.[bip 2]
- 16 Pay to script hash
- Allows transactions to be sent to a script hash (address starting with 3) instead of a public key hash (addresses starting with 1). To spend bitcoins sent via P2SH, the recipient must provide a script matching the script hash, and data which makes the script evaluate to true. The recipient might need the signatures of several people to spend these bitcoins, or a password might be required, or the requirements could be completely unique. P2SH is covered in the glossary of Mastering Bitcoin.
- 32 Defines HD wallets
- These HD ('Hierarchical Deterministic") wallets can be shared partially or entirely with different systems.[bip 3] Vitalik Buterin says that a BIP32 master private key can be seen as being the top of an infinitely descending tree, capable of recovering every key below it. Douglas Stebila has written a short paper describing a weakness of BIP-32.[journal 1]
- 39 Mnemonic code or sentences
- For the generation of deterministic wallets.[bip 4]
- 43 Adds a "Purpose Field" for use HD wallets
- To determine the further structure; for example, the scheme described in BIP44 should use the value 44' as the "purpose".[bip 5]
- 44 Logical hierarchy for deterministic wallets
- based on the algorithm described in BIP32 and "purpose" scheme described in BIP43.[bip 5]
- 65 CHECKLOCKTIMEVERIFY
- CLTV allows a transaction output to be unspendable until some specific point of time in the future.[bip 6] The unlocking time can be a specific date, or it can be a certain block height. Andreas Antonopoulos has written a section about CLTV in his book Mastering Bitcoin. CLTV is described as an example of a soft-fork in Blockchain Technology Overview published by NIST.
- 112 CHECKSEQUENCEVERIFY
- CSV enables making an address (starting with 3) which can't spend bitcoin received, for a specified amount of time after receiving. One can have a 2-of-3 multisig address, which times out to a backup rule, unless there is 2-of-3 consensus. A transaction that spends an output using CSV is valid only after an amount of time has passed, which is calculated from the relative difference in block heights. Antonopoulos has also written a section regarding CSV in the aforementioned book. CSV is assumed available in the article Bitcoin Covenants available in the proceedings of the conference Financial Cryptography and Data Security 2016.[journal 2] The paper Enhancing Bitcoin Transactions with Covenants describes how CSV is not sufficient for general-purpose covenants.[journal 3]
- 141, 143, 144
- See SegWit
- 152 Compact Blocks
- Merged on 22 June 2016, Compact Blocks enables faster block propagation, and was used on 97% of nodes in November 2017. It requires less bandwidth.
- 156 Dandelion — Privacy Enhancing Routing
- Dandelion is a transaction routing mechanism that provides formal anonymity guarantees against deanonymization attacks.[bip 7] The paper was published at Sigmetrics 2017.[journal 4]
- 158 Compact Block Filters for Light Clients
- Merged in August 2018, these Golomb-coded set-based filters allows for clients to probe whether a block contains a transaction without telling anyone which transactions they are interested in.[bip 8]
- 330 Transaction announcements reconciliation
- a P2P protocol extension for reconciliation of transaction announcements between 2 nodes, which is a building block for efficient transaction relay protocols.[bip 9] This BIP is also covered by a paper.[journal 5]
CSV and CLTV are both timelocks. The paper Atomic Cross-Chain Swaps[journal 6] references BIP-199 which uses CLTV or CSV.[bip 10] The paper A Formal Model of Bitcoin Transactions abstracts over the opcodes CSV and CLTV, and instead calls them relLock and absLock.[journal 7]
- "BIP 123: BIP Classification". GitHub. Retrieved 21 October 2018.
- "BIP 9: Deployments". GitHub. Retrieved 21 October 2018.
- "BIP 32: Hierarchical Deterministic Wallets". GitHub. Retrieved 21 October 2018.
- "BIP 39: Mnemonic code for generating deterministic keys". GitHub. Retrieved 21 October 2018.
- "BIP 43: Purpose Field for Deterministic Wallets". GitHub. Retrieved 21 October 2018.
- "BIP 65: OP_CHECKLOCKTIMEVERIFY". GitHub. Retrieved 21 October 2018.
- Brad Denby, Andrew Miller, Giulia Fanti, Surya Bakshi, Shaileshh Bojja Venkatakrishnan, Pramod Viswanath (2017-06-09). "BIP 156: Dandelion - Privacy Enhancing Routing". GitHub. Retrieved June 28, 2020.CS1 maint: Multiple names: authors list (link)
- "BIP 158: Compact Block Filters for Light Clients". GitHub. Retrieved 30 October 2019.
- Gleb Naumenko, Pieter Wuille (2019-09-25). "Transaction announcements reconciliation". GitHub.
- Sean Bowe, Daira Hopwood. "Hashed Time-Locked Contract transactions".
- Douglas Stebila (January 26, 2015). "Hierarchical Deterministic Bitcoin wallets that tolerate key leakage". Financial Cryptography and Data Security 2015.
- Möser, Malte; Eyal, Ittay; Gün Sirer, Emin (February 2016). "Bitcoin Covenants". Financial Cryptography and Data Security (2016): 126–141.
- "Enhancing Bitcoin Transactions with Covenants" (PDF). Financial Cryptography and Data Security 2017. November 17, 2017.
- Brad Denby, Andrew Miller, Giulia Fanti, Surya Bakshi, Shaileshh Bojja Venkatakrishnan, Pramod Viswanath (June 2017). "Dandelion: Redesigning the Bitcoin Network for Anonymity". Proceedings of the Association for Computing Machinery on Measurement and Analysis of Computing Systems.CS1 maint: Multiple names: authors list (link)
- Naumenko, Gleb; Wuille, Pieter (November 2019). "Erlay: Efficient Transaction Relay for Bitcoin". CCS: Proceedings of the ACM SIGSAC Conference on Computer and Communications Security (2019): 817–831. doi:10.1145/3319535.3354237.
- Maurice Herlihy (18 May 2018). "Atomic Cross-Chain Swaps" (PDF). Proceedings of the Twenty-second Annual Symposium on Principles of Distributed Computing 2018.
- Nicola Atzei, Massimo Bartoletti, Stefano Lande, Roberto Zunino (August 29, 2019). "A formal Model of Bitcoin Transactions". Financial Cryptography and Data Security 2018.CS1 maint: Multiple names: authors list (link)
- Mastering Bitcoin 2nd Edition: Programming the Open Blockchain (2017, O'Reilly) ISBN 978-1491954386 Search this book on .
- Page 29: https://arxiv.org/pdf/1906.11078.pdf
- "Compact Blocks FAQ". Bitcoin Core blog. Retrieved 21 October 2018.
This article "Bitcoin Improvement Proposal" is from Wikipedia. The list of its authors can be seen in its historical and/or the page Edithistory:Bitcoin Improvement Proposal. Articles copied from Draft Namespace on Wikipedia could be seen on the Draft Namespace of Wikipedia and not main one.