“I assign a 0% probability that we will continue with the present proof of work function. The present proof of work function is not going to survive the year. Period. If there’s one hard prediction I’m going to make it’s going to be that.” – Dan Kaminsky
Dan Kaminsky’s statement at the bitcoin conference in San Jose proved extremely controversial. While many may find it unlikely that the mining algorithm changin is a certainty, it does raise the question of what would happen to bitcoin if there were a hard forking event in the future.
On March 11th, 2013 there was an accidental hard fork – two separate block chains were created that effectively made alternate transaction timelines. Shortly after the new 0.8 software was introduced, a block was found using the upgraded software that caused the 0.8 block chain to be incompatible with 0.7 software. Two forks were created, one for each bitcoin software version. This was quickly corrected by miners reverting back to 0.7. However, if an intentional hard fork was created there would be no reversion to common software and two separate chains would continue to exist.
For this article, we will be considering hard forks that are not bug fixes or uncontroversial upgrades, but rather changes in the protocol that will be contested by a subset of the bitcoin community. An intentional hard fork would operate in much the same way as the accidental one in March. A new version of the bitcoin software would create an incompatible block chain with older versions, effectively creating separate currencies going forward.
Potential Causes of Hard Forks
1. Changing the Mining Algorithm
As Kaminsky mentioned in the earlier quote, there are alternative options to the proof of work algorithm that will likely receive additional attention in the coming months. His concern was sparked by the high hashrate of current ASICs compared to the rest of the network. In the short term, the overall network hashrate is tiny compared the the ability of a large company or government to produce ASICs and potentially compromise the blockchain. It is possible that a sophisticated adversary could use this temporary vulnerability to create ASICs and attack the network, forcing bitcoin to change its mining algorithm. As Yifu Guo, CEO of Avalon, pointed out it will likely take several years before current ASIC companies catch up to modern manufacturing processes.
It is likely that miners who have invested significant sums of money in current hardware will not willingly switch to the new block chain, and continue mining on the old one.
2. Change to MAX_BLOCK_SIZE
Bitcoin has a scalability concern that is quickly reaching a head. The current block size limit is 1MB, constraining the network to a maximum average of 7 transactions per second (tps). Visa alone averages 2,000 tps, with a peak rate over 4,000 tps. There are two contradicting schools of thought on how to solve this problem. Either (a) increase the maximum block size, or (b) bring microtransactions off-block-chain. The increase max block size side argues that modern internet connections will have no trouble handling much larger blocks every 10 minutes, and storage space is becoming less of a concern on a daily basis. The off-block-chain side argues that it is unnecessary to record every micro-transaction in the world on the block chain, and there are viable alternatives. Large blocks will be incompatible with anyone using smaller block size software, and will effectively fork the blockchain.
3. An Inflationary Model
It is possible in 50 to 100 years the popularity of bitcoin’s deflationary model may change. This could potentially occur for two reasons:
As block rewards reduce in size, transaction payments may not be sufficient to support the ever-increasing mining costs. This could result in the need to resort to a constant block reward for perpetuity in order to compensate miners appropriately.
Economic philosophy is constantly evolving, and there could be a revelation in economic theory that disproves deflationary models as a viable long-term policy.
Either of these could result in a significant divide in the bitcoin community into inflationary and deflationary camps, and would result in a fork of the block chain.
A hard fork is the result of two separate clients being used which read two separate versions of the block chain. We will name these to chains BTC, the original client version, and BTC-2, the version containing a modified block chain which is unreadable by the original version.
The block chain is a ledger containing a history of every bitcoin transaction. Bitcoin miners group transactions into blocks, and create 10 minute check-points in the transaction history. A hard fork would create 2 separate histories of transactions after the forking event. People owning coins on one chain would have a different transaction history on the other chain. As the two chains are used separately their transaction history will diverge. This effectively makes BTC-2 an alt-coin with the same starting point as BTC.
After a hard fork event, people holding bitcoins before the event will now have value in two separate currencies, BTC and BTC-2. Exchanges would likely be developed to add liquidity between the two while people trade back and forth in an effort to gain bitcoins on the chain they think more valuable long-term. Each chain would now be its own history of transactions, it would be impossible to reconcile them into a common history. If one chain eventually won, the alt coins would not disappear, however their use would wane and they would eventually become worthless.
Intra-currency exchange rates will develop as the market explores the true value of each chain. Purists will likely trade BTC-2 for BTC, while those believing the new protocol is a necessary improvement will sell their BTC.
Any companies currently accepting bitcoin as payment will have to decide if they want to accept both BTC and BTC-2, and post prices in both currencies based on separate exchange rates. This would increase the amount of infrastructure involved in processing payments, with little net gain. An alternative would be for companies to commit to one chain over the other – and a Betamax vs. VCR contest would ensue as companies chose sides until one wins.
Changes to the mining algorithm would result in current ASICs being unable to mine on BTC-2. Removing ASICs from the mining pools would result in a significant drop-off in network speed since only FPGAs and GPU miners would be available. This change would have 2 significant effects:
The difficulty would be several factors higher than the current network speed, and it would take much longer than the usual 2 weeks to adjust. Network difficulty has already increased 5x since ASICs started mining in early February. This means the network is 1/5 the corresponding difficulty level pre-ASIC, resulting in 50 minute blocks, and likely taking 10 weeks to reach the 2016 block adjustment.
This reduction in overall hashing power will increase the network’s vulnerability to attack, contradicting the solution this change was supposed to create. Since there is less specialized hardware mining, non-specialized hardware such as FPGAs and traditional supercomputers will be able to control more of the hashing power.
Potential for Severe Confidence Degradation
Any hard forks that the bitcoin community is not fully committed to could create irreversible harm to the currency. The value of bitcoin is based on its acceptance, reliability, and security. Undermining these factors can have a devastating effect on market confidence. Hard forks will reduce the network effect that bitcoin has developed over the last 5 years since it will no longer be a unified currency, but rather divided into two contradicting factions. Once a polarizing hard fork occurs, it seems significantly more likely to occur again in the future. Any decisions made which could potentially result in a hard fork must be made with great deliberation, since the potential impacts could be severe.