Bitcoin is heading towards a hard fork in the road. Gavin Andresen, one of Bitcoin's most important developers, announced today that he will move forward with a controversial code update that will leave miners and Bitcoin services on either side of an irreparable divide.
The plan, proposed earlier in May by Andresen, addresses worries that the Bitcoin network won't be able to handle the load of large-scale adoption because of a predetermined hard cap on the size of "blocks," the name for the packets of transaction data that miners upload to the blockchain, the publicly viewable ledger of all Bitcoin transactions.
The solution he's proposing is to increase the size of blocks from one megabyte to 20 with a code update. This means that fewer blocks would be uploaded to the blockchain overall, easing network congestion. But in doing so, it will also split the blockchain into two versions using the different block sizes, and miners and services will be forced to choose between them.
After a month of heated debate among members of the Bitcoin community, nobody can agree on whether this move will save Bitcoin or ruin it.
"[It's like saying] we need to release the next plane now, forget the safety reviews"
Fed up with what he called "analysis paralysis" in a recent blog post, Andresen announced today that he will begin updating a spin-off of the main Bitcoin Core client developed by Mike Hearn, another long-standing Bitcoin developer, called Bitcoin-XT, with code for larger block sizes. In a message posted to SourceForge, an open source code repository, Andresen also said he will begin "asking for help lobbying" Bitcoin services to switch from Core to Bitcoin-XT. After that happens, miners themselves will be easier to persuade to switch.
"[If] we can't come to consensus here," Andresen wrote, "the ultimate authority for determining consensus is what code the majority of merchants and exchanges and miners are running."
Some fear that splitting the blockchain will alter the fundamental economics of Bitcoin, which depends on miners who compete to be the first to process blocks and put them on the blockchain. Processing larger blocks could require more processing power, for example, which would force miners to use more powerful and expensive set-ups; Bitcoin could become more centralized along traditional lines of resource ownership.
With less competition for space inside small blocks, and hence less competition to get your transaction approved on the blockchain sooner, there could also be less incentive to provide a reward for miners.
"I will be pilloried and praised"
Peter Todd, a Bitcoin code contributor, likened moving forward with such a fundamental code update without fully considering all the potential risks to designing an airplane. "[It's like saying] we've got to release the next plane now, forget the safety reviews," Todd told me in an interview. "There's a reason this stuff takes so long."
As for whether users might see Andresen as unfairly leveraging his standing in the Bitcoin community to forward his own agenda, whether right or wrong, he told me that he's not sweating it.
"I feel like I've earned my status in the Bitcoin community by working hard, listening carefully, and being respected for making wise decisions," Andresen wrote me in an email. "I don't think it's unfair—a lot of people trust me because I've got a track record of being trustworthy."
And, he added, he's ready for the flak that will surely come.
"I will be pilloried and praised—accused of trying to single-handedly destroy Bitcoin, and hailed as The One True Savior and Heir to Satoshi," he wrote. "That's life on the internet."