Subject: Re: [bitcoin-dev] [BIP/Draft] BIP Acceptance Process

From: Andy Chase <[email-masked]>
Date: Fri, 4 Sep 2015 13:13:18 -0700

Thanks for your thoughts.

My proposal isn't perfect for sure. There's likely much better ways to do
it. But to be clear what I'm trying to solve is basically this:

Who makes high-level Bitcoin decisions? Miners, client devs, merchants, or
users? Let's set up a system where everyone has a say and clear acceptance
can be reached.

---

My motivation for writing this proposal is stated right at the start:
> "The current process for accepting a BIP is not clearly defined. While
BIP-0001 defines the process for writing and submitting a Bitcoin
Improvement Proposal to the community it does not specify the precise
method for which BIPs are considered accepted or rejected."

BIPs are considered "accepted" right now based on an undefined system,
quite honestly. Btc Drak: What's the system for accepting a BIP? Words like
"consensus" come up but they aren't defined. My goal is to define a system
that makes finding "consensus" (I like the word "acceptance" better) in a
clear and fair way.

I.e. what's broken?

* Being sure that a proposal is widely accepted or rejected
* Preventing deadlock (i.e. one person's weak objections preventing
acceptance)
* Receiving feedback from important segments like user groups,
merchants/exchanges, etc. in a systematic and clear way instead of going
and forth or having "oracles" on technical advisory boards.

> Yes the process is loose, but is it broken?

Yes/No. Work gets done with the current process. Work can get done with
this process. The goal is for this process is to be safer/clearer/better
defined way.

> There have been a flood of
> BIPs added recently with zero bureaucracy or friction.

As we move forward, we want to balance the powers in such a way that we may
want to pause a bit before we accept each proposal. 2 weeks for comments +
2 weeks for opinions will slow things down, but it shouldn't stall
meaningful work. I used 4 weeks for the process with the understanding that
most proposals are clear and easily acceptable. Controversial proposals
will likely need more time and thus will likely have be submitted at least
twice to discover a clear response.

"Accepting" a BIP means just that: It's accepted. What's acceptance mean?
This proposal provides an answer.

Client implementations, users, miners, and merchants can feel safe
implementing and using a feature that has clear acceptance. This process
isn't meant to force anything on client implementors, users, miners, or
merchants.

On Fri, Sep 4, 2015 at 12:20 PM, Btc Drak <[email-masked]> wrote:

