7th November 2017 Perspectives What is a Blockchain Fork? This article covers blockchain forks in a non-technical language: Learn what forks are, why they happen, and how to deal with them. Blockchains such as Bitcoin and Ethereum are large ledgers of transactions. New transactions are added to the ledger in batches of thousands of transactions which are called blocks. Each transaction is actually a small computer program which can execute many kinds of behaviour, but most of them simply say “Move X amount of currency from account A to account B.” Certain rules apply to both transactions and to blocks. For instance, one rule in Bitcoin is that the total data size of all transactions included in a block can be no more than 1 megabyte. Rules are enforced collectively by nodes and miners in the network. Nodes are computers connected to the internet that keep an entire copy of the blockchain ledger, and nodes receive, validate, and relay transactions to other nodes in the network. Miners are nodes that also spend computing power towards finding the answer to a cryptographic puzzle that allows the miner to create the next block. If a miner finds the answer, then the miner creates a new block of transactions and publishes it to the network of nodes and miners, which in turn will add the new block to their ledger. Breaking the Rules If someone tries to break the rules, their transactions or block will be ignored by the rest of the network. For instance, if a single Bitcoin miner solves the puzzle and decides to create a new block with a size of 2 megabytes, then all the other nodes and miners in the network will ignore this block because it does not comply with their version of the rules that says blocks can be maximum 1 megabyte in size. But perhaps the miner thinks that the rules would be better if they allowed for 2 megabyte blocks, so he continues to think of his 2 megabyte block as valid, and now he begins his attempt to solve the next cryptographic puzzle that will allow him to add another block on top of his first 2 megabyte block. Eventually he will solve the puzzle and can now add another block to his first 2 megabyte block, so that we now have two 2 megabyte blocks on top of each other. However, because our miner is the only one thinking 2 megabyte blocks are valid, the rest of the network had continued to work on 1 megabyte blocks. The structure of the ledger would now look something like this: This is called a fork, because what was before a single chain of blocks is now forked into two chains. (Technically, it’s also called a fork even if there is no split in the chain but just a significant rule change that all agree to follow. In this article we mean a splitted chain when we mention forks.) Lone Cowboy or Large Revolution? If our 2 megabyte miner is acting alone and is the only one to see 2 megabyte blocks as valid, then nothing else will happen. Everyone else will continue to operate on the 1 megabyte chain and ignore the 2 megabyte chain. While this can technically still be called a fork, it has no economic significance for anyone but the single 2 megabyte miner. But what if a significant share, say 20%, of nodes and miners join to validate that the rules should be changed to allow 2 megabyte blocks, while 80% remain in favor of keeping the 1 megabyte block rule? Then we have a fork likely to be of some economic significance. When many people view the 2 megabyte blocks as valid, then they also see transactions included in 2 megabyte blocks as valid. So for instance a coffee shop that accepts 2 megabyte block transactions will be willing to sell you a cup of coffee for a transaction received in a 2 megabyte block. Two Currencies Replace One But the coffee transaction may only be in a 2 megabyte block. It may never be included in a 1 megabyte block on the competing fork. So in one fork of the ledger, the coffee merchant got paid. In the other fork of the ledger, he never got paid. The result is effectively that we now have two versions of currency where before we only had one: People can now get paid in both “Bitcoin version 1MB” and “Bitcoin version 2MB”. With two different currencies, the market can also determine two different exchange rates for the currencies. An imperfect but helpful comparison is when an exchange traded stock splits into two and the two new stocks represent different capital classes (for instance they could have different voting rights in the company or different priorities for dividends). Intuitively we would expect the total value of the two new currencies to equal the value of the old one currency. So if “Bitcoin before fork” was worth 1,000 USD, and “Bitcoin version 1MB” becomes worth 800 USD, then we would intuitively expect “Bitcoin version 2MB” to be worth 200 USD. However, we have seen that this is often not the case, and it may be because scheduled forks create uncertainty: Will there be technical problems when the fork happens? Which fork(s) will exchanges, payment providers, and others adopt? For instance, if the fork turns out to be technically successful, then that removes uncertainty from the market and may be one factor in driving up the combined exchange rate of both new currencies. On the other hand, if the fork is a technical failure, that may push down the price of one or both of the new currencies. What Does this Mean for Me? If you hold digital currency from before the fork in your own wallet, where you can access your own private keys, then you can also access both new versions of the currency after the fork. Though it may require that you import your private keys into a wallet that supports both versions. If you hold digital currency in a hosted wallet or an exchange where you cannot access your own private keys, then it is up to the wallet provider or exchange to decide whether you can access both new versions of the currency. Look for answers on their website or ask their support team. Some forks implement full replay protection which means that when you make a transaction with version A of your currency, you can be sure that no transaction is made with version B or vice versa. But with forks that implement no or only partial replay protection, you risk creating transactions on both chains at the same time which creates confusion and potential economic losses. If you want to retain control of both versions of your currency, then be very careful when creating new transactions after these types of forks and seek further information about the properties of the fork. Are Forks Good or Bad? The first major fork to happen was in Ethereum in 2016 which resulted in the two forks of Ethereum and Ethereum Classic. Before this event, many perceived forks as something to avoid at all costs that could have catastrophic consequences. By now we have had a few forks without catastrophic consequences, so the fear of forks have diminished somewhat. However, most agree that forks create confusion, technical challenges, and economic uncertainty, and are best to avoid when possible. Some new experimental blockchains such as Tezos suggest formal governance structures on the blockchain as a new way to decide upon which new rules are adopted as a way to decrease the risk of forks happening. How these new ideas work out in practice remains to be seen. But ultimately it is good that if all else fails and it seems impossible to reach consensus, people that do not like the current rules have the option of peacefully seceding and creating their own alternative fork. Users and markets can then “vote with their feet” and use the version which works best for them. This article was written by Coinify Co-founder and Blockchain expert Lasse Birk Olesen. Are you looking for related content? Read our company statement on the upcoming Segwit2x fork. Image credits: Geralt (Pixabay) and Coinify To learn more about blockchain applications across different industries, visit Coinify Newsroom.