What is a fork and why is it happening?
2017 has been a breakthrough year for cryptocurrencies, with Bitcoin leading the way. Bitcoin has seen a huge uptick in media attention, adoption, and reached all-time highs in terms of value. While most Bitcoin enthusiasts will agree that entering the mainstream is good for the currency, scaling to meet the demands of an increased user base has presented a challenge for the Bitcoin network.
As more people begin to use Bitcoin, the network’s ability to process transactions is struggling to keep pace, resulting in frequent “bottlenecks.” A flood of incoming transactions builds up on one end, waiting to be validated, while a trickle of validated transactions come out on the other end.
The practical result of this “flood to trickle” ratio is that Bitcoin transactions can take a long time to process during periods of high transaction volume, which are becoming increasingly frequent. For a pending transaction to be completed, it must be confirmed by the Bitcoin network and added to the blockchain. When a user wants to pay for something in Bitcoin, or when a merchant wants to be paid in Bitcoin, waiting for hours or days for payment confirmation is often not a viable option.
Bitcoin’s scaling issues have been recognised throughout the community for several years, and a variety of solutions have been proposed. Due to Bitcoin’s decentralised governance structure and the network’s consensus-based decision model, it has been difficult for any one solution to garner enough popular support to institute their proposed solution universally. When factions within the Bitcoin community cannot agree on one solution, a fork can occur, such as the August, 2017 split that formed Bitcoin Cash.
Bitcoin Cash is an implementation of Bitcoin born from the same scaling issue at the foreground of the upcoming Segwit2x fork, due to occur some time in November, and other recent forks like Bitcoin Gold. Bitcoin Cash represents a split in the Bitcoin blockchain that uses one method of speeding up transactions: increasing the size of blocks. The upcoming Segwit2x fork targets the same scaling problem, but offers a somewhat different solution.
What is Segwit2x?
“Segwit” is an abbreviation of “segregated witness,” which refers to a method of improving the speed of Bitcoin transactions by dividing transaction data into two parts. When blocks are added to the blockchain, they contain a several chunks of data concerning different aspects of the transaction, such as sender/receiver data, unlocking signatures, and scripts.
Segwit involves taking the chunk of data containing the signatures and scripts (the “witness” data) out of the original block and appending it to the end as a “segregated” structure. By removing that data, space is freed up and more Bitcoin transactions can be consolidated in each block, making the validation process faster. Segwit itself has already been widely implemented in the Bitcoin protocol.
Segwit2x adds an additional element to the Segwit solution. In addition to Segwit, Segwit2x proposes increasing the block size from 1MB to 2MB, an idea that remains controversial throughout the Bitcoin community.
How to Keep Your Funds Safe During the Fork
For people holding Bitcoin, any fork in the blockchain can pose risks. Third-party applications, such as many popular Bitcoin wallets and cryptocurrency exchanges, may support one branch of the fork or the other, or both. Unlike the August fork, the upcoming Segwit2x fork does not have built-in replay protection.
“Replay” refers to a situation in which, during the time of the fork, Person A sends Bitcoin to Person B. That transaction is processed on the original Bitcoin blockchain and the funds are sent from A to B. The same transaction, however, is also processed on the new branch of the blockchain, and the funds are sent again, from A to B, in the new, forked version of the currency. In a “replay” scenario, Person A ends up paying twice for the same transaction. In addition to being a problem for Person A, there is also potential for hackers to exploit replay scenarios, using what are called “replay attacks.”
As Bitcoin evolves, it is possible that more forks will occur in the future. Fortunately, there are several simple steps you can take to keep your Bitcoin safe during and after forks:
- Do not keep your funds on an exchange.
- The safest way to store Bitcoin during a fork is to transfer your funds to a secure offline wallet, such as a hardware wallet or paper wallet.
- Avoid making any Bitcoin transactions during the time of the fork.
- Before moving your funds back to an exchange or a third-party software wallet; be sure the service you are using supports your preferred branch of the fork.