> I'm rather perplexed about this proposal. What exactly is wrong with
> the existing BIPs process? I mean, it seems to me anyone can publish a
> BIP pretty easily in the BIPs repository. There doesnt seems to be any
> real barrier to entry whatsoever. I know there have been all manner of
> aspersions, but having just written two BIPs there was no friction at
> all.
>
> Whether the ecosystem adopts a BIP is another question of course, but
> that's out of scope of the BIPs project anyhow. Take BIP101
> controversial as it gets, but it's there. Whether Bitcoin implementers
> implement it is another kettle of fish and a matter for each project
> to decide. It's absolutely NOT the realm of the BIPs project itself.
> Bitcoin Core does not make any consensus critical changes with a BIP.
> Where one seeks to establish certain standards, say for privacy, a BIP
> would be appropriate so the ecosystem can harmonise methodology across
> the board.
>
> The status of a BIP is not really determined by anyone, it's by
> adoption - that's where consensus happens. There's a little legroom
> around this but I'm not entirely sure what you are trying to solve.
> Yes the process is loose, but is it broken? There have been a flood of
> BIPs added recently with zero bureaucracy or friction.
>
> BIP0001 is the BIP that defines the BIP process. Interestingly enough
> the only BIP that might be controversial is in fact a BIP to change
> the way BIPs are handled!
>
> So I'd really prefer to start this conversation with a breakdown of
> what you think is broken first before tackling what may or may not
> need fixing. I would be very cautious bringing "administrative"
> burdens to the process or evicting common sense from the proceedings.
> Much of the debates around consensus building seem to negate the
> importance of common sense and the simple fact that "it's obvious when
> you see it".
>
> I'm sure there can be improvements, but for me personally, I need to
> see what is broken before I can make any judgement on a potential way
> forward, and if it's not broken, we should leave it alone.
>
>
> On Fri, Sep 4, 2015 at 5:40 AM, Andy Chase via bitcoin-dev
> <[email-masked]> wrote:
> > As posted:
> >
> > **Enforcement/Organization** I agree with your comments. I don't believe
> in
> > setting up an organization to manage this process (would be too much
> power
> > and not really needed because the internet is pretty good at information
> > sharing). Therefore, I designed it around the assumption that
> participation
> > is voluntary. This means that it's hard to enforce rules like forcing
> groups
> > to see the other side. Groupthink/Echo chambers is real and is bad but
> it's
> > hard to change human nature.
> >
> > In regards to enforcement, I believe that the best approach would be to
> > motivate committees to produce the best opinion they can (and also proof
> of
> > stake, another weak point in this proposal), as the better they can do
> this
> > the more likely the community will accept their opinion as valid and
> > important.
> >
> > Indeed, I believe that without an organization managing the process,
> it's up
> > to each individual reader of each BIP/Opinions set to make the decision
> on
> > whether or not there is clear and true community acceptance.
> >
> > ----
> >
> > **Committee versus another approach**
> >
> > Pros of using Committees:
> >
> > * Committees are used today in many fields with a range of success. Lots
> of
> > previous work to work off of here, history is established.
> > * Many segments already have committee-like structures (Merchants produce
> > shared signed documents, miners often represent themselves, User groups
> have
> > representatives like voting on subreddit moderators, Core Devs have Core
> > Devs)
> > * Committees can filter a range of opinions down to a yes/no
> > * Committees have real people that can be talked to, contacted, etc.
> > * Much easier to proof stake in a range (People generally accept the
> Bitcoin
> > Core has 70-90% of the market share) vs someone trying to proof they
> make up
> > (.000001% of the Bitcoin user-base)
> > * Committees have some stability, encourages experience and expertise
> > (Committee members can be knowledgeable in their area and adequately
> > understand BIPs)
> >
> > Cons:
> >
> > * Fear of committees working in the dark, censoring opinions (i.e. "Dark
> > smokey room of fat cats") (Possible solution: make committee power fluid
> > i.e. easily abandon-able: miners can change pools, users can change
> client
> > forks, change merchants, users can re-group, encourage transparency)
> > * More centralized, centralization of power (generally bad) (Possible
> > solution: encourage smaller committees)
> > * Centralization pressure (groups may seek to consolidate to gain power)
> > (Possible solution: Segmentation)
> > * Encourages groupthink, political maneuvers, turns good people into
> > politicians, mud-tossing
> >
> > **Another possible approach: micro votes**
> >
> > Pros:
> >
> > * Each user can represent themselves, no censorship
> > * People feel more involved and empowered
> >
> > Cons:
> >
> > * How to prove and prevent manipulation?
> > * Only motivated people will contribute. Motivated people may be
> motivated
> > for bad reasons.
> >
> >
> > On Thu, Sep 3, 2015 at 5:43 PM, Bryan Bishop <[email-masked]> wrote:
> >>
> >> On Thu, Sep 3, 2015 at 7:30 PM, Andy Chase via bitcoin-dev
> >> <[email-masked]> wrote:
> >> > I wrote the BIP mostly to stir the pot on ideas of governance
> >>
> >> Some quick comments:
> >>
> >> I have some objects that I am not ready to put into words, but I do
> >> think there are easily some major objections to committee design. If I
> >> vanish and never respond with my objections, perhaps there's an IETF
> >> RFC about this already....
> >>
> >> Something that may mitigate my possible objections would be some
> >> mandatory requirement about ecosystem echo-chambers making many
> >> attempts and efforts at steelman representations of alternative
> >> viewpoints. Understanding objections at a fundamental level, enough to
> >> make strong steelman statements, is very important to ensure that the
> >> competing opinions are not censored from consideration. Pathological
> >> integration and internalization of these steelman arguments can be
> >> very useful, even if the process looks unusual.
> >>
> >> Your process does not have to replace any particular BIP process
> >> as-is, but rather could be an alternative that proceeds on its own
> >> perhaps indefinitely without replacement. I don't think too many BIP
> >> processes are necessarily incompatible except by namespace collision.
> >>
> >>
> https://gist.github.com/andychase/dddb83c294295879308b#gistcomment-1566432
> >>
> >> - Bryan
> >> http://heybryan.org/
> >> 1 512 203 0507
> >
> >
> >
> > _______________________________________________
> > bitcoin-dev mailing list
> > [email-masked]
> > https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev
> >
>