by Alex Lightman and David Lightman. February 10, 2018
2017 was the year when Bitcoin’s scaling debate created incredible drama and brinksmanship but was ultimately resolved. Sort of.
Bitcoin had been suffering for several years with an increasingly bitter internal debate over whether the maximum blocksize, now limited to 1 megabyte, should be increased. Blocks are records of transactions and one block is created every 10 minutes. The maximum blocksize limits the transaction throughput of the entire system, currently a mere 3-7 transactions per second.
Back in June 2015, Gavin Andresen, who had been the lead Bitcoin developer, proposed increasing the max blocksize to 8mb. This was quickly opposed by the new Bitcoin Core developers, some of whom were associated with Blockstream Inc. – a company developing a second-level scaling solution called the Lightning Network. Some felt that this created an ulterior motive for keeping blocks small and fees high to increase demand for the eventual Lightning Network, which to this day remains vaporware. Over several years this debate became increasingly polarized and bitter. Miners preferred to increase the block size in order to bring in more transaction fees, especially since in the future, as the reward is halved, transaction fees will make up the bulk of their income. The Lightning Network, if it ever materialized, threatened to relegate most transactions off-chain (not recorded in the Bitcoin blockchain) thus greatly reducing the eventual miners’ income.
Small blockers also professed to be strongly opposed to hard forks as too dangerous. A solution emerged at the Hong Kong Scaling Bitcoin conference in Dec. 2015 called Segregated Witness. This solved an important bug in Bitcoin called transaction malleability, made the effective blocksize 3-4 times larger and incorporated other improvements to support the Lightning Network. And it could actually be implemented with a soft-fork. A tentative agreement was made in Hong Kong to a 2mb blocksize increase and to Segwit. However, the small-blockers back in the US, Bitcoin Core, refused to go along with this. Another year went by with this stalemate – with the BIP141 which proposed Segwit only gaining a small percentage of miners signaling support.
In April 2017, Segwit got a boost from the alt-coin Litecoin with all the miners agreeing to adopt Segwit. This showed that it was possible to get the Chinese miners to agree – so now there was even stronger pressure from the Bitcoin community to adopt Segwit. This pressure resulted in a proposed User Activated Soft Fork (UASF) for the beginning of August. The idea was that the users were going to reject non-segwit software. While the miners have a huge amount of control over which versions of the Bitcoin client are run – the UASF showed that the users had significant power too.
The miners really didn’t want to see a USER created fork so, under pressure in June 2107 an agreement between many large enterprises like Coinbase and the Chinese miners resulted in the New York Agreement (NYA). The idea was that everyone, including the miners, would support the original Segwit proposal in return for a doubling of the blocksize later.
The NYA worked as advertised and Segwit finally activated on Bitcoin August 23rd. However large sites like Coinbase and Blockchain have not implemented it yet – so the actual benefits have been minimal.
A big surprise occurred at the same time as the NYA kicked in – Bitcoin Cash was forked off of Bitcoin. It did not contain Segwit but did allow 8mb blocks. It had a strong valuation around 14% of the value of Bitcoin, causing it to be instantly the #3 crypto-currency in terms of market cap. It was not a danger to Bitcoin because it had 2-way replay protection. Suddenly those holding Bitcoin started seeing forks as great gifts, it was like Bitcoin gave a 14% dividend. And more forks were coming.
The New York agreement called for a hard fork to a 2mb block in early November which they called Segwit2X. This fork would have taken responsibility for the software away from Bitcoin Core. Of course, Bitcoin Core was adamantly opposed to this. The split in the community looked like it might destroy both forks.
There was no replay protection because both forks claimed to be Bitcoin. So, it was potentially very difficult for the two coins to tell themselves apart, and it might have become unclear which one was the real one. Will the real Bitcoin please stand up?
This was a huge showdown between the two warring forces – made all the more ironic because the vast majority of investors bidding up the price in advance – were oblivious to the war – because they thought it would be just another Bitcoin Cash giving them more free money. Bitcoin Core was determined to stubbornly refuse a blocksize increase even if it caused them to lose control of Bitcoin. Fortunately, a few days before the fork – the 2X side canceled stating that it wasn’t their intention to create a contentious hardfork.
But the drama wasn’t over yet. The next day all the folks ready to pump the Segwit 2x fork, including Roger Ver, an early bitcoin promoter sitting on perhaps billions of $$ worth of bitcoins – and Jihan Wu of Bitmain – the largest mining group – started pumping Bitcoin Cash instead. The price of Bitcoin Cash shot up, making it far more profitable for Bitcoin miners to switch over and mine Bitcoin Cash.
Legacy Bitcoin, with much of its mining gone, suddenly slowed way down with blocks taking 45 minutes to confirm. The Bitcoin price started crashing as Bitcoin Cash spiked. For a brief moment it looked like there was a chance that Bitcoin Cash would overtake Bitcoin.
The crisis subsided, and Bitcoin Cash quickly faded down to about 10% of Bitcoin. However, the legacy of Bitcoin Core’s stubbornness remains – with transaction fees extremely high. At the time of writing the recommended fee for a normal transaction is a stunning $16. This is up from 61 cents in Q1 2017 which seemed high at the time. This means that Bitcoin may be a great store of value, but at the moment it’s certainly not practical for day to day spending.
Will Core ever agree to a blocksize increase ?