Below is a summary of the bitcoin bifurcation diagram. Although not all the forks are covered, the figure shows some of the most important forks to date.
- Bitcoin Bifurcation Main Cause: Extending Attacks Caused by ECDSA Algorithm Vulnerabilities
- Bitcoin has been "forked" more than 100 times in two years, now how about those forks
- Then talk about the fork, who is the real power of the Bitcoin world?
The word "forking" can sometimes be difficult to understand because different types of "forking" represent different things.
Code library fork
The code base fork is a copy of the software implementation code. Code library forks are usually adjustments made to the original code base. On Bitcoin, the fork of the code base means generating code that is fully compatible with the Bitcoin protocol. They can lead to a fork in the blockchain or form a whole new digital currency system.
Blockchain forks occur when two versions of the transaction history appear on the blockchain. There are many reasons for this, either within expectations or outside of expectations. The results need to be based on specific circumstances, which may lead to an isolated block or a brand new digital currency system.
A hard fork is a protocol upgrade that relaxes or removes rules. If all users are upgraded, hard forks will not cause a fork in the blockchain. Especially on Bitcoin, some people think that unless all users upgrade, the "upgrade" agreement should not be called a hard fork at all, but should be called a new digital currency or "forked currency."
Soft forks are a protocol upgrade that can tighten or add rules. The upgrade of the soft fork may result in a fork of the blockchain, but the enforcement of most of the hashing power will eventually aggregate the same historical transaction record. The hashing power allows the miner to activate the soft fork (MASF), and the user can activate the soft fork (UASF).
Although there are differences between different nouns, the case of bitcoin forks is actually complicated. The difference between a hard fork and a soft fork is often not obvious, and sometimes it is not even clear what to do with a protocol upgrade. Today, industry experts still have differences on the classification of certain events. Some attempts to rewrite the forks of history purely politically motivated will make the situation more complicated.
Bitcoin was born in 2009, when Nakamoto released the first bitcoin code base. Then, it is called "bitcoin" (or, more specifically, the first version of "bitcoin 0.1.0"). The latter part of the same code base was renamed "Bitcoin Core" and is sometimes referred to as "Zhongben Cong Client".
Conventional blockchain bifurcation
When two or more miners dig into the active block at the same time, the bitcoin blockchain branches into two branches. According to the design rules, as long as one branch becomes longer, these forks are decomposed, and the shorter branches are discarded. Even today, this happens often.
First soft fork
The first soft-forked protocol of Bitcoin is disabled with the OP_RETURN of the protocol feature. Technically, this is a UASF, but in the early days, it was only Satoshi Nakamoto who was making the rules of the agreement. The upgrade did not result in a blockchain fork.
First hard fork
Bitcoin's first hard-fork protocol upgrade adds a new feature OP_NOP, which is also specified by Nakamoto. However, not everyone thinks this upgrade is actually a hard fork. From the results, it did not cause the blockchain to fork.
Unexpected blockchain fork
Unexpected blockchain forks occur when different transaction histories are seen in different parts of the Bitcoin network and are usually not automatically resolved. This type of blockchain fork is usually caused by software defects or other technical problems and is one of the largest short-term failures Bitcoin can experience. Fortunately, in the history of Bitcoin, this kind of thing happened only two or three times, each time solved through community coordination, and did not cause much damage.
Bitcoin knot Bitcoin Knots
Bitcoin knots are an example of a forkhead core code base fork. The code base forks a copy of the code without causing a blockchain fork. Bitcoin knots are designed to be compatible with the Bitcoin core – it's just a different feature that can be understood as bitcoin wallet software that is compatible and offers different features.
Libbitcoin is an example of a complete re-implementation of the Bitcoin protocol in different code bases. It is not a Bitcoin core code base branch, but it is designed to remain compatible with the Bitcoin core.
The P2SH upgrade can be said to be the first MASF, although later MASF used a more pure hash-based upgrade mechanism. It does not cause the blockchain to fork.
The BIP148 client is another example of the bifurcation of the Bitcoin core code base. The BIP148 client is tuned to the enforced UASF to activate the upgrade of the quarantine protocol. It may become incompatible with the Bitcoin core and other Bitcoin clients.
Bitcoin ABC is another example of the Bitcoin core code base branch. However, Bitcoin ABC has been adjusted to ensure that it is not compatible with Bitcoin cores and other Bitcoin clients at some point in time.
Bitcoin ABC splits out from Bitcoin and creates "bitcoin cash"
On August 1, 2017, Bitcoin ABC collided with bitcoin clients such as the Bitcoin core. In the process, it created a new digital currency called Bitcoin Cash. (Although this information is not shown in this picture, Bitcoin cash now includes several clients – not just Bitcoin ABC.)
BTC1 is also a code base branch of the Bitcoin core that has been tuned to ensure it is not compatible with the Bitcoin core and other Bitcoin clients. However, the purpose of BTC1 is to deploy a hard fork upgrade for the new bitcoin protocol "Segwit2x". In other words, its goal is to have all Bitcoin users switch to the Segwit2x protocol and call this protocol "bitcoin."
If the BIP148 client did not receive sufficient support at the time, it would abandon the Bitcoin original chain and create a new digital currency. However, since there are enough miners to upgrade their systems, the BIP148 client is still compatible with other Bitcoin clients. Many people see this protocol upgrade as the first "real" UASF: it is not determined by the developer, but by the grassroots user movement.
This is a new Bitcoin ABC distribution designed to extend from hard forks to upgraded Bitcoin cash agreements. Most Bitcoin cash users did upgrade this new agreement and named it Bitcoin Cash. However, a small percentage of users chose to continue using the earliest Bitcoin cash agreement and took a new name for this cryptocurrency: "Bitcoin Clashic."
At the beginning of 2018, most people in the Bitcoin Clashic community used a codebase branch of the Bitcoin Clashic client called Bitcoin Core Sq. This is not compatible with the existing Bitcoin Clashic client, so this again creates a new digital currency. The software is deliberately confused with the name of Bitcoin Core. In fact, Bitcoin Core Sq and Bitcoin Core's digital currency, Bitcoin Core software client, and Bitcoin protocol are not compatible and are different products. Although Bitcoin Clashic has been around for a while, it has now been completely abandoned (mainly replaced by the Bitcoin core).
For various reasons, almost no one has adopted BTC1. Not only did it fail to "upgrade" the Bitcoin protocol, it did not even continue to be a new digital currency.
Bitcoin gold, bitcoin diamonds and dozens of forked coins
After Bitcoin ABC pioneered a relatively successful precedent for creating bitcoin cash through blockchain forks, a series of so-called "forked coins" were introduced. Bitcoin cash was born out of long-standing differences within the Bitcoin community, while other bitcoin forks generally believe that blockchain forks are a good way to issue new coins.
Nakamoto's vision (Bitcoin SV) is a code base branch of Bitcoin ABC, but after adjustment, Bitcoin SV ensures that it is not compatible with the Bitcoin cash agreement at some point.
Differences between Bitcoin ABC and Bitcoin SV
In 2018, there was a divergence within the Bitcoin cash community, causing Bitcoin ABC and Bitcoin SV to be separated from the existing Bitcoin cash agreement. Bitcoin ABC's division is almost in every respect and claims to be "Bitcoin Cash," but it is now also known as "Bitcoin Cash ABC." The split of the Bitcoin SV is called "Bitcoin SV." The new digital currency and its main implementation now use the name "Bitcoin SV". )
Bitcoin Dark is a code base branch of the Bitcoin core, and it forms a digital currency of the same name: Bitcoin Dark. Like Litecoin and many other digital currencies, this codebase has been adjusted from the outset to be completely incompatible with the Bitcoin protocol. Therefore, it is a brand new digital currency, not a fork of the blockchain, just happens to use "bitcoin" in its name. Today, Bitcoin Dark has disappeared.