Abstract: In this piece we take a look at the BIP process and the shenanigans around the assignment of BIP numbers, with three alternative numbering systems being proposed. Frustratingly, there was a delay in assigning BIP numbers as the person allocated this role (Luke Dashjr) was busy with other tasks. It is almost as if Bitcoin development was experiencing minor administrative problems akin to a government bureaucracy. However, a Bitcoin developer appears to have recently solved the problem by adding five new BIP editors.
Overview
BIP stands for “Bitcoin Improvement Proposal” and the system was proposed by Amir Taaki way back in 2011, primarily as a format for how Bitcoin improvement proposals should be structured and organised . This has become successful as an idea and a meme, with the nomenclature being adopted by Ethereum in the form of EIPs.
Recently, some have commented that they have somewhat of a negative view on Bitcoin, because the “BIP editing process is broken and dysfunctional”. My immediate reaction was that this view, at least expressed like that, was wrong. As far as I thought, the BIP editor was supposed to be a largely administrative role, consisting of the following:
Making sure proposals were appropriately formatted
Checking the proposals made basic sense
Correcting any spelling and grammar mistakes
Checking for duplicate BIPs
Assigning a number for the BIPs
The BIP editing process is not supposed to judge improvement ideas on their merits or to be part of an activation or adoption process. Therefore, one could think that complaining about the BIP process failings as a major weakness for Bitcoin felt inappropriate. The BIP editing process is largely an administrative or janitorial issue and should be largely inconsequential to the long term outcomes. Although of course, it is still important and necessary work.
This GitHub repository is part of the Bitcoin Core Github organisation, therefore the owners of the Bitcoin Core repository essentially control this list of BIPs. However, Luke Dashjr was assigned to be in charge of the BIP process and could merge pull requests. Luke did not appear to be doing much work, because as he was too busy with other tasks. LukeJr also did not appear to be able to delegate as well as he could have done.
In April 2021, Luke added Kalle Alm as a BIP editor to assist with the process. However, it eventually seemed to emerge that Kalle’s account did not have the same administrative rights as Luke. There were instances of Kalle specifically asking Luke to assign numbers to BIPs in the comment sections, indicating that Kalle himself did not have the necessary rights to assign BIP numbers. The lack of progress was gradually becoming more and more frustrating to many.
Assigning numbers
A key part of the role of BIP editor appears to be assigning numbers to the BIPs and adding the BIP to the list. Slow progress in getting a BIP number then became frustrating for those proposing improvements to Bitcoin. In a way, not being added to an arbitrary list and not being given an arbitrary number should not matter. Afterall, what is so special about a BIP number? It is basically a random number, other than perhaps the idea that BIP numbers should be allocated such that similar or competing ideas should be given numbers near to each other.
For example, one improvement proposal gaining a lot of traction is a softfork upgrade called OP_CAT. It was written up in October 2023 by Ethan Heilman and up until a few days ago, it had still not been given a BIP number. A day after Ethan made the pull request, Kalle responded saying that it “seems sensible” and then tagged Luke. A couple of days later, Ethan specially asked for a BIP number, and Kalle again diligently responded positively, but Luke was nowhere to be seen, presumably busy with other duties. One can see why Ethan might have been frustrated.
Alternative Numbering Systems
The name “OP_CAT” is simple and catchy enough, why should being assigned a reference number make any difference to anyone? GitHub had automatically assigned the number 1525 to the OP_CAT pull request. Therefore, if one thinks it’s somehow important for a unique numerical code to be associated with OP_CAT, one could use 1525. Luke being slow to assign a number, because he is busy with his mining pool startup, should not be a significant problem.
In January 2024, due to his frustration with the BIP process, Bitcoin developer Anthony Towns, created a new Bitcoin improvement proposal number referencing system called “Bitcoin Inquisition Numbers And Names Authority”, known as BINANA. This is under a separate GitHub repository (i.e. outside the Bitcoin Core organisation). The OP_CAT proposal was then given the number: BIN-2024-0001
In April 2024, OP_CAT proponents and Taproot Wizard co-founders Udi Wertheimer and Eric Wall assigned the number 420 to OP_CAT, and started a campaign to activate OP_CAT with the BIP-420 slogan. “420” is a “meme number” associated with cannabis culture. This was all under a new GitHub repository called bip420. 420 was not an “official” number.
Therefore, due to the outrageously long time it took to give the OP_CAT proposal a reference number, there were already three alternatives: 1525, BIN-2024-0001 and BIP-420. The situation risked degrading further, with a confusing mess of conflicting Bitcoin proposal numbers.
Resolution
On 27 Feb 2024, Ava Chow posted an email to the Bitcoin developer Google Groups list, attempting to address the problem. It is important to note that Ava Chow is a Bitcoin developer who is classified as a “maintainer” in the Bitcoin Core GitHub organisation. As far as we can tell, this means that she can make administrative changes related to the BIPs GitHub repository, such as adding people with the same administrative rights as Luke. Ava wrote:
I think it is prudent for us to look at adding more BIPs editors. These people would have the same permissions and responsibilities that Luke has, i.e. can assign BIP numbers, merge PRs adding new BIPs, merge PRs to fix existing BIPs,and all other responsibilities
This then kicked off a chain of 94 messages of discussion. Some of the discussion was entirely sensible and some of it became a bit ridiculous. Topics of discussion included:
Who should be appointed?
What should the timeline be for adding the new BIP editors?
How many new editors should there be?
Is Luke happy with the new editors?
Isn’t it a bit much going from 1 editor to 6 so quickly?
What if the new editors engage in a revert war?
What if BIPs contain lies and misinformation about softfork activations?
Anyway, Ava appeared to address any concerns in a diligent way. We can assume that this was not a task she wanted to focus on, but someone had to do it. Finally, a couple of days ago five new BIP editors were added alongside Luke:
Bryan Bishop (aka Kanzure)
Murch
Ruben Somsen
Olaoluwa Osuntokun (aka Roasbeef)
Jon Atack
The problem of a lack of progress in assigning BIP numbers now seems completely solved. This is probably overkill, in terms of the number of people, their Bitcoin expertise and work ethic, as we now have five of the brightest minds in the space and most productive people as BIP editors. In the last few days, Murch and Jon Attack appear to be working through the backlog and the issue is now resolved.
Conclusion
The timing of the resolution to the BIP editor problem appears to be pretty good. On 24 April 2024, OP_CAT was finally given a BIP number, BIP-347. This worked out to be just a couple of days after Udi and Eric started their 420 campaign.
At last OP_CAT has an “official” BIP number and can now move on its quantum path towards activation and props to Ava Chow for sorting this issue out.