In this beginner’s guide, I will tell you about Bitcoin Cash and all the incidents that have led up to the creation of this cryptocurrency.
Bitcoin was created in 2009 by Satoshi Nakamoto and is without a doubt one of the most incredible innovations in the recent past. However, as use of the network has increased, the Bitcoin blockchain has started running into scaling issues. The main reason for these issues is the limited number of transactions that can fit into each 1 MB Bitcoin block. This has given rise to a lot of debates which are politically as well as ideologically motivated. Finally, Bitcoin went through a hard fork on August 1, 2017, which gave birth to Bitcoin Cash. In this guide, I am not going to be telling you which side is right and which side is wrong, I will leave it to you to decide.
How Do Bitcoin Transactions Work?
Bitcoin was introduced by an anonymous person or group with the assumed name Satoshi Nakamoto in their, now legendary, research paper “Bitcoin: A Peer-to-Peer Electronic Cash System”. What Bitcoin provided was a peer-to-peer decentralized, digital currency system, which did for money what email did for written communication. The entire system of Bitcoin functions due to the work was done by a group of people called “miners” who perform complex computations that lead to the creation of new links in the Bitcoin Blockchain using computer hardware. For their work, miners are rewarded with a new Bitcoin token.
So what exactly do these miners do? Here are the two most important activities that they do:
- Mine for new blocks.
- Add transactions to the blocks.
Mining for new blocks
All miners use their energy/electricity and computer power to look for new blocks to add to the blockchain. The process follows the “proof of work” (PoW) protocol. Once a new block has been discovered, the miners responsible for the discovery get a reward, currently set at 12.5 Bitcoins (it is halved after every 210,000 blocks). However, this isn’t the only incentive that the miners have.
Adding transactions to the blocks
When a miner or a group of miners discover and mine a new block, they become temporary dictators of that block. Suppose Ann has to send 5 Bitcoins to John. However, she isn’t physically sending him any money, and the miners have to actually add this transaction to the blocks in the chain and only then is this transaction deemed complete. The miners can charge a fee in order to add these transactions to the blocks. Also, you can give the miners a higher fee if you want your transaction to be added quickly to these blocks.
A transaction must be added to a block in the chain in order to be valid. However, this is when a problem arises. A block in the chain has a size limit of 1 MB and the Bitcoin blockchain can only handle 4.4 transactions per second compared to a peak of 56,000 transactions per second for Visa. This was manageable before. However, something happened that made this a huge problem – Bitcoin became famous!
The Bitcoin Scalability Problem
Bitcoin became extremely popular and with that popularity came its own series of issues.
Check this graph below to see the number of transactions happening per month:
Image source: Wikipedia
As you can see, the number of monthly transactions is only increasing and Bitcoin can only handle 4.4 transactions per second with the current 1MB block size limit. When Bitcoin was first created in January 2009, the developers put the 1MB size limit by design. The reason for that was that they wanted to cut down on the spam transactions which may clog up the entire Bitcoin network.
However, as the number of transactions surged, the rate at which the blocks filled up were increasing as well. The network could not process as many transactions per second as was demanded. As a result, the transaction processing time rose from a couple of minutes, to hours and – in the most drastic scenario – days. This created a backlog of transactions. In fact, the only way to get your transactions prioritized is to pay a high enough transaction fee to incentivise miners to add your transactions into the next available block. As of December 2017, if you decide not to pay the fees, your transaction takes on average a little over 2 hours to get confirmed.
This introduced a feature called replace-by-fee (RBF), which allows for low-fee transactions to be rebroadcasted and include a higher fee. This is how it works. Suppose Ann is sending 5 Bitcoins to John, but because of a backlog, the transaction is not going through. As you already know, Bitcoins once spent can never come back so she can’t “delete” the transaction. But she can do another transaction of 5 Bitcoins with John. However, this time she will do it with transaction fees that are high enough to incentivize the miners. As the miners put Ann’s transaction in the block, it will also overwrite the previous transaction. In the end, this will make the previous transaction null and void.
As you can see, the “replace-by-fee” system is profitable for the miners. However, it is pretty inconvenient for users who may not be that well to do. In fact, here is a graph of the waiting time that a user who pays the minimum possible transaction fees will have to go through:
Image courtesy: Business Insider
People who pay the lowest possible transaction fees will have to wait for a median time of 13 minutes for their transactions to go through.
In order to repair this inconvenience, it was suggested that the block size should be increased from 1MB to 2MB, which would allow more transactions to fit into a block. As simple as this suggestion sounds, it is not that easy to implement. This has given rise to many debates and conflicts with team 1MB and team 2MB ready to go at each other with pitchforks. As already mentioned, I would like to present the arguments made by both sides and I want to take a neutral stance in this whole debate.
Here are some of the arguments against block size increase:
- Transaction fees will decrease so miners will lose incentive – Since the block sizes will increase, transactions will be easily inserted. This will significantly lower the transaction fees. Some people also fear that this may disincentivize the miners and they may eventually move on to greener pastures. Decreasing the number of miners will also decrease the overall hashrate of Bitcoin.
- This may split community – A block size increase will inevitably cause a fork in the system. This will make two parallel Bitcoins and hence split the community in the process, which may eventually destroy the harmony in the community.
- Bitcoins shouldn’t be used for regular everyday transactions – Some members of the community feel that Bitcoins have a higher purpose than just being regular everyday currency and they don’t want Bitcoin to be used for everyday purposes.
- This will cause increased centralization – The network size will increase, which means that the amount of processing power required to mine will also increase. This will take out all the small mining pools and give mining powers exclusively to the large scale pools, which will in turn increase centralization. The problem is that centralization goes against the very essence of Bitcoins.
Here are some of the arguments for the block size increase:
- Bitcoin needs to grow more and to be more accessible for the “ordinary man” – There is a very real possibility that the transactions fees will go higher and higher if the block size doesn’t change. When that happens, Bitcoin will be used exclusively only by the rich and big corporations and the ordinary man will never be able to use it. As you already know, that has never been the purpose of Bitcoin.
- The block size increase works to the miner’s benefit – Increased block size will mean increase transactions per block. This will, in turn, increase a number of transaction fees that a miner may make from mining a block.
- The changes will gradually happen over time, they won’t happen all at once – When it comes to the block size change, the biggest fear that people have is that too many things are going to be affected at the same time and that will cause major disruption. However, people who are “pro block size increase” think that that’s an unfounded fear because the changes won’t happen all at once, they will gradually happen over time.
- There is a lot of support for block size increase already. This means that people who don’t get with the times may get left behind.
Two suggestions were made in order to solve the scalability issues:
- A soft fork.
- A hard fork.
Let’s first understand the fundamental difference between a soft fork and a hard fork before we go into any of them. Not like the kind you would find on a table, on a blockchain, a fork is a change to the software of the digital currency that creates two separate versions of the blockchain with a shared history.
What Is A Soft Fork?
There are two ways of updating a chain – a soft fork or a hard fork. Think of soft fork as an updated version of the protocol which is backward compatible with previous versions. What does this mean? Suppose you want to open a spreadsheet built in MS Excel 2015 but you are running MS Excel 2005 in your laptop. However, you can still open it because MS Excel 2015 is backwards compatible.
BUT, there is a difference. All the updates that are available to you in the newer version won’t be visible to you in the older version. Going back to our MS excel analogy again. Suppose there is a feature that allows to put in GIFs in the spreadsheet in the 2015 version, you won’t see those GIFs in the 2005 version. This basically means that you will see all text but you won’t see the GIFs.
What Is A Hard Fork?
A hard fork is not backward compatible and that is the primary difference between a hard fork and a soft fork. Once it is utilized there is no going back. You don’t get access to any of the new updates and you can’t interact with users of the new system if you don’t join the upgraded version of the blockchain. Suppose you have PlayStation 3 and PlayStation 4. There is no backwards compatibility for games, which means that you can’t play PS3 games on PS4 console and you can’t play PS4 games on PS3 console.
Image courtesy: Blockgeeks.com
However, the system needs to come to a consensus for any major changes to happen in Bitcoin. So, how can a decentralized economy reach an agreement on anything?
The two biggest ways that are currently achieved are:
- User Activated – Basically, changes which are voted on by people with active nodes.
- Miner Activated – Changes which are voted on by miners.
We first need to understand what Segwit is before we go on any further.
What Is Segwit?
We won’t go very deep into what segwit is. However, it is important to have an idea of what segwit is in order to get why Bitcoin Cash came about. Just to reiterate what we have mentioned before, we are not going to be telling you which side is right and which side is wrong, that is totally up to you.
This is what a block looks like when you closely examine it:
Image Courtesy: Riaz Faride
Of course, there is the block header which has 6 elements in it, namely:
- The version
- Previous block hash
- The merkle root of the transactions
- Epoch time stamp
- The target difficulty of the block
And along with the block header, there is the body. The body is full of transactions details.
What does a Bitcoin transaction consist of? A Bitcoin transaction normally consists of 3 elements:
- The sender details, known as the input
- The Receiver details, known as the output
- The digital signature
The digital signature verifies whether the sender actually has the required amount of funds needed to get the transaction done or not, which means that this feature is extremely important. As it can be seen in the diagram above, the digital signature is part of the input data. Now, this is all very important data. However, there is a big problem with it. The signature takes up way too much space – nearly 65% of the space taken by a transaction! And don’t forget that space is already in limited availability thanks to the 1 MB block size.
Dr. Peter Wuille has come up with a solution for this. He calls it SegWit (Segregated Witness).
This is what will happen once SegWit is activated. All the sender and receiver details will go inside the main block. However, the signatures will go into a new block called the “Extended Block” and this will create more space in the blocks for more transactions.
The Pros and Cons of SegWit
- It increases a number of transactions that a block can take.
- It helps in the scalability of Bitcoin.
- It reduces transaction fees.
- It decreases the size of each individual transaction.
- The waiting time will decrease, so transactions can now be confirmed faster.
- The number of transactions in each block will increase, which means that it may increase the total overall fees that a miner may collect.
- Miners will get lesser transaction fees for each individual transaction.
- It will significantly increase the usage of resources since the transactions, capacity, and bandwidth will increase.
- The implementation is complex and all the wallets will need to implement SegWit themselves, but there is a big chance that they may not get it right the first time.
The developers added a special clause to SegWit when they built it. They figured that getting a super majority was the way to go, so SegWit can only be activated when it has 95% approval from the miners (SegWit adoption is currently around 12%.). However, this huge change caused a disruption in the system. Most miners don’t want SegWit to be activated because they are afraid that since the available block space will increase, it will drastically decrease the transaction fees that they can get, and as a result, they stalled SegWit. This in turn infuriated the users and businesses who desperately want SegWit to be activated.
Eventually, some of core supporters came up with the idea of a UASF (User Activated Soft Fork), called BIP 148.
What is BIP?
Bitcoin Improvement Proposal (BIP) 148 is a user activated soft fork, i.e. a soft fork that has been activated by the users. What it states is that any blocks which are being created without SegWit ingrained in it will be rejected by the full nodes in the bitcoin networks. The whole idea here is to motivate the miners to put SegWit activation in the blocks which they mine for it to be part of the system, and by doing so they hope that more and more miners will come over to the BIP 148 side, and that eventually the 95% threshold limit will be crossed and SegWit will be activated. There are legit fears of a chain split happening. However, that can be easily avoided if just 51% of the miners come over to the BIP 148 side. Having more than half of the miners to the other side will reduce the hash rate of the original chain in a great amount.
Going by the coordination game-theory, miners will be forced to come over to the other side with the majority. However, this raised a serious concern. What if the change over doesn’t happen smoothly? What if it causes a legitimate chain split? This could spell disaster. This is the exact issue raised by the mining company Bitmain. That’s why Bitmain proposed a UAHF (User Activated Hard Fork) as a contingency plan for BIP 148.
What is UAHF?
The UAHF is a Bitmain’s proposal that will enable the construction of a whole new form of Bitcoin and blocks with larger sizes. This is a hard fork, which means that the chain will not be backwards compatible with the rest of the bitcoin blockchain. Here the hard fork does not require a majority of hashpower to be enforced, and this is the biggest reason why this looks so appealing. This blockchain, regardless of the support it gets, will be automatically followed by all nodes who accept these rule set changes. But many people just weren’t happy with the idea of signatures being kept separate from the rest of the transaction data. They considered it to be a hack.
This is visualized by Bitmain as a voluntary escape for everyone who is not interested in following up with the BIP 148 proposal. This means that if you don’t like it, you can be a part of this new chain. At the “Future of Bitcoin” conference a developer Amaury Séchet announced the upcoming hardfork and revealed the Bitcoin ABC (Adjustable Blocksize Cap) project. After Bitcoin ABC’s first client release, the project “Bitcoin Cash” (BCC) was announced. This came into full effect on August 1.
What is Bitcoin Cash (BCH)?
Bitcoin Cash is a cryptocurrency derived from the Bitcoin blockchain that is fully decentralized, with no central bank and requires no trusted third parties to operate. It provides a token (BCH) to be used for transactions processed over the Bitcoin Cash network.
Before deciding to create a new currency, the people behind Bitcoin Cash appealed to the original Bitcoin community for an increase in block size and they cited greater accessibility and room to grow for the burgeoning Bitcoin user base.
However, there were many opposed to the increase, including miners who would miss the fees for transactions. This lead to a decrease in overall mining on the blockchain and, as a result, lowered security. The two teams did reach a small compromise in the form of BIP 91 and Segregated Witness, upgrades targeted at reducing the amount of information needed inside the block. However, the argument over increased block size dragged on for over two years and ultimately the two teams decided to part ways in the form of a hard fork on the Bitcoin network.
Bitcoin Cash (BCH) is a lot like Bitcoin and they are technically almost identical. However, Bitcoin Cash has some very noticeable differences:
- The blocksize is 8 MB, which will allow many more transactions to be processed in one block.
- It does not support the implementation of SegWit.
- Bitcoin Cash does not have the “replace by fee” feature.
- It has an emergency difficulty adjustment algorithm (EDA).
- Bitcoin Cash will have replay and wipeout protection.
- Bitcoin Cash also offers a way to adjust the proof-of-work (PoW) difficulty faster than the normal 2016 block difficulty adjustment interval found in Bitcoin.
Also, from an ideological perspective we can say that the key differences between Bitcoin Cash and Bitcoin are that:
- Bitcoin Cash acts as electronic cash. It enables fast, cost-effective and direct payments between two parties over the Internet.
- Bitcoin, on the other hand, is now being viewed rather as store of value. It is perfect for those who don’t want to use it for simple everyday transactions that require speedy settlement.
BCH is a result of a hardfork, which means that anyone who possessed BTC got the equal amount of coins in BCH PROVIDED they were in possession of their private keys and didn’t have their BTC in exchanges at the time of the hardfork.
How Does Bitcoin Cash (BCH) Prevent Replay Attacks?
One of the most important features of Bitcoin Cash is how it circumnavigates the replay attack, which is one of the biggest problems that any cryptocurrency can face post-forking.
What Is a Replay Attack?
A replay attack is a form of network attack in which an attacker detects a data transmission and fraudulently has it repeated or delayed. In the context of a blockchain, it is taking a transaction that happens in one blockchain and maliciously repeating it in another blockchain, for example Ann is sending 5 BTC to John, and under a replay attack she will send him 5 BCH as well, even though she never meant to do that.
So, how can Bitcoin Cash prevent replay attacks?
- By using a redefined sighash algorithm – The sighash algorithm is used to find both duplicate blocks and important blocks, and it is only used when the sighash flag has bit 6 set. The different sighashing algorithm will result in invalid transactions, which means that these transactions would be invalid on the non-UAHF chain.
- By using OP_RETURN output that has the string “Bitcoin: A P2P Electronic Cash System” as data – Any transaction that contains this string will be considered invalid by bitcoin cash nodes until the 530,000th block, which basically means that before that block you can split your coins by transacting on the non-UAHF chain first with the OP_RETURN output, and then transacting on the UAHF chain second.
How Does Bitcoin Cash (BCH) Attract Miners?
Just like other notable cryptos such as Ethereum and Litecoin, Bitcoin Cash depends heavily on its miners to run smoothly. Bitcoin Cash has attracted many miners lately and this has significantly improved its hash rate. And here is how they did that.
Bitcoin Cash has a set rule as to when it decreases its difficulty, but before we see the rule it is important to understand what Median Time Past (MTP) is. MTP is the median of the last 11 blocks that have been mined in a blockchain and it helps us determine the time at which future blocks can be mined as well. Below, you can see a chart of the MTP of various blocks:
Image courtesy: Jimmy Song Medium article.
Here is the rule for difficulty adjustment in Bitcoin Cash: If the MTP of the current block and the MTP of 6 blocks before is greater than 12 hours, then the difficulty decreases by 20%. This means that it becomes 20% easier for miners to find newer blocks, which gives the miners some power to adjust difficulty, e.g. checkout the 13-hour gap between blocks 478570 and 478571. The miners do this to make the blocks easier to mine.
One more important thing to note is when and how the difficulty rate can adjust in a cryptocurrency. Below, you can see a graph which tracks the difficulty rate of BCH:
Image courtesy: Bitinfocharts.com
The difficulty rate adjusts according to a number of miners in the system, so if there are fewer miners, then the difficulty rate goes down because the overall hashing power of the system goes down. When Bitcoin Cash first started, it was struggling a bit to get miners. As a result, its difficulty dropped down drastically, which in turn, attracted many miners. Some of these miners were idealists, dedicated to the idea of Bitcoin Cash’s scalability solution, while others were only interested in acquiring Bitcoin Cash as an investment vehicle, with prices expected to rise. This caused an exodus of miners from Bitcoin so much that the hashing power of Bitcoin halved, increasing the fees and decreasing the transaction time. BTC transaction was taking hours and sometimes even days to complete.
The graph below shows the drop in hash rate of BTC:
Image courtesy: Investopedia
The Value of Bitcoin Cash
At the time of writing this article, BCH is the second most expensive cryptocurrency in the world behind BTC at $3,328 per BCH (its value once surged over $4,000) with a market cap of $39 billion. Check the graph below for more details:
Image Courtesy: Coin Market Cap
What Is the Driving Force Behind the Value of Bitcoin Cash (BCH)?
Due to an increase in value and consumer demand, more and more exchanges are agreeing to take up Bitcoin Cash. When it first started many of the most prominent exchanges were hesitant to support Bitcoin Cash, but now more and more exchanges are accepting it. This gives it credibility, which, in turn, increases its value.
The following are the exchanges and wallets that support BCH:
Image courtesy: Coinsutra
More and more miners migrate from mining Bitcoin to Bitcoin Cash. As explained above, Bitcoin Cash is currently very lucrative for miners. That’s the reason why many of them are coming in and giving their hashing power which in turn increases its value. At the same time, by increasing block size from Bitcoin’s 1MB up to 8MB, Bitcoin Cash allows many more transactions to be processed in one block, which will generate more transaction fees for the miners.
What Is the Future of Bitcoin Cash (BCH)?
Predicting or commenting on the future of Bitcoin Cash is impossible because we are not fortune tellers who can look into a crystal ball and predict what is going to happen in the future. The future of Bitcoin Cash remains unclear and we have no idea how Bitcoin Cash is going to turn out in the future nor do we know the long term repercussions that it will have on Bitcoin. What we do know is that this is a very interesting experiment that will teach us a lot of lessons moving forward. This is the first time that anyone has successfully hardforked from Bitcoin whilst keeping the records of the existing transactions. At the same time, the 8MB block size is definitely a very alluring aspect. However, it remains to be seen how this affects the miners in the long run.
Can Bitcoin Cash really address all the scalability problems? Can Bitcoin Cash overtake Bitcoin and become the primary chain? All these questions are mere speculations for now, and the only thing that we can say for sure is that we are experiencing some very exciting times in the cryptocurrency community.