Return-Path: Received: from smtp1.linuxfoundation.org (smtp1.linux-foundation.org [172.17.192.35]) by mail.linuxfoundation.org (Postfix) with ESMTPS id CB82211F3 for ; Fri, 4 Sep 2015 20:13:39 +0000 (UTC) X-Greylist: whitelisted by SQLgrey-1.7.6 Received: from mail-ig0-f174.google.com (mail-ig0-f174.google.com [209.85.213.174]) by smtp1.linuxfoundation.org (Postfix) with ESMTPS id 45A8F11C for ; Fri, 4 Sep 2015 20:13:38 +0000 (UTC) Received: by igbni9 with SMTP id ni9so22066942igb.0 for ; Fri, 04 Sep 2015 13:13:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:from:date:message-id :subject:to:content-type; bh=tQhVn4b5LvcPKj90Fn4VJzggsRWUSdFftv84V4MbiGA=; b=MKSGT5A0KNYEe5HT/eLUbjZOMHGKbSfSmPiHKV/yunAbnDSKG7S/qMOzbLF2oXmw9x LYP+mz/t9fpO7L38GwgnMTyPTK3uiqgwwW/hmw4+OWdU6NrOiXWAX2QzIOifnXoaV1QQ YKjh3MHwDnQRZg/66xTMlqCmt8eskWVaVPYFpYHhwO+eaDAj4G4lsnv3ZTDQk+StUXWv LdJxmZ39GF2Ekc+DXa74bY5OvDGIYFkhbYmR6TgYY65+nsa47SLD8JDeOgvqlSGq3smV DGcYkbD+1BtbVHxHjBl2O9WqmJ4AYm/ylBW5qrdWu4QhgR8qm1KZLSm2OSRbYhXwxsFV bWWQ== X-Received: by 10.50.36.106 with SMTP id p10mr10692880igj.31.1441397617728; Fri, 04 Sep 2015 13:13:37 -0700 (PDT) MIME-Version: 1.0 Sender: asperous2@gmail.com Received: by 10.50.3.33 with HTTP; Fri, 4 Sep 2015 13:13:18 -0700 (PDT) In-Reply-To: References: <64B72DF6-BE37-4624-ADAA-CE28C14A4227@gmail.com> From: Andy Chase Date: Fri, 4 Sep 2015 13:13:18 -0700 X-Google-Sender-Auth: ssKHE4HzcWzFUDtf_oNtSbhiAlQ Message-ID: To: Btc Drak , bitcoin-dev@lists.linuxfoundation.org Content-Type: multipart/alternative; boundary=089e0115ebd0fc247a051ef188be X-Spam-Status: No, score=-2.4 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_ENVFROM_END_DIGIT,FREEMAIL_FROM, HTML_MESSAGE,RCVD_IN_DNSWL_LOW autolearn=ham version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on smtp1.linux-foundation.org Subject: Re: [bitcoin-dev] [BIP/Draft] BIP Acceptance Process X-BeenThere: bitcoin-dev@lists.linuxfoundation.org X-Mailman-Version: 2.1.12 Precedence: list List-Id: Bitcoin Development Discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 04 Sep 2015 20:13:39 -0000 --089e0115ebd0fc247a051ef188be Content-Type: text/plain; charset=UTF-8 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 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 > 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 wrote: > >> > >> On Thu, Sep 3, 2015 at 7:30 PM, Andy Chase via bitcoin-dev > >> 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 > > bitcoin-dev@lists.linuxfoundation.org > > https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev > > > --089e0115ebd0fc247a051ef188be Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
Thanks for your thoughts.=C2=A0

<= div>
My proposal isn't perfect for sure. There's likely much be= tter ways to do it. But to be clear what I'm trying to solve is basical= ly this:

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

<= /div>
---

