LBIP stands for Bitcoin Improvement Proposal, which in Spanish means Improvement Proposal for Bitcoin. This is a document that contains a proposal or design to improve the structure or functioning of the Bitcoin ecosystem. Whether this is technical or organizational in nature for the community behind the development of Bitcoin. The proposal is accompanied by a clear and concise explanation and justification of the new feature. This is necessary to submit it to approval or not by the community.
To achieve this, community comments are collected and a consensus is sought on the decision to be made. This work is part of the responsibilities of the author, who must also file positions for and against the proposal. Due to the way work is structured within the Bitcoin Core, they store their changes historically. In this way, the original proposal and its different variations will always be available to the rest of the team. An important work characteristic in the midst of such an active, heterogeneous and international development group.
The proposal to create these documents was given by the cryptanarchist developer Amir Taaki, on August 19, 2011. For its design, Taaki was based on the well-known PEP (Python Enhancement Proposals - Python Enhancement Proposals). Later, the structure would be improved by Luke dashjr.
Types of BIP
There are three types of BIP that can be presented, and they are the following:
Monitoring of Standards
Known as StandardsTrack, these are used to describe changes that affect most or all implementations of Bitcoin. These changes generally include changes to the network protocol, changes to block or transaction validity rules, or any other changes or additions that affect the interoperability of applications using Bitcoin. They tend to be highly technical and widely debated BIPs due to their profound implications for the operation of the blockchain. An example of this type is presented in followed (BIP-141).
These are used to describe or publicize a Bitcoin design problem, giving guidelines or recommendations for its solution. They are generally the results of private, group or business investigations. They present data, evidence or conceptual studies that support the proposal and its claims. An example of this type is Multi-Sig Transaction Distribution or BIP-10.
These describe a process that surrounds Bitcoin, proposing a change or improvement of it. Process BIPs apply to different areas of the Bitcoin protocol. They can propose an implementation, but not directly to the Bitcoin base code. Being more than recommendations, they cannot be ignored like informational BIPs.
Examples of these BIPs include procedures, guidelines, changes to the decision-making process, and changes to the tools or environment used in the development of Bitcoin. Any meta-BIP is also considered a process BIP. An example of these BIPs can be found in the BIP Classification or BIP-123.
Structuring a BIP
A BIP is structured as follows:
- Preamble. This section contains the headings where the BIP metadata is located.
- Summary. Here is a brief description (~ 200 words) of the technical problem being addressed.
- Copyright. This must be explicitly licensed under the acceptable copyright terms. This license is generally GPL-compliant or lacking.
- Specification. This point describes the syntax and semantics of any new features. The specification must be detailed enough to allow competitive and inter-operable implementations for any of the current Bitcoin platforms.
- Motivation. This is where the reasons why the proposal was created are clearly explained. It is crucial that this section is clear and clears any doubts about it and its creation.
- Justification. The specification rationale describes what motivated the design and why particular design decisions were made.
- Backward compatibility. All BIPs that introduce incompatibilities with previous versions must include a section that describes these incompatibilities and their severity. The BIP must explain how the author proposes to deal with these incompatibilities.
- Reference implementation. The reference implementation must complete before any BIP has a status of “Final”, but it does not need to be completed before it is accepted. It's best to finish the spec and justification first and come to a consensus on it before writing the code. The final implementation should include the appropriate test code and documentation for the Bitcoin protocol.
Status of a BIP
A BIP has a certain life cycle that depends on its status. At that point we can say that the status of a BIP are as follows:
- Draft. At this point, the BIP is barely in its earliest filing state. At this point, the BIP is incomplete.
- Deferred. The BIP has been postponed because no progress has been made in its development.
- Proposed. It is the proposal accompanied with most of its explanatory elements and presented to the community. At this point, the debate on its application or not within the Bitcoin development ecosystem begins.
- Rejected. If the proposal presented is not well received, there are harmful elements or any other reason that the community uses for its rejection, it will be marked with this status.
- Retired (Withdraw). This status applies to those proposals that have been withdrawn by their authors for reasons that serve their interest.
- Final / Active. To get to this point, the proposal must have gone through community review and consensus. It must have all the necessary spaces and structures for its approval.
- Replaced. This status is given to proposals that have been replaced by better proposals. Generally because the new proposals, solve or further improve the previously presented proposal.
- Obsolete (Obsolete). This change of status is mainly related when the changes introduced by the BIP are no longer relevant. This can be due to different situations, generally because there are new changes that make its application unnecessary.
BIP and its different representations in other blockchain
There is no doubt that BIPs are a great tool to organize the work and development of Bitcoin. The model was exported from Python, where it has allowed the evolution of this programming language in a very rich way. And the same has happened in other blockchain developments. For example in Ethereum has the known EIP (Ethereum Improvement Proposal) and in Litecoin that LIP (Litecoin Improvement Proposal). Going a little further, in Dash there are DIP (Dash Improvement Proposal) and in TRON there are TIP (TRON Improvement Proposal). Each and every one of these structures base their operation on the basic scheme of the BIP
. With some additions as the developers of these blockchains have believed necessary to adapt them to their particular development.
In any case, it is clear that the BIPs have had a profound impact on the way in which the development work of the BIPs is organized and made public. blockchain. In any case, Bitcoin was really cutting-edge in how to solve this part of the work and that, to this day, still continues to be thanks to the quantity and quality of its presentations.