Bitcoin Improvement Proposal

Last updated

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.

Contents

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. [1]
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. [2] [3] CLTV is described as an example of a soft-fork in Blockchain Technology Overview published by NIST. [4]
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. [3] 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, [5] 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]

Timelock applications

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]

Related Research Articles

A smart contract is a computer program or a transaction protocol which is intended to automatically execute, control or document legally relevant events and actions according to the terms of a contract or an agreement. The objectives of smart contracts are the reduction of need in trusted intermediators, arbitrations and enforcement costs, fraud losses, as well as the reduction of malicious and accidental exceptions.

Double-spending is a potential flaw in a digital cash scheme in which the same single digital token can be spent more than once. Unlike physical cash, a digital token consists of a digital file that can be duplicated or falsified. As with counterfeit money, such double-spending leads to inflation by creating a new amount of copied currency that did not previously exist. This devalues the currency relative to other monetary units or goods and diminishes user trust as well as the circulation and retention of the currency. Fundamental cryptographic techniques to prevent double-spending, while preserving anonymity in a transaction, are blind signatures and, particularly in offline systems, secret splitting.

Bitcoin () is a cryptocurrency. It is a decentralized digital currency without a central bank or single administrator that can be sent from user to user on the peer-to-peer bitcoin network without the need for intermediaries.

Cryptocurrency digital medium of exchange

A cryptocurrency is a digital asset designed to work as a medium of exchange wherein individual coin ownership records are stored in a digital ledger or computerized database using strong cryptography to secure transaction record entries, to control the creation of additional digital coin records, and to verify the transfer of coin ownership. It typically does not exist in physical form and is typically not issued by a central authority. Some cryptocurrencies use decentralized control as opposed to centralized digital currency and central banking systems. When a cryptocurrency is minted or created prior to issuance or held on a centralized exchange, it is generally considered centralized. When implemented with decentralized control, each cryptocurrency works through distributed ledger technology, typically a blockchain, that serves as a public financial transaction database.

Litecoin is a peer-to-peer cryptocurrency and open-source software project released under the MIT/X11 license. Creation and transfer of coins is based on an open source cryptographic protocol and is not managed by any central authority. Litecoin was an early bitcoin spinoff or altcoin, starting in October 2011. In technical details, litecoin is nearly identical to Bitcoin.

SipHash is an add–rotate–xor (ARX) based family of pseudorandom functions created by Jean-Philippe Aumasson and Daniel J. Bernstein in 2012, in response to a spate of "hash flooding" denial-of-service attacks in late 2011.

Bitcoin network Peer-to-peer payment network that operates on a cryptographic protocol

The bitcoin network is a peer-to-peer payment network that operates on a cryptographic protocol. Users send and receive bitcoins, the units of currency, by broadcasting digitally signed messages to the network using bitcoin cryptocurrency wallet software. Transactions are recorded into a distributed, replicated public database known as the blockchain, with consensus achieved by a proof-of-work system called mining. Satoshi Nakamoto, the designer of bitcoin, claimed that design and coding of bitcoin began in 2007. The project was released in 2009 as open source software.

Ethereum Open source blockchain computing platform

Ethereum is the second largest cryptocurrency platform by market capitalization, behind Bitcoin. It is a decentralized open source blockchain featuring smart contract functionality. Ether is the cryptocurrency generated by Ethereum miners as a reward for computations performed to secure the blockchain. Ethereum serves as the platform for over 260,000 different cryptocurrencies, including 47 of the top 100 cryptocurrencies by market capitalization.

Counterparty (platform) Cryptocurrency platform

Counterparty is a peer-to-peer financial platform and distributed, open source Internet protocol built on top of the Bitcoin blockchain and network. It was one of the most well-known "Bitcoin 2.0" platforms in 2014, along with Mastercoin, Ethereum, Colored Coins, Ripple and BitShares. It is a "metacoin"-type protocol. It provides such features as tradable user-created currencies, additional financial instruments and a decentralized asset exchange. In November of 2014, Counterparty added support for the Ethereum Virtual Machine to the Counterparty protocol and allowing all Ethereum decentralized applications to be run on the Bitcoin blockchain within the Counterparty protocol.

Bitcoin Core Cryptocurrency wallet software

Bitcoin Core is free and open-source software that serves as a bitcoin node and provides a bitcoin wallet which fully verifies payments. It is considered to be bitcoin's reference implementation. Initially, the software was published by Satoshi Nakamoto under the name "Bitcoin", and later renamed to "Bitcoin Core" to distinguish it from the network. It is also known as the Satoshi client.