My motivation for writing this propo= sal is stated right at the start:
> "The current proc= ess for accepting a BIP is not clearly defined. While BIP-0001 defines the = process for writing and submitting a Bitcoin Improvement Proposal to the co= mmunity it does not specify the precise method for which BIPs are considere= d 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 "con= sensus" come up but they aren't defined. My goal is to define a sy= stem that makes finding "consensus" (I like the word "accept= ance" better) in a clear and fair way.

I.e. w= hat's broken?

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

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

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

>=C2= =A0There have been a flood of
> BIPs added recently with zero = bureaucracy or friction.

As we move forward, we wan= t to balance the powers in such a way that we may want to pause a bit befor= e 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 wee= ks for the process with the understanding that most proposals are clear and= easily=C2=A0acceptable. 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 pr= ovides an answer.

Client implementations, users, m= iners, and merchants can feel safe implementing and using a feature that ha= s clear acceptance. This process isn't meant to force anything on clien= t implementors, users, miners, or merchants.

=
On Fri, S= ep 4, 2015 at 12:20 PM, Btc Drak <btcdrak@gmail.com> wrote:<= br>
I'm rather perplexed about this proposal. What exac= tly 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<= br> 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
<bitcoin-dev@lists.linuxfoundation.org> wrote:
> As posted:
>
> **Enforcement/Organization** I agree with your comments. I don't b= elieve in
> setting up an organization to manage this process (would be too much p= ower
> and not really needed because the internet is pretty good at informati= on
> sharing). Therefore, I designed it around the assumption that particip= ation
> is voluntary. This means that it's hard to enforce rules like forc= ing 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 t= o
> motivate committees to produce the best opinion they can (and also pro= of 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, i= t's up
> to each individual reader of each BIP/Opinions set to make the decisio= n 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. Lo= ts of
> previous work to work off of here, history is established.
> * Many segments already have committee-like structures (Merchants prod= uce
> shared signed documents, miners often represent themselves, User group= s have
> representatives like voting on subreddit moderators, Core Devs have Co= re
> 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 B= itcoin
> Core has 70-90% of the market share) vs someone trying to proof they m= ake up
> (.000001% of the Bitcoin user-base)
> * Committees have some stability, encourages experience and expertise<= br> > (Committee members can be knowledgeable in their area and adequately > understand BIPs)
>
> Cons:
>
> * Fear of committees working in the dark, censoring opinions (i.e. &qu= ot;Dark
> smokey room of fat cats") (Possible solution: make committee powe= r fluid
> i.e. easily abandon-able: miners can change pools, users can change cl= ient
> forks, change merchants, users can re-group, encourage transparency) > * More centralized, centralization of power (generally bad) (Possible<= br> > solution: encourage smaller committees)
> * Centralization pressure (groups may seek to consolidate to gain powe= r)
> (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 motiv= ated
> for bad reasons.
>
>
> On Thu, Sep 3, 2015 at 5:43 PM, Bryan Bishop <kanzure@gmail.com> wrote:
>>
>> On Thu, Sep 3, 2015 at 7:30 PM, Andy Chase via bitcoin-dev
>> <bitcoin-dev@lists.linuxfoundation.org> 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 d= o
>> think there are easily some major objections to committee design. = If I
>> vanish and never respond with my objections, perhaps there's a= n 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, enoug= h to
>> make strong steelman statements, is very important to ensure that = the
>> competing opinions are not censored from consideration. Pathologic= al
>> 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 ma= ny BIP
>> processes are necessarily incompatible except by namespace collisi= on.
>>
>> https://gist.gith= ub.com/andychase/dddb83c294295879308b#gistcomment-1566432
>>
>> - Bryan
>> http://heybryan.org/
>> 1 512 203 0507
>
>
>
> _______________________________________________<= br> > bitcoin-dev mailing list
> bitcoin-dev@lists.linuxfoundation.org
> https://lists.linuxfoundation.org= /mailman/listinfo/bitcoin-dev
>

--089e0115ebd0fc247a051ef188be--