After last weeks fork the bitcoin development team are taking proactive steps to ensure that the problem will not happen again while still being able to push forward with the 0.8 series of updates and upgrades to the bitcoin system and network and have released their official plan.
What’s the plan?
The plan is a simple one, a new version called 0.8.1 of the official reference client will be released tomorrow that has all of the improvements of the 0.8 line with the important addition of a routine that will check to make sure that any block created is compatible with previous clients temporary preventing any forks similar to the one we saw last week.
When 0.8.1 is released tomorrow it is recommended that everyone including the miners upgrade as soon as possible.
At the same time messages will be sent through the bitcoin network to all users running pre 0.8 clients asking them to upgrade to 0.8.1 by the 15th of May 2013 referring them to a page on the official bitcoin webpage (the page has already been created, you can see it at http://bitcoin.org/may15.html).
Additional messages will also be sent out on the 15th of April and 8th of May if you still have not upgraded once again asking the user to upgrade to 0.8.1 as soon as possible.
Finally on the 15th of May the routine that checks that new blocks are backwards compatible with pre 0.8 versions of the client will be disabled allowing blocks to be created up to a size of 1 MB at the discretion of the miners.
What do I do?
If you are running a full bitcoind client for whatever reason when the new binary become available tomorrow at http://bitcoin.org/ download, install them and then forget about it, your job is done.
What happens if I don’t upgrade?
This is one of my favourite things about bitcoin, if you disagree with the changes (for whatever reasons) you are free to continue running pre 0.8 clients.
There is a caveat to that though, the bitcoin network runs on a consensus, by running a version of bitcoind of a different version with different rules to block creation you are voting to keep the older rules for block creation. If enough people and miners share your opinion that the old block rules are better sometime after the 15th of May a new hard fork will be created and we will have two valid blockchains, one that the 0.8 people follow and one that the pre 0.8 people will follow.
It is most likely at this moment though the concencus seems to be to upgrade and the pre 0.8 chain will never come into existence, so if you don’t upgrade it is unlikely that you will be able to use the bitcoin network until you do.
I have included below the announcement on the Bitcoin-Development list.
Here’s the plan for the 0.8.1 release:
A new CheckBlock() rule, in effect until 15 May, that ensure only
blocks compatible with old releases are accepted into the main chain
(only blocks that touch 4,500 or fewer distinct txids are allowed).
A limit of 500k to blocks created, also in effect until 15 May.
Alerts will be sent to pre-0.8 releases over the next two months,
telling people to either upgrade or create a DB_CONFIG file so they
can handle large blocks.
I chose May 15 arbitrarily; two months seems like a reasonable ‘quick’
amount of time to give people to upgrade/workaround.
The fix was written to be trivial to port to previous versions, and to
be as simple as possible.
Some of the exact details may still change before the 0.8.1 release
(e.g. it might not be exactly 4,500 distinct txids).
0.8.1 binaries late tomorrow or Monday. An expires-after-24-hours
Alert sent on Tuesday to everybody running pre-0.8, pointing to
Another 24-hour Alert sent on April 15, reminding everybody again they
will need to upgrade or workaround.
A final Alert that never expires sent on May 8th.
After May 15, miners will be free to create blocks up to 1MB, and
anybody running old versions who ignored the alerts may be left
Gavin Andresen [Bitcoin-development] list