A picture of bitcoin bifurcation history

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.

What is bitcoin fork?

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 fork

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.

Hard fork

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 fork

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).

Gray zone

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.

Key information in the figure

Bitcoin core

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

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.

First MASF

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.

BIP148 client

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

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

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."

First UASF

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.

Bitcoin Clashic

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."

Bitcoin core (not yet implemented)

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).

Segwit2x failure

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.

Bitcoin SV

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

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.