I keep coming across answers in questions on this site and on the wiki saying that the protocol might need to be changed in the future to create more scalability / security.

It seems to me that it is difficult to update the protocol now that there are so many different people involved and so much invested in the current protocol.

How could the bitcoin protocol be updated? Has this ever occurred to date?

Easy. In the source code add a conditional. For example, if the protocol were needing to be changed for all verifications after block 200,000 then the pseudo code for that is:

If block <= 200,000: # Do it the old way. Else: # Do it the new way.

The problem isn't technical it is political. If that change causes me pain (e.g., inflate the currency at a higher rate) then I am not going to want to accept any version of the code that does something that I don't want to see happen.

So any change needs to get buy in (concensus), from the developers, miners and ... most importantly, those who will accept bitcoins under the new rules in exchange for something of value.

If an unwanted change is pushed forward without being widely accepted, a blockchain fork will occur, and the losing side (generally the fork with the new rules) essentially gets ignored as if it didn't even exist by the rest of the network.

There have been several changes to the protocol as well as changes to the implementation in the client. Some are planned well in advance (e.g., BIP 16), and some are in response to a problem (e.g., Aug 2010's value overflow).

  • So it follows that changes will likely only be implemented and adopted if it benefits a large majority of participants. I suppose most security updates would qualify. Technically, isn't it the case that we only need a majority of miners (>50%) to switch over? Or does it require more than that? – Muhd Jun 13 '12 at 23:28
  • 4
    @Muhd: No, a majority of miners is irrelevant. If miners try to change the protocol on their own, they will simply be ignored by the rest of the network, and their "mining rewards" will be worthless. A change requires an economic majority - adoption by the users and businesses who give the currency value. – Meni Rosenfeld Jun 14 '12 at 13:53
  • @Stephen, Does that mean that in the future, Bitcoin can effectively have faster than 10 minute confirmation times (like LTC/worldcoin etc)? – Pacerier Mar 20 '14 at 17:07
  • @Pacerier: Yes, if enough people are convinced. Though this is a change at the very core of Bitcoin's implementation, so it's technically challenging to get the change right, thus it will be difficult to convince to make the change. – Meni Rosenfeld Apr 20 '14 at 11:39
  • @MeniRosenfeld, why not? If there's anything wrong with bitcoin, it's that the 10 min confirmation is simply too slow isn't it? – Pacerier Apr 21 '14 at 14:30

It has been changed in the past. For example, the version message was updated. It was carried out by basically saying: "Okay, on this and this date, the protocol will be changed" and giving enough time for non-standard clients to update. Then, at a predefined time all clients updated their protocol version internally and started communicating in the normal way.

The main problem with protocol updates, is that once they are introduced, more often than not a majority of clients need to be updated before the change is scheduled, or there will be a lot of mess. This is a case for both the non-standard clients (which means their owners need to be up-to-date with the changes) and the standard client.

Your Answer

 

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.