Revisiting the BIPS process, a proposal



Summary:

The Bitcoin protocol is in need of a formalized specification, which would help reduce bugs and encourage alternate implementations. However, the problem with this is that no one wants to go off the reference client for fear of working on a forked chain or having bad data as a client. There may be a solution in taking small pieces, getting consensus, using universal test cases, and running on testnet. Transactions/scripting could also be taken on by those who have time, but better qualified people are welcome to join.While the reference implementation serves as the specification, the information on the wiki is best thought of as a set of Coles Notes on the real specification. This has led some to wonder if the notes are deliberately obscured to force everyone to check the source code. However, what is on the wiki is mostly the work of people who aren't working on the reference implementation. Despite this, the openness and transparency of the protocol is essential to trusting the system and for that reason alone it needs to be well-documented.Pieter Wuille believes that due to the nature of the consensus problem Bitcoin solves, it will always be the network that dictates what the actual rules are. In short, consistency is more important than correctness. However, he does not think that making it hard to find information about the details of the system is the way to go. Alternate implementations are likely inevitable and accurately describing the rules should carry a strong notice about it being descriptive rather than normative. Those willing to work on this can consult #bitcoin-dev for any questions about the protocol and its semantics.


Updated on: 2023-06-07T17:59:34.459294+00:00