Subject: Re: [Bitcoin-development] Concerns Regarding Threats by a Developer to Remove Commit Access from Other Developers

From: Jorge Timón <[email-masked]>
Date: Thu, 18 Jun 2015 20:49:35 +0200

On Thu, Jun 18, 2015 at 8:23 PM, Gavin Andresen <[email-masked]> wrote:
> On Thu, Jun 18, 2015 at 1:42 PM, Alex Morcos <[email-masked]> wrote:
>>
>> Let me take a pass at explaining how I see this.
>>
>> 1) Code changes to Bitcoin Core that don't change consensus:  Wladimir is
>> the decider but he works under a process that is well understood by
>> developers on the project in which he takes under reasonable consideration
>> other technical opinions and prefers to have clear agreement among them.
>
>
> Yes.
>
>> 2) Changes to the consensus rules: As others have said, this isn't
>> anyone's decision for anyone else.
>
>
> Yes.
>
> [...]
>
> I don't think I agree with "pretty much everybody", because status-quo bias
> is a very powerful thing. Any change that disrupts the way they've been
> doing things will generate significant resistance -- there will be 10 or 20%
> of any population that will take a position of "too busy to think about
> this, everything seems to be working great, I don't like change, NO to any
> change."

But according to Alex's explanation (which I think is very good
leaving asides some cases like change of the pow hashing function, for
example) there's no individual that can force or veto a change. It is
the decision of each individual user and their own "pretty much
everybody" may vary. But this "pretty much everybody" is what Mark
referred to with the "I know it when I see it."

> The criteria for me is "clear super-majority of the people and businesses
> who are using Bitcoin the most," and I think that criteria is met.

If you recommend users to apply changes when this criterion is met but
you know there's still many users who don't agree with the change,
then you're acting irresponsibly by promoting a chaotic consensus fork
where coins can be spent in both chains at once.
Well...unless you're promoting it as an altcoin that simply happens to
distribute part of the initial monetary based to bitcoin holders at
block X and whose genesis block is equal to bitcoin's genesis block at
block X. I guess in that case you wouldn't necessarily be
irresponsible.
"Miner's vote" is irrelevant here since it cannot tell you anything
about users adoption (besides miner's adoption of course).

>> 3) Code changes to Core that do change consensus: I think that Wladimir,
>> all the other committers besides Gavin, and almost all of the other
>> developers on Core would defer to #2 above and wait for its outcome to be
>> clear before considering such a code change.
>
>
> Yes, that's the way it has mostly been working. But even before stepping
> down as Lead I was starting to wonder if there are ANY successful open
> source projects that didn't have either a Benevolent Dictator or some clear
> voting process to resolve disputes that cannot be settled with "rough
> consensus."

But this is only relevant for the point 1. Software projects can have
dictators, forks and everything else other free software projects
have. But consensus-based p2p blockchains cannot change their rules in
the same way, otherwise they're centralized.

THERE CANNOT BE A VOTING PROCESS FOR CONSENSUS CHANGES.
If anybody can vote, hod do you prevent the sibyls from outvoting everyone?
If not everybody can vote, how is the voters' list determined without
centralizing the system?
If we had a technical solution to this problem we wouldn't need proof
of work in the first place!!