How can the users of bitcoin fork the bitcoin blockchain?

It is very simple. Users run the software, which implements the new rules and defines a future target block. This target block should be valid according to the new rules, but invalid according to the old rules. For example, a new implementation of bitcoin should require that block 410000 must have a size larger than 1 MB. That’s it, the network has forked. Now, it’s up to the miners to choose on which blockchain they continue their mining operation. The important question is how to ensure that the transition from the old rules to the new rules is as smooth as possible.

Enter voting with fees

Just as miners vote with each block they mine, transacting (or active) users can vote with their fees with every transaction they create and is added into the blockchain. Why should transaction fees be considered as a voting metric and not something else, like bitcoin days destroyed for example?

Fees act as an indicator of the economic activity present on the blockchain. Anyone who is in need of adding his transactions in the bitcoin blockchain, with higher than zero -or near zero- fee, has an economic incentive to do so. That person will find the best/cheapest way to transact and since bitcoin is the huge financial innovation that we all know, he will probably choose bitcoin in order to go on with his business plan. It seems that non-zero fee transactions would be a good enough indicator of economic activity. Why is a metric of economic activity so important?

Users with large economic activity on the blockchain provide security to the network, in three major ways. First, they directly reward miners with their transaction fees. Secondly, their business activity gives value to the block reward payed to the miners. These first two cases are already well known and discussed. However, the third case is usually ignored.

The more the people depend on the bitcoin blockchain, the more they protect their business by running their own implementations of bitcoin full nodes. It’s very simple, when a business product depends strongly on the bitcoin blockchain (and it does depend strongly if it requires frequent transactions with high fees) then the business that sells this product is incentivized to have its own implementation of the bitcoin blockchain and not to depend on external factors. In other words, highly active users are the ones who also provide high security to the network by intensively monitoring the health of the network. This is the reason why transaction fees is an important voting metric.

Establishing the secure environment required for a hard fork

Just as the percentage of the blocks mined with a new block version number is a good metric for the readiness of the miners to make the switch to the new rules, the percentage of the transaction fees signed with a new transaction version number is a good metric for the readiness of the users to switch to the new rules. The most secure envinronment for a hard fork would be that both the majority of the users and miners are ready to switch to the new rules. There are no best practices for the exact number of the required majorities, but a super-majority of 75% coupled with a month long grace period seems more than enough.

However, competing implementations can define their own expectations about which adoption rates are considered safe for a hard fork. It can even be based only on the adoption rate of users , instead of only the adoption rate of miners which already exists in bitcoin. It can also allow to fork at a small majority, or even a minority, even though everyone understands the risks of such a move. This is how a market of competing implementations is created. Safe or unsafe forks, popular or controversial changes, well tested or experimental changes, any minor or major feature, all can be freely proposed,voted and adopted.

Implications

As long as bitcoin is considered censorship resistant it can also be considered power resistant. As long as “Voting with computer power” is good enough to serve as proof of the sequence of events witnessed then “Voting with fees” is good enough to serve as proof of the sequence of rules adopted.

What needs to happen next?

It appears to be a wide consensus from the side of bitcoin users to increase the blocksize, but miners reasonably fear such a change. Voting with the transaction fees in favor of the change can be quickly deployed even without defining the details of the majority rules, duration period etc. The only thing that is needed is for a trusted developer (like… I don’t know, maybe Gavin) to define the voting flag. Let the debate begin!