BIPs (Bitcoin Improvement Proposals) are design documents for introducing features or information to Bitcoin’s community. Since Bitcoin has no formal structure, this has become the standard for communicating new ideas.
The first BIP was submitted by Amir Taaki on August 19th, 2011. BIPs are as text files and are the responsibility of the author to document. There are three kinds of BIP:
Standards Track BIP
Changes to the network protocol, block or transaction validation, or anything affecting interoperability.
Design issues, general guidelines. This type of BIP is NOT for proposing new features and do not represent community consensus
Describes or proposes a change in process. Similar to Standards BIPs but apply outside the Bitcoin protocol.
Amir’s BIP 0001 was a standards document for the BIP process.
Bitcoin for Mere Mortals: Parts of a BIP
Headers containing BIP meta-data, BIP number, short title, names and contact for the authors
Title: Bitcoin for Mere Mortals: BIPs
Author: Alex Gorale
200-word description of the issue
Public Domain or Open Publication License
Describes the syntax and semantics of new features.
Why the current protocol is unfit and how this BIP solves that problem.
Why design decisions were made, evidence of consensus within the community and discuss objections.
If the BIP is not backwards compatible, it must include a section describing the incompatibilities and their severity. The author must discuss how they plan to address these problems.
Must be complete before “Final” status but must not be complete before the BIP reaches acceptance.
Bitcoin for Mere Mortals: BIP Workflow
Before writing a BIP, the author should vet the idea with the community.
The current BIP editor is Gregory Maxwell. BIP editors must subscribe to the Bitcoin development mailing list. All BIP correspondence is sent or CC’d to [email protected]
Each BIP should focus on one idea but should not be small enhancements or patches. New BIPs must make technical sense and get reviewed for soundness and completeness. The standard language, grammar, title rules apply. If the BIP needs some work, it will be returned to the author with feedback.
If the BIP is ready, it will be assigned a BIP number. Added to the GitHub BIP repository, listed in the wiki and posted to the Bitcoin mailing list. The author is responsible for collecting and addressing feedback.
A reference implementation must be complete and accepted by the community before the BIP will be marked “Final” or “Rejected.” A status of “Active” means the BIP was never meant to become “Final”, like Amir’s BIP 1.
A complete list of Bitcoin Improvement Proposals can be found here.
What do you think of the Bitcoin Improvement Proposal system? Comment below!
Images from BIP 1 and Shutterstock.