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

From: Luke Dashjr <[email-masked]>
Date: Fri, 4 Sep 2015 21:01:09 +0000

On Friday, September 04, 2015 8:13:18 PM Andy Chase via bitcoin-dev wrote:
> 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.

For hardforks (removing consensus rules), economic consensus: people who 
accept payment in bitcoins weighted by their actual volume of such payments. 
A supermajority subset may arguably be sufficient for some hardforks (which 
don't violate Bitcoin's social contract) since they can effectively compel 
the remaining economy to comply.

For softforks (adding consensus rules), a majority of miners: they can "51% 
attack" miners who don't go along with it.

Anything else does not necessarily need universal agreement, so are 
completely up to the whim of individual software projects. If someone doesn't 
like a decision in Core (for example), they can safely fork the code. If any 
significant amount of people use their fork, then the BIP is accepted whether 
or not Core later adopts it.

Note this "system" is really describing a lack of a system - that is, what 
naturally must happen for changes to occur. Softforks have a relatively 
mature technical method for measuring support and deploying (which I believe 
someone else is already working on a BIP describing), but the same thing is 
impractical for hardforks. Some formal way to measure actual economic 
acceptance seems like a good idea to study, but it needs to be reasonably 
accurate so as to not change the outcome from its natural/necessary result.

Luke