A mostly self-managed scheme without exploding number spaces and half-decent 
quality control:

New ideas and proposals-in-development are in a draft/discussion state without 
any assigned or reserved BIP ordinal and remain as such until the following 
three conditions are true:

1 - author(s) consider the proposal final and want to promote it to a BIP.
Purpose: quality ensured by reputation 
Risk: Expectations, Experience, Ego

2 - enough non-author interactions with the draft exist. This can be platform 
agnostic, with „interactions“ meaning comments, non-author contributors, likes, 
stars, threads,.. and „enough“ meaning flat thresholds, a function of various 
factors, a combination of the two or nothing specific at all. 
Purpose: quality ensured by many 
Risk: heated discussions on stupid topics and spam inflate interactions 

3 - no other drafts exist that fulfill condition 1 and 2 and seek the ordinal 
„lastBIP#+1“. 
Purpose: avoiding coincidental concurrency issues and fights over esoteric 
numbers. 
Risk: resolutions may need moderation and can be tedious 

Draft promotions are done in batches at e.g. every quadruple-zero ending block 
number (xx0000) - a bit more often than once a quarter or more often at e.g 
every 2016 blocks (~2w) at difficulty adjustment. 



Fairly straightforward and simple methodology, but should still provide - in an 
ideal world - enough framework for proposers to self manage fully. In realistic 
worlds, we can use BIP maintainers to moderate and protect the process. 

Condition 2 „Interactions“ could be changed to „Enough non-authors consider 
proposal final“ to ensure more quality by enticing co-responsibility, but it’d 
need a new approval process, which is more annoying than soft-defining required 
levels of community engagement and relying on the authors for common sense. 

Best,
A


On 27.10.2023, at 00:12, Peter Todd via bitcoin-dev 
<bitcoin-dev@lists.linuxfoundation.org> wrote:

On Tue, Oct 24, 2023 at 03:56:55PM -0700, Olaoluwa Osuntokun via bitcoin-dev 
wrote:
> TL;DR: let's just use an automated system to assign BIP numbers, so we can
> spend time on more impactful things.

Yes, an easy way to do that is to use a mathematical function, like SHA256(<bip 
contents>)
or Pubkey(<bip author controlled secret key>).

Of course, that's also silly, as we might as well use URLs at that point...

> IIUC, one the primary roles of the dedicated BIP maintainers is just to hand
> out BIP numbers for documents. Supposedly with this privilege, the BIP
> maintainer is able to tastefully assign related BIPs to consecutive numbers,
> and also reserve certain BIP number ranges for broad categories, like 3xx
> for p2p changes (just an example).
> 
> To my knowledge, the methodology for such BIP number selection isn't
> published anywhere, and is mostly arbitrary. As motioned in this thread,
> some perceive this manual process as a gatekeeping mechanism, and often
> ascribe favoritism as the reason why PR X got a number immediately, but PR Y
> has waited N months w/o an answer.
> 
> Every few years we go through an episode where someone is rightfully upset
> that they haven't been assigned a BIP number after following the requisite
> process.  Most recently, another BIP maintainer was appointed, with the hope
> that the second maintainer would help to alleviate some of the subjective
> load of the position.  Fast forward to this email thread, and it doesn't
> seem like adding more BIP maintainers will actually help with the issue of
> BIP number assignment.
> 
> Instead, what if we just removed the subjective human element from the
> process, and switched to using PR numbers to assign BIPs? Now instead of
> attempting to track down a BIP maintainer at the end of a potentially
> involved review+iteration period, PRs are assigned BIP numbers as soon as
> they're opened and we have one less thing to bikeshed and gatekeep.
> 
> One down side of this is that assuming the policy is adopted, we'll sorta
> sky rocket the BIP number space. At the time of writing of this email, the
> next PR number looks to be 1508. That doesn't seem like a big deal to me,
> but we could offset that by some value, starting at the highest currently
> manually assigned BIP number. BIP numbers would no longer always be
> contiguous, but that's sort of already the case.
> 
> There's also the matter of related BIPs, like the segwit series (BIPs 141,
> 142, 143, 144, and 145). For these, we can use a suffix scheme to indicate
> the BIP lineage. So if BIP 141 was the first PR, then BIP 142 was opened
> later, the OP can declare the BIP 142 is BIP 141.2 or BIP 141-2. I don't
> think it would be too difficult to find a workable scheme.

At that point, why are we bothering with numbers at all? If BIP #'s aren't
memorable, what is their purpose? Why not just let people publish ideas on
their own web pages and figure out what we're going to call those ideas on a
case-by-case basis.

All this gets back to my original point: a functioning BIP system is
*inherently* centralized and involves human gatekeepers who inevitably have to
apply standards to approve BIPs. You can't avoid this as long as you want a BIP
system.

--
https://petertodd.org 'peter'[:-1]@petertodd.org
_______________________________________________
bitcoin-dev mailing list
bitcoin-dev@lists.linuxfoundation.org
https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev
_______________________________________________
bitcoin-dev mailing list
bitcoin-dev@lists.linuxfoundation.org
https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev

Reply via email to