You’ve probably heard of the term “fork” if you’ve had any exposure to the world of cryptocurrencies and blockchain technology. Not unlike the layman’s definition (and not like the kind you would find on a table), a fork occurs when developers veer away to a new project using code based off of another already developed. There has been much talk about the “Bitcoin fork” lately, so I thought it would be appropriate to explain some of technical stuff behind this obscure phrase.
The topic of forks has gained a lot of attention in recent past, when part of the ethereum community found it necessary to fork project because of a breach in an Ethereum-based contract, known as “The DAO.” They also had to fork project due to the upcoming User Activated Soft Fork (UASF) , which was set to occur and it did on August 1.
Forks come in different varieties and following are some of the more common forks:
- Soft Forks
- User-activated Forks
- Hard Forks
A soft fork is any change that’s backward compatible. Backwards compatibility means nodes are not necessary to upgrade in order to maintain consensus because all blocks with the new soft forked rules also follow the old rules. This means that old clients accept them.
As such only miners are required to activate a soft fork, because old nodes are able to accept blocks without upgrading.
Miners are inclined to eventually adopt the new version of the software, or else they may end up on the losing end of the soft fork.
It is important to note that more than half of the mining power must be running for a client to recognize the change, to be a successful soft fork.
Nevertheless, a soft fork is a less significant turn of events than a hard fork, as the label suggests. This requires buy-in or acceptance across all players on the network.
What Can Go Wrong with Soft Forks?
Soft forks need a majority of hash power in the network, because, if non-upgraded nodes continue to mine blocks, the blocks they mine will be rejected by the upgraded nodes.
A soft fork could become the shortest chain and get orphaned by the network or act like a hard fork, and one chain could splinter off when it is supported by only a minority of hash power in the network.
Soft forks present a lower risk of splitting the network and for that reason they have been the most commonly used option to upgrade the bitcoin blockchain so far. Past examples of successful soft forks include software upgrades like P2SH (which altered bitcoin’s address formatting) and BIP 66 (which dealt with signature validation).
User Activated Soft Forks
A User Activated Soft Fork (UASF) is a more sophisticated soft fork and it is a controversial idea that explores how a blockchain might add an upgrade that is not directly supported by those who provide the network’s hashing power.
USAF can be enacted by the economic majority within a peer-to-peer network and it usually requires substantial industry support and a cohesive effort to make it work.
Nodes in a decentralized infrastructure, and the rest of the economic majority, which includes the networks ecosystem of exchanges and wallets are usually the deciding cadre. However, this is not always the case, as with Bitcoin Improvement Protocol (BIP) 148.
What Can Go Wrong with USAF?
Before the change could be written into a new version of code, the majority of major exchanges would need to publicly support it. After that, the new software gets installed on nodes that want to participate in the soft fork.
This method requires a much longer lead time to work than a hash-power-triggered soft fork, and it is believed it may take as long as a year or even more to write the code and get everyone ready.
Also, the majority of miners could use their overwhelming hash power to split the network if they end up not ‘falling in line’ and activating the new rules.
This idea is theoretical currently and has not been implemented.
In BIP 148, a User Activated Soft Fork is initiated as a signal to move toward mandatory activation of Segregated Witness (SegWit) deployment and the window in which enactment of BIP to be initiative sits between midnight, Aug. 1, 2017 and midnight, Nov. 15, 2017.
‘SegWit’ is the process by which the block size limit on a blockchain is enhanced by removing signature data from Bitcoin transactions, which frees up space to add more transactions to the chain. This increases the overall throughput of transactions on the network.
BIP 148 is not the typical modus operandi for a UASF which implement a soft fork that requires action from miners because normally nodes would just begin enforcement on a given “flag day”. This is the case with BIP16, which was how the Pay-to-Script-Hash (P2SH) soft fork was activated in 2012. A flag day was signaled whereby nodes agreed to begin enforcing the new protocol and P2SH was activated with relatively little friction.
However, it is up to the miners to shift and begin accepting blocks as according to the new protocol since four-fifths of the node network have already upgraded to SegWit capable software. Of course, a lot rides on where the rest of the economic majority (the exchanges and wallets) move to.
Miners are incentivized to follow with the masses if the economic majority is signaling as of Aug. 1 for the adoption of BIP148. However, since nodes can be rented on cloud services to skew the numbers, they don’t represent a true reflection of the community.
Nonetheless, it would make it difficult to sell coins mined after that date because the blocks would not be accepted by the majority. This means that not shifting to the new protocol that has an economic majority would be a poor business decision. This would be tantamount to mining an alternative coin not recognized by exchanges and users.
Why is Including SegWit So Contentious?
SegWit fixes one of the longest known problems in Bitcoin that has gone unfixed in part termed transaction malleability. This is very important to the long-term, global scalability of Bitcoin’s blockchain network. More sophisticated users can change the ID of a transaction before it is confirmed in the blockchain thanks to transaction malleability.
Fixing transaction malleability would allow layer two technologies to be implemented in a less nuanced approach, and that is the reason why this has become so contentious. Layer two technologies would allow bitcoin transactions to take place off-chain in a far more streamlined way.
You can begin to understand why some miners are putting up a fight when you combine that with the fact that SegWit allows the witness signature to be excluded from the transaction data.
Additionally, SegWit introduces script versioning. This would extend the bitcoin protocol by allowing rules to the witness to be changed by a soft fork. Schnoor signatures are one innovation that is likely to be proposed. Schnoor signatures offer some privacy benefits and they would also additionally help raise a blockchain network’s throughput because transactions would only need one signature which benefits are realized in the case of multisig transactions.
Bitcoin users usually pay a per byte fee to have their transaction approved by the network. Excluding witness data would mean that transaction fees would decrease on a per transaction basis. It is important to note that witness data grows with the more witnesses a transaction has.
Coupled with the fact that with layer two technologies, where transactions can be made off-chain, miners stand to lose an important portion of their revenue.
To put the range of profits in perspective, miners on the Bitcoin network received over $1.78 million dollars in fees on June 7, but the total transaction fees decreased to $486,419.52 on July 10. This correlated with less network activity.
Thus, for miners, preservation of the status quo has significant financial merit. However, if miners don’t move with the economic majority, the loss in revenue will be even more substantial and presents a strong claim to believe. Miners must and will follow with majority support for SegWit.
Some people claim that miners are using ASICBoost which give them an advantage when mining. And this is another reason SegWit has been so contentious. If this were the case, SegWit would help level the playing field for miners.
As you can see, SegWit is still far from the 95% activation threshold.
A Blockchain Hard Fork
A hard fork is a software upgrade that introduces a new rule to the network that isn’t compatible with the older software, and you can think of a hard fork as an expansion of the rules. With a hard fork, everyone has to upgrade to the new client or code. And I say everyone, I mean everyone (miners, merchants, and users). Hard forks are not backward-compatible. This means that, typically old nodes will not accept blocks created by new nodes.
In this event, if there isn’t unanimous consensus, the blockchain becomes two blockchains as the network splits.
Efforts to fork the network are momentous, in the context of Bitcoin Core’s scaling roadmap and the New York Agreement (NYA), led by Digital Currency Group’s Barry Silbert, and the upcoming BIP 148 UASF on Aug. 1.
The New York Agreement (NYA)
The NYA is based on the “SegWit2x” proposal. That puts forth a proposal that couples activation of SegWit with an added block-size-increase hard fork at some later point.
SegWit itself offers an increase equivalent of 2 to 4 megabytes. However, the added hard fork would double this to a maximum equivalent to 8 megabytes.
The soft fork will be activated “at an 80% threshold,” (presumably) referring to hash power, according to DCG’s Medium post, and the hard fork will be activated “within 6 months.”
The percentage of blocks signaling for the NYA — by including the letters “NYA” in the blocks they mine — sat at 88% on July 11. This is above the threshold target needed for activation. It is important to note that most of the core developers are against method off coupling SegWit with a hard fork later.
Bitcoins’s value is based on the network, so the central question is: „Can bitcoin remain as one chain? “ This becomes particularly concerning when some users suggest using their power to implement a User Activated Hard Fork.
Some users believe forks are a natural part of software development. However, the Singapore-based Qtum Foundation and others like us are working to eliminate them as much as possible.
What Can Go Wrong with Hard Forks?
Nodes that continue running the old version of the software will see the new transactions as invalid, which means that all of the nodes in the network need to upgrade to the new rules to switch over to the new chain and to continue to mine valid blocks.
The problem comes when a portion of the community decides to stick by the old rules no matter what. The hash rate, or network computing power, behind the old chain is irrelevant and what matters is that its data is still perceived to have value. This means that miners still want to mine a chain and developers still want to support it.
A perfect case study of how a community can split over rules was the ethereum DAO hard fork. We have two blockchains using a variant of the software now: ethereum and ethereum classic. They both boast a different currency and a different ethos.
The Qtum Solution
The Qtum Foundation is the developer of the Qtum blockchain which recently put out its first public test of its innovative platform, Sparknet. This foundation aims to solve this problem in part. A blockchain community consists of more than solely developers, miners, and node operators, so taking a vote from just one of the groups isn’t perfect.
Jordan Earls is co-founder and lead core developer of the Qtum Project. He said that Qtum’s blockchain architecture was constructed in such a way to avoid the entire divisive construct of forking within in a decentralized network.
According to Earls, it would be a trivial matter to enact a blocksize upgrade, with Qtum’s combination of the technological advantages of the UTXO model, the EVM and proof-of-stake consensus, tethered to a unique Decentralized Governance Protocol (DGP).
Earls said that Qtum’s blockchain wouldn’t completely replace forks, but it could cut down on the number of forks needed.
He explained that the blockchain was basically designed so that the blockchain itself is aware of a governing system within it and it was mainly designed to be used for reactionary purposes. He also said that, using this governance system, some of the parameters and roles could be changed.
Qtum wants to keep the network whole, but at the same time it wants to keep innovating and taking as much input from community stakeholders. Stakeholders can coordinate more effectively with Qtum’s Decentralized Governance Protocol, wallets, nodes, and the core developers, allowing for seamless network upgrades.
The DGP is powerful enough, so you can completely replace its governance structure. So, the governing parties might later vote on a “meta-proposal” to replace the controllers of the DGP, which would allow for the governance to change to a multi-tier setup, such as requiring a certain number of core developers, as well as a certain number of board members to vote on a proposal before it can be approved.
However, the end goal is much more ambitious than a traditional governance system and it is possible to create significantly more complicated structures because a smart contract can also be a governing party of the DGP. We could also require a certain number of community votes or votes from stakers in the future.
It is also possible to create a smart contract which monitors the blockchain’s status and health, and this monitoring smart contract could be made capable of creating and approving its proposals. It is possible to make the blockchain self-regulating, self-aware, and self-modifying with this technology.
Qtum is the first self-aware blockchain that can quickly adapt to a rapidly changing ecosystem and community without requiring constant interruption of the ecosystem to fix unforeseen issues and we believe this technology is a significant step forward and will be instrumental in Qtum.
Only time will tell if Bitcoin can push blocks further. However, one thing is for sure, with the UASF, Segwit2x, and the release of DGP in August, this will be an interesting summer.
How Does the Blockchain Fork?
This discussion has been a topic mostly for the core developers for a very long time. They contribute and volunteer time to work on the Bitcoin core code, but Bitcoin is not under their control, and neither under the control of miners. There are smart minds on either side of the debate. However, the blockchain is apathetic to opinions.
The new software allows for blocks larger than 1MB. This is something that the old software does not allow, something the old software would consider a violation of the rules of Bitcoin. As a decentralized system, there is no bigger authority that will make a decision, rather each node chooses for itself what the rules of Bitcoin are. That’s the reason why recent developments are so interesting: you can choose new Bitcoin rules using the new software.
Clearly, the developers of this software are not interested in breaking the rules. They would only take effect if 75% of recent blocks signal that they are in favor of these new rules, a form of voting for support and consensus. Once the first block with the new rules is seen – those who have not accepted them will consider the block invalid and will ignore. On the other hand, those who have accepted the new rules will consider the block valid and will add new blocks on top of it and this is where the blockchain forks.
What Happens When the Blockchain Forks?
It’s actually really simple. You get two chains with a shared genesis and they are identical up until the forking point. After that, they exist exclusively in parallel (unless one is totally abandoned), creating two separate networks.
Coins in my possession before the fork remain mine on both chains after the fork. Also, both chains agree on those transactions since they were all before the fork. Each transaction takes place exclusively on each separate chain after the fork, and it would be expected that each chain and the coins on each of those chains would get its own name.
The economies around each of these chains inherit the economies from the shared economy before the fork. This means that there is not twice as much value even though there are now twice as many coins. In fact, the economy would split along with the networks, which means that one should consider both technical and economic majorities when considering when and how to split. It is possible that less or more than 75% of the economy is in favour, even if 75% of the recent blocks were in favor of a fork.
It may sound confusing. However, this system allows for minimum collateral damage and maximum individual freedom. Bitcoin is still too young in the eyes of many and it’s still too early in the experiment to split into two separate networks and two separate currencies. For that reason, it is a good idea to wait for a larger consensus before forking the Blockchain.
It is possible that there would be no clear winner if the new software would only wait for 50% of the network showing support before forking. This means that both chains would compete and panic would ensue. However, theoretically the network can fork with only 20% support, taking along only a minority if they want.
How is This Even Possible?
„There is no need to trust anyone, and everyone should enforce their own rules“is a big principle in Bitcoin. This is an interesting story to follow in the news, whether or not the new software gets support from 75% of miners. However, now that you know what a fork is and how important it is, you will understand why recent developments are so controversial and why it is such a heated debate.
The Most Recent Developments
BitcoinXT is actually an implementation of the BIP101 proposal. The BIP101 proposal is Mike Hearn and Gavin Andresen’s proposal for how to increase blocksize. That being said, there are other proposals for increasing blocksize. The interesting thing is that they are all curiously named BIP100, BIP102, and BIP103. BIP100 is a proposal to allow miners to vote on blocksize with a 32MB maximum. As of writing these lines BIP100 seems to have the widest support among mining hashing power.
It seems that the mining industry is wary of BitcoinXT. However, they are supportive of the ability to increase the blocksize to 8MB. There are some mining pools that are allowing their miners to individually vote. All this can and will still change as the proposals and discussions are developing because all these proposals are carefully designed to take time as well as gain consensus.
Cryptocurrencies are gaining momentum so it is unreasonable to stay away from them, even if you aren’t a tech-savvy person. An in-depth knowledge of how Bitcoin and blockchain works are appreciated. However, you can simply follow the news and, literally, get some bitcoins to stay on the board.