School Of Block Blog Series: #4
This “School of Block” blog post covers the creation of one of the most popular digital currencies out there, Bitcoin Cash. Bitcoin Cash is the result of years of fighting and debating in the bitcoin community, over questions that strike to the very purpose of bitcoin. What is bitcoin for? How should it be used? And more specifically, how many bitcoin transactions should the network be able to handle? The end result is that Bitcoin Cash (BCH) split from bitcoin to become its own currency and blockchain. How that decision came to be made, the ideological arguments from both sides, and the different alternatives that were proposed or tested, provide a fascinating look into bitcoin and how governance can work in a decentralized organization.
On August 1st 2017, the bitcoin blockchain split into two. All transactions that had occured up until that point were recorded into the new blockchain ledger, Bitcoin Cash, and all bitcoin addresses were credited with the new currency, (Bitcoin Cash, or BCH).
An address that held 6 bitcoin on the bitcoin network would still have 6 bitcoin on the bitcoin network, but the fork would also give it 6 bitcoin on the bitcoin cash network. From Bitcoin Cash’s inception, it has operated a separate network, with different rules, mining, transactions, etc.
It’s easiest to understand what Bitcoin Cash by examining why it exists. Leading up to this split was months of infighting between miners, developers, and users of bitcoin. At the time, Bitcoin was growing in users and transactions, but there existed a hard limit on the rate of transactions that the network could handle.
The typical bitcoin block could take about 5 transactions per second, or 300 per minute.
The math looks something like this:
Each block on the chain contains 1MB of information.
1 MB of information can hold somewhere between 2000 to 4500* bitcoin transactions.
A new block is added to the chain every 10 minutes.
*(The complexity, and number of addresses involved in transactions determines the difference in a transactions size, and thus how many can fit inside that 1 MB)
On the low end:
4500 transactions / 10 minutes = 450 transactions per minute, or 3.3 per second.
On the high end:
5000/10 minutes = 500 transactions per minute, or 7.5 per minute
5 transactions per second may seem like a lot, if you think it’s just people transferring bitcoins between each other to pay for goods or services. Those transfers would be on the network, but the majority of traffic is people buying currency from exchanges, or trading currencies. Every time someone exchanges some CAD or USD for BTC, an exchange creates new bitcoin addresses for their customer, and then transfers bitcoin from the exchange’s address, to the customers address. For any bitcoin purchases to become real, they need to be locked into the blockchain.
Also consider that exchanges and trading firms are using automated software to buy, sell and trade bitcoin as the price fluctuates. Algorithmic trading has been around cryptocurrency for years, although not with the same amount of volume that the traditional stock exchanges see.
Bitcoin Maximalists, who by definition believe that Original Bitcoin is the only true cryptocurrency, have historically been at odds with the Bitcoin Cash community. The co-founder of Bitcoin Cash, Roger Ver, has controversially publicly pushed the adoption of Bitcoin Cash. He has tried to drive adoption by highlighting the limitations of Bitcoin vs Bitcoin Cash. Roger Ver and the Bitcoin Cash organization own and operate Bitcoin.com and the @Bitcoin Twitter domain and has been accused of misleading investors and created confusion in the Bitcoin space by pushing Bitcoin Cash over Bitcoin. All that
In early 2017, with bitcoin growing in price, popularity, and transactions, many in the community were fearful about how well it could deal with a higher volume of transactions. As the graphic shows, there were roughly 7.5 million transactions every day. Given 5 transactions per second, the blockchain was only capable of handling 432,000 transactions in a day. Some days had seen as many as 370,000 transactions. If you want to see these transactions happen in real time, check out the popular block explorer for BCH on Bitcoin.com.
It was clear that bitcoin was on a trajectory where there wouldn’t be enough space on the blockchain to process all the transactions. Orders were already bunching up when price fluctuations caused people to try and sell or buy bitcoin all at once – creating a backlog of orders. A backlog of orders meant that the miners could give priority to the transactions with the highest transaction fees (which the miners get to keep). Transaction fees escalated, while transaction times slowed to a crawl.
And this was the problem. Bitcoin was growing very rapidly, approaching the number of transactions the network could handle, having some orders take hours to process, and having transaction fees skyrocket to $10, $20, $30 worth of bitcoin to make a transaction. Even worse, the 1 MB (5-transactions-per-second) cap was baked into the bitcoin code by Satoshi, and only a change to the software could fix it.
While everyone realized that there was a scalability problem, different groups had different ideas about how the problem should be solved.
Solution 1 – SegWit
One solution to the scaling problem was to implement a technology known as Segregated Witness (SegWit, for short). Understanding SegWit can be a little confusing, but here’s the gist:
Like a cheque, each transaction is partitioned into a few sections.
There’s a To: section, a From: section, an amount of money, and a signature, or “witness”. The witness in a blockchain transaction is the verification that a sender has enough currency or tokens to send to the recipient.
Every transaction is built with this same basic structure. This image representing a transaction is about proportional to how the data is composed inside a block: The witness takes up about 60% of the transaction data.
The idea behind SegWit is to remove the signatures from each transaction, and to verify/witness the transactions on a block separately. By removing the witness component of transactions, each transaction is significantly reduced in size, meaning a block can handle more transactions with its 1MB of data.
A transaction’s size gets reduced significantly:
As a result, a block changes from being mostly signatures, to mostly transaction data. A block containing 5 transactions becomes significantly smaller, as illustrated here:
A major benefit of the Segwit proposal was that it could be implemented with a soft fork: The new system was compatible with the old system, (backwards compatible) so miners could upgrade to support SegWit whenever they wanted. There wouldn’t be a strict cut-off date, users wouldn’t be left behind, etc.
There was, however some doubt as to if it would work.
As the majority of bitcoin pushed to implement SegWit, a second proposal came together.
Solution 2 : Increase the 1MB block size limit to 8MB
The reason that the blockchain couldn’t scale was because there are too many transactions to fit in 1 MB. Increasing the capacity by 8x the limit was the safest, most straightforward method to solve the problem.
Proponents of the 8MB block initiative, a group known as Bitcoin Unlimited, believed that this increase would solve the problem for the foreseeable future, and enable bitcoin transactions to be a fast, cheap, payment solution. If the blocks could handle more transactions, there would be no backlog, and no need to pay the high fees that were required when transactions took hours or even days to process.
For those in the community that believed bitcoin’s main purpose was primarily to be a medium of exchange, the 8MB increase was a no-brainer. Many ideological arguments pitted the “medium of exchange” camp against the “store of value” camp, who saw bitcoin more as an investment vehicle, or a digital alternative to gold.
Different groups hold different beliefs as to what bitcoin’s core feature is. Is this “new asset class” a medium of exchange? Is it a store of value? Or is it both?
A “medium of exchange” is something that can serve as an intermediate in an exchange of goods or services. If I try to buy Alice’s cookies, she probably won’t let me pay her by reciting a poem, but she’ll gladly take a handful of coins. Coins and dollar bills are a medium of exchange.
In previous centuries, silver and gold were mediums of exchange, as they were always accepted. Being able to pay someone with some “thing” does not make that “thing” a medium of exchange. Bartering with Bob to trade a lawnmower for a stool does not make either a stool or a lawnmower a medium of exchange. A medium of exchange is something that all parties in an economy will readily accept as payment.
A store of value is different. Some believe bitcoin should be treated like a precious metal; There’s a limited supply, there’s a market for it, and it can be saved, stored, and retrieved with ease. These are the defining characteristics of a store of value.
You can download your bitcoins to a USB key, or create a paper wallet, and store them in a safe for years. When you want to access them, they haven’t changed. They are inert.
Additionally, a store of value can be used as a medium of exchange. When the asset is pulled out of storage, it hasn’t changed over time, and can be readily used to buy goods or services.
It can be confusing that money is both a store of value and a medium of exchange. The debate surrounding bitcoin is that it’s unclear which purpose it best serves. Bitcoin Unlimited and supporters of Bitcoin Cash believe that bitcoin is primarily a medium of exchange, and that bitcoin will fail if it cannot readily handle large transaction volume. Others argue that bitcoin is better as a strong unit of value, like gold – it has some transactional value, but it’s better to pull some bitcoin out of savings and convert it to cash or another crypto coin to make everyday payments.
The plan to hard fork from bitcoin was first proposed in May 2017.
The third proposal was a combination of the two:
Implement Segwit, and increase the block limit to 2MB. This proposal became known as SegWit 2X.
The majority of the bitcoin community pushed forwards with plans to implement SegWit, and on July 20th, the software was locked into place to update bitcoin to support SegWit. Eventually, blocks from miners that didn’t support SegWit would be rejected from the blockchain, ensuring that SegWit would spread throughout the network.
Supporters of the Segwit2X plan lost confidence in the 2X (block increase) part ever happening. It seemed like SegWit would be implemented, and that was it. Supporters of SegWit2X began to support the Bitcoin Unlimited proposal – a block size increase.
After years of debating, it was clear that as bitcoin moved towards SegWit, Bitcoin Unlimited was not going to get what they wanted. The group made the decision in June 2017 to split off from bitcoin, and increase the block size of their new bitcoin, Bitcoin Cash.
“If the Segwit2x agreement fails to implement the 2x part, which is not entirely unreasonable, and only ends up being being basically SegWit without the 2x, many miners will likely defect to Bitcoin Cash.”
Calin Culianu, Bitcoin Cash developer
On July 20th, the main bitcoin network locked in the switch to move to SegWit. Miners could begin switching over to support the new system. Essentially, they could “update” their software, so that when SegWit was officially activated, or “turned on,” they would be ready for SegWit transactions.
August 1st, 2017, Bitcoin Cash split from the bitcoin blockchain. The new cryptocurrency was the same as bitcoin with two notable differences: An 8MB block size, and no SegWit. It initially traded at 50% of bitcoins value, but quickly dropped to around 10%, (0.1 BTC).
August 24th, 2017, Segregated Witness was activated on the bitcoin network. It has been slowly gaining traction. At launch, about 8% of transactions utilized it. 7 months later, (at the time of writing, March 12, 2018) around 30% of transactions are utilizing SegWit.
On November 8th, 2017, another split from the network as announced, as the SegWit2X development team announced that they were forking bitcoin to implement their solution. A week later, they cancelled their plans.
It’s still too early to tell if Bitcoin Cash will live up to its potential of being the go-to coin for quick payments and transfers. It’s possible that BCH becomes the bitcoin of choice for transactions, while BTC becomes a store of value, like a digital gold.
That wraps up the tech behind Bitcoin Cash, why it was created and where it can go from here. We hope you enjoyed our break down. For more deep dives, sure to check out our previous deep dive blog posts on Bitcoin, and Litecoin.
Interested in learning more and using this powerful digital currency? The best way to learn is to use crypto yourself. If you are looking to Buy Bitcoin Cash In Canada, look no further than Bitbuy. Bitbuy is Canada’s trusted choice for buying, selling and trading digital currency.
Articles like this one in your inbox every week.