Hard and soft forks for beginners
If you’re new to bitcoin, some terms might sound very confusing. In this article I will try to explain soft and hard forks in such detail so you can use this information in the future. This is quite important because soft and hard forks can happen quite a lot. Not only bitcoin has soft and hard forks, but potentially every coin can have them. Not long ago (1 aug 2017), a soft and hard fork took place on the bitcoin blockchain. This could have an enormous impact on the bitcoin price and the future of bitcoin. Also, a lot of people made a lot of money during the hard fork. We will look at the difference between a soft and hard fork. We also cover what happened to bitcoin last month and what will happen in the future.
1. Soft forks explained
The bitcoin blockchain is essentially just a form of software. The blockchain consists of code that determines how the algorithm functions. For example, the bitcoin blockchain is programmed to hold a maximum of 21 million bitcoins. Most software gets outdated when months and years go by. In order to keep up with the technology or to implement different new features, software updates take place. These updates can be anything. From patching security issues to adding completely new features. With blockchain technology, a soft fork is an upgrade of the bitcoin software which is backwards compatible. Software that is using the bitcoin network (also called nodes) can either run the new version of the software or the old version without any problems.This means that both versions accept new blocks from the blockchain.
The original version of the software will split with a soft fork. But the new version of the software remains backwards compatible with the old version. This does not mean the new version will be the final version as this picture implicates. The version that will be used is based on the majority of the nodes running the software. If only a small portion of the nodes will run the new software, the new version will be deprecated. And everyone will be back using the original version of the software. But when the majority of the nodes support the new version of the software, the original chain “dies” and no one will use this chain anymore. Then the original chain will consist of orphaned blocks. Nodes can still use the same software but need to update this software to continue reading the new version. Nodes examples miner software, wallet software and exchanges running online wallets.
2. Hard forks explained
Hard forks are not backwards compatible. Once a hard fork takes place, there will be two different blockchains. You could say that with a hard fork, a new coin is created.
There is no way to go back to the original version. The new version is different on many levels so that it can’t go back to the original version. With the creation of a new blockchain, software needs to be upgraded. Since the new and original version are not backwards compatible, there is a need for two separate wallets. Also mining software needs to be adjusted to mine the new blockchain. It’s not possible to update the current software since the new version of the blockchain is fundamentally different. With a hard fork, both blockchains exist next to each other. The miners and users of the blockchain will determine which blockchain will be the main protocol.
3. Why do soft and hard forks exist and who decides to use them?
Soft and hard forks exist for many reasons:
- To update the protocol (for example, to make the network faster and more secure)
- Political issues
- Hacks and security issues
The “problem” with bitcoin is that nobody controls the network. There are different parties who have influence on the future and upcoming updates. We can divide these groups in:
- Core developers
- Bitcoin users
- Businesses that use the bitcoin network
Basically every group can decide to change things in the network. If they get enough support, every group could make changes to the network. But only if there is real support from the other groups. As you can imagine, each group has different thoughts about the bitcoin blockchain and how it should advance forward. Since no one controls the network, there needs to be consensus to keep the blockchain strong.
The past few months (2017) there were a lot of things going on between these groups. Without going into much details, one half of the groups wanted to implement an update called SegWIt. SegWit stands for Segmented Witness. With segmented witness, it is possible to store transaction validations outside of the blocks. That means more transactions can fit into one block and makes the network faster. That means with segwit, the witness of the transaction (digital signature) can be segregated from the transaction.
SegWit also prevents the use of the ASICBOOST exploit. With this exploit, miners can supposedly mine a lot faster than miners who don’t use this exploit. Although it’s never proven that miners are using this exploit. But as you can imagine, not everybody was happy with the implementation of SegWit. The core developers published an update called BIP 141. BIP stands for Bitcoin Improvement Proposal. If the majority of the miners would install this update, SegWit would be activated on the network. This update needs 95% of all hashing power to be considered activated. But only about 40% of all the miners signaled for BIP 141. So BIP 141 was never activated and the soft fork failed. There are a few reasons why this happened. Miners were afraid that they would earn less transactions fees because of SegWit. There are also rumours that some big mining companies are using the ASICBOOST exploit. With the activation of SegWit, this exploit can no longer be used. Without the activation of BIP 141, some kind of war started between multiple groups.
4. User Activate Soft Fork
Developers, most exchanges and many bitcoin users wanted to implement SegWit. Since the majority of the miners did not accept BIP 141, something else needed to be done. This resulted in an UASF (User Activated Soft Fork). They basically said, all right you (the miners) don’t want to implement SegWit? Then we will do it for you. This USAF resulted in BIP 148. With BIP 148, all user software like wallets and exchange software demanded that after 1 aug only blocks which signal for SegWit are accepted. All other blocks are dropped and will be orphaned. That means every miner who is using software without the BIP 148 after 1 aug 2017 software will mine orphaned blocks. This way miners are forced to update to BIP 148 and activate SegWit on the network. No matter what happens, BIP 148 will activate on 1 aug 2017.
Now the miners are forced to activate SegWit. Because of this UASF, miners and bitcoin companies joined together in New York to discuss this “problem”. This meeting is known as the New York Agreement or SegWit2X. This group consists of 58 companies located in 22 countries. And have a combined hashing power of ~ 83%. After this meeting they agreed to activate SegWit on the bitcoin network. But they also planned an update for later this year. With this upgrade the block size will be doubled from 1 MB to 2MB. Because this group wants to implement SegWit and update the blocksize, this is also called SegWit2X. This group did not want to wait for 1 aug 2017 and created another BIP. This BIP is called BIP 91. With BIP 91, they first wanted to make sure every mining company agreed to upgrade the network with SegWit. In order to do so, every miner could send the text “NYA” in their mined blocks. Everything went ok and the majority of the miners accepted BIP 91 before the UASF (BIP 148) took place on 1 aug 2017.
5. The bitcoin user activated hard fork 1 aug 2017
But there was another group who completely disagreed with the implementation of SegWit and the upcoming update to increase the block size from 1MB to 2MB. They wanted a blockchain without SegWit and wanted to increase the block size to 8MB. This resulted in a UAHF (User Activated Hard Fork) on 1 aug 2017. Why 1 aug 2017 you might think? We think it’s because of the media attention that SegWit created. A perfect time to plan a hard fork and split the blockchain to create another bitcoin clone. And this is how Bitcoin Cash was created. On the first of August, the bitcoin blockchain split up into two different blockchain. The original blockchain is still called bitcoin. The new version of the blockchain is called Bitcoin Cash.
- Bitcoin cash is created on 1 aug 2017
- Bitcoin cash uses no SegWit
- Bitcoin cash block size is 8MB
Segwit is activated on the original bitcoin blockchain. The block size on the original blockchain is still 1 MB. Users and miners can decide for themselves what blockchain they want to use. Basically every user can use both blockchains the same time by installing a new wallet. The majority of miners stayed on the original blockchain. But what will happen to all the bitcoins? The new blockchain is a copy of the original blockchain. That means if you had 100 bitcoins before the split on 1 aug, you will also have 100 bitcoin cash in the new blockchain. To claim bitcoin cash, you need to implement your private key from the wallet that holds your bitcoins into the new wallet used for bitcoin cash. If you stored bitcoins on an exchange, you don't have access to your private keys. Most exchanges create a bitcoin cash wallet for you. In this case, you had to do nothing to receive your bitcoin cash.
6. Bitcoin and other coins future updates
As mentioned before, SegWit2X consists of two updates. First to activate SegWit, seconds to increase the block size from 1MB to 2MB. SegWit is already active on the current bitcoin blockchain. Increasing the block size from 1MB to 2MB is set for sometime in november 2017. That means somewhere in november 2017, another hard fork will take place on the bitcoin blockchain. Why is this important? Because every bitcoin you own will also be copied to the new blockchain. Basically you get free money. In this case, SegWit and the increase in the block size are supposed to make the network faster and more reliable.
Sometimes hard forks take place due to hacking or other security events. Some time ago, The Dao was hacked. Some hacker managed to steal more than 50 million dollars worth of ethereum. Because The Dao had some security measures, this hacker did not have access to his stolen funds right away. Together with the ethereum developers,a hard fork took place to split the ethereum blockchain and minimize the impact of the hack. This hard fork resulted in a new coin named Ethereum Classic. But you can’t just hard fork anytime something goes wrong. A hard fork is basically the most extreme measure to take if something like this happens.
Now you know a little bit more about soft and hard forks. Why they happen and who initiates them.
How you think about this?