Who makes the decision about blocksize?

6

1

I have been running a full node for little less than a year and I am following the discussion around blocksize increase. I am for it.

Who actually can make a decision whether the blocksize increase gets committed to the bt core? Is a majority vote from core devs required? Obviously Gavin Andersen, an outspoken core developer is trying to convince someone with his blog posts. Whom?

Also how can the public coordinate their desire for blocksize increase? Everyone posting in their blogs is not going to cut it, or?

Dmitrii I.

Posted 2015-06-01T16:17:13.833

Reputation: 255

Everyone. :) You choose by what software you run.morsecoder 2015-06-01T19:03:58.267

Answers

-2

Who actually can make a decision whether the blocksize increase gets committed to the bt core?

Any person who has rights to commit changes to github.com/bitcoin.org

Also how can the public coordinate their desire for blocksize increase?

The only way is voting by hashpower. Have a look to BIP-16

amaclin

Posted 2015-06-01T16:17:13.833

Reputation: 5 763

That is kind of obvious answer, the person with commit access. So Gavin or any other dev can just commit the larger blocksize, with other devs possibly reverting it?Dmitrii I. 2015-06-01T19:51:38.187

2technically speaking, yesamaclin 2015-06-01T20:51:13.130

I actually thought this is what the question was getting at alsoWizard Of Ozzie 2015-06-01T23:20:28.027

5

This situation is unprecedented in the software world. In other peer-to-peer systems (think Skype or Bittorrent or whatever), software updates fix bugs or add new features, and if the user doesn't update their software the worst that can happen is that their program will run with some problems.

In Bitcoin the situation is drastically different because the system is entirely based on reaching consensus on something. Bittorrent or Skype don't really need to reach consensus on anything. Sure there's still a protocol that clients should follow for the system to work as expected, but even if these rules are slightly different from client to client, overall the system still functions.

With Bitcoin, consensus is what makes the whole system possible. The rules behind how to reach consensus are embedded (actually hardcoded) inside the client/node that all the people are running. Now, if there's some clients that have different rules than others regarding the consensus, then the whole system branches into different versions creating effectively different versions of Bitcoin.

In fact, one can go ahead and say that Bitcoin is exactly the set of rules (the actual algorithm) to reach consensus. If you're not using those rules, you're not using Bitcoin, you're using something else (Bitcoin 2.0, Litecoin 2.0, whatever...).

Now you understand why this is really an unprecedented situation in the software world (perhaps apart from the fork of 2013). If you change the rules then you're effectively creating a new version of Bitcoin and you must make everyone move onto your new version - and I'm not talking about only miners here; all people that are running clients on their phones, or on their computers; all the web wallets; all the exchanges. They all must update their code otherwise you've essentially created another system which is not Bitcoin.

So to answer your question about "who makes the decision about the rules", it's the actual people running the bitcoin software that decide at the end of the day.

EDIT as was noted in the comments, regarding the specific block size issue, SPV clients don't actually need to be updated because they don't check the size of the blocks - they trust the miners will do the checking for them.

Luca Matteis

Posted 2015-06-01T16:17:13.833

Reputation: 4 784

2It's incorrect to say that everyone must update. SPV clients don't verify the block size, so they don't need to update. The only software that needs to update are full nodes (because they verify block size). (To actually make bigger blocks, some mining software may also need to be updated.)David A. Harding 2015-06-01T19:21:26.150

1This is true specifically for block size, but not for other rules of consensus which is the main point I was trying to make (will update my answer to be more clear).Luca Matteis 2015-06-01T19:57:19.197

The only parallel I can think of is Python 3.x not being back compatible with 2.xWizard Of Ozzie 2015-06-01T23:18:54.910

Since you argue the counterpoint to @amaclin, it would be interesting to read why you think it is not mining that decides, but the people running the software. Perhaps you could elaborate on that point, since it is the main issue of the question.Murch 2015-06-02T15:50:00.523

@Murch many clients, not just miners, rely on independently verifying the blockchain. I would argue that there are many more of these clients than there are miners. Even if all the miners change to a new version, all the clients that haven't changed to the same version with the same rules will not accept the new blocks being mined. So it's not just the miners that decide.Luca Matteis 2015-06-02T21:53:20.283