Monero is an open-source cryptocurrency created in April 2014 that focuses on fungibility, privacy and decentralization. Monero uses an obfuscated public ledger, meaning anybody can broadcast or send transactions, but no outside observer can tell the source, amount or destination. Monero uses a Proof of Work mechanism to issue new coins and incentivize miners to secure the network and validate transactions.

Bitcoin XT

Bitcoin XT was a fork of Bitcoin Core, the reference client for the bitcoin network. In mid-2015, the concept achieved significant attention within the bitcoin community amid a contentious debate among core developers over increasing the block size cap. The current reference implementation for bitcoin contains a computational bottleneck.

Ethereum Classic Open source blockchain computing platform

Ethereum Classic is an open source, blockchain-based distributed computing platform featuring smart contract (scripting) functionality. It supports a modified version of Nakamoto consensus via transaction-based state transitions executed on a public Ethereum Virtual Machine (EVM).

Zcash cryptocurrency

Zcash is a cryptocurrency aimed at using cryptography to provide enhanced privacy for its users compared to other cryptocurrencies such as Bitcoin.

Zcoin Cryptocurrency

Zcoin is a cryptocurrency aimed at using cryptography to provide better privacy for its users compared to other cryptocurrencies such as Bitcoin.

Lightning Network "Layer 2" payment protocol that operates on top of a blockchain-based cryptocurrency

The Lightning Network is a "layer 2" payment protocol that operates on top of a blockchain-based cryptocurrency. It is supposed to enable fast transactions among participating nodes and has been proposed as a solution to the bitcoin scalability problem. It features a peer-to-peer system for making micropayments of cryptocurrency through a network of bidirectional payment channels without delegating custody of funds. Lightning Network implementation also simplifies atomic swaps.

Bitcoin scalability problem Scaling problem in bitcoin processing

The bitcoin scalability problem is the limited rate at which the bitcoin network can process transactions. It is related to the fact that records in the bitcoin blockchain are limited in size and frequency.

Segregated Witness, or SegWit, is the name used for an implemented soft fork change in the transaction format of Bitcoin.

A cryptocurrency wallet is a device, physical medium, program or a service which stores the public and/or private keys and can be used to track ownership, receive or spend cryptocurrencies. The cryptocurrency itself is not in the wallet. In the case of bitcoin and cryptocurrencies derived from it, the cryptocurrency is decentrally stored and maintained in a publicly available distributed ledger called the blockchain.

A blockchain is a shared database that records transactions between two parties in an immutable ledger. Blockchains document and confirm pseudonymous ownership of all existing coins within a cryptocurrency ecosystem at any given time through cryptography. After a transaction is validated and cryptographically verified by other participants or nodes in the network, it is made into a "block" on the blockchain. A block contains information about the time the transaction occurred, previous transactions, and details about the transaction. Once recorded as a block, transactions are ordered chronologically and cannot be altered. This technology rose to popularity after the creation of Bitcoin, the first application of blockchain technology, which has since catalyzed other cryptocurrencies and applications.

References

Referenced BIPs

  1. "BIP 123: BIP Classification". GitHub. Retrieved 21 October 2018.
  2. "BIP 9: Deployments". GitHub. Retrieved 21 October 2018.
  3. "BIP 32: Hierarchical Deterministic Wallets". GitHub. Retrieved 21 October 2018.
  4. "BIP 39: Mnemonic code for generating deterministic keys". GitHub. Retrieved 21 October 2018.
  5. 1 2 "BIP 43: Purpose Field for Deterministic Wallets". GitHub. Retrieved 21 October 2018.
  6. "BIP 65: OP_CHECKLOCKTIMEVERIFY". GitHub. Retrieved 21 October 2018.
  7. 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)
  8. "BIP 158: Compact Block Filters for Light Clients". GitHub. Retrieved 30 October 2019.
  9. Gleb Naumenko, Pieter Wuille (2019-09-25). "Transaction announcements reconciliation". GitHub.
  10. Sean Bowe, Daira Hopwood. "Hashed Time-Locked Contract transactions".

Journal references

  1. Douglas Stebila (January 26, 2015). "Hierarchical Deterministic Bitcoin wallets that tolerate key leakage". Financial Cryptography and Data Security 2015.
  2. Möser, Malte; Eyal, Ittay; Gün Sirer, Emin (February 2016). "Bitcoin Covenants". Financial Cryptography and Data Security (2016): 126–141.
  3. "Enhancing Bitcoin Transactions with Covenants" (PDF). Financial Cryptography and Data Security 2017. November 17, 2017.
  4. 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)
  5. 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.
  6. Maurice Herlihy (18 May 2018). "Atomic Cross-Chain Swaps" (PDF). Proceedings of the Twenty-second Annual Symposium on Principles of Distributed Computing 2018.
  7. 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)

Other references