Read

Edit

History

Notify

Share

Fork

A fork is an open-source code modification that occurs whenever there’s a change to a ’s protocol or basic set of rules. It is a means of replicating existing code and modifying it to create a new product. Usually, a fork happens when there is disagreement among the community that governs a blockchain protocol after a proposal to improve the blockchain’s function and design is made. [1][2][3]

Overview

A fork occurs when a community introduces alterations to a blockchain's protocol. Consequently, the chain splits, resulting in a secondary that retains the entire historical data of the original one but embarks on a distinct trajectory. Many blockchain forks occur due to disagreements over embedded characteristics. However, it is often done to implement a fundamental change in a network or to create a new asset with similar characteristics to the original. In general, forks, for no other reason, have a "shared history," as the record of transactions on both old and new chains was identical before the split. [2][4]

Classification of Forks

Forks are basically categorized into two types: codebase forks, which create a new independent project or version from an existing blockchain codebase, and live blockchain forks, in which a running is further divided into two parts. A live blockchain fork is divided into two types: accidental forks, which occur when extended branches in a blockchain emerge after the network has split into two or more directions as a result of a software glitch or an unusual fluctuation in hash rates, and intentional forks, which occur when a node operator chooses to initiate their own blockchain and generate blocks on it deliberately. Intentional forks are further divided into two categories: , which are substantial alterations to a cryptocurrency protocol that are not compatible with previous versions, and soft forks, which are modifications to a protocol that maintains backward compatibility. [1][5][6][7]

wikiCodebase Fork

A codebase fork involves duplicating the code of a software implementation and often involves making adjustments to the original codebase. In the context of , codebase forks can fall into three categories: compatible codebase forks, forks, and new creations. These distinctions illustrate the diverse outcomes that can arise from codebase forks within the Bitcoin ecosystem. [1][8]

Compatible Codebase Fork

These forks involve making changes to the software codebase while maintaining full compatibility with the existing Bitcoin protocol. They typically introduce new features or improvements without causing a blockchain split. [8]

Blockchain Fork

Some codebase forks alter the Bitcoin protocol in a way that is not backward-compatible. This can result in a "blockchain fork," where the network splits into two separate chains, each following a different set of rules. It can then lead to the creation of a new cryptocurrency if the fork gains sufficient support. [8]

New Cryptocurrency Creation

In some cases, codebase forks of can be so substantial that they create an entirely new with its own blockchain. These forks often involve significant changes to the protocol, consensus rules, or underlying technology, leading to the birth of a distinct digital currency. [8]

Live Blockchain Fork

A live fork can indeed occur where the software and protocol rules are initially the same, but at a specific point in the blockchain's history, the chain splits into two separate parts. This happens for various reasons, including differences in consensus rules, disagreements within the community, or software upgrades. When such a fork occurs, it results in two separate chains with their own transaction histories, and each chain may continue to develop independently, potentially with different nodes, miners, and users supporting one side or the other. The decision of which chain to follow or support often depends on network participants' preferences and the consensus achieved within the community. In the context of a live blockchain, a fork can occur for two main reasons: an accidental fork and an intentional fork. [1]

Accidental fork

An accidental fork, also referred to as a "temporary fork," occurs when miners discover new blocks almost simultaneously, resulting in the creation of two separate blockchains. During this time, multiple chains coexist in the network and begin competing to become the dominant chain by extending their respective block sequences. Some participants in the network may accept and continue to build upon the blocks mined by one group of miners, leading to the formation of a distinct chain from that point onward. Others may choose to follow alternative blocks. As these competing chains progress, a race ensues to determine which chain can grow longer and accumulate more blocks. As time progresses, the longer chains inevitably prevail and outpace the shorter ones, resulting in the consolidation of the blockchain network into a single, unified chain. This occurs as all nodes within the network converge on the longer chain as the legitimate and accepted version, rendering it the definitive ledger of transactions and history for the blockchain. [1][9][10]

Intentional fork

An intentional fork, also known as a permanent or personal fork, occurs when developers make deliberate changes to the common rules or protocols of a , resulting in the creation of a new . There are two primary types of intentional forks, which can be categorized based on the blockchain protocol's backward compatibility and the timing of the new block's creation:

  • Backwards-Compatible Intentional Fork: In this type of intentional fork, the changes made to the blockchain protocol are backward-compatible, meaning they do not disrupt the existing blockchain's functionality. Both the old and new chains can coexist, and users have the option to upgrade to the new protocol or continue using the old one.
  • Non-Backwards-Compatible Intentional Fork: In this scenario, the changes made to the blockchain protocol are not backward-compatible. This results in a permanent split often called a "hard fork," where two separate chains with different rules and transaction histories are created. Users and miners must choose which chain to support, and this can lead to the birth of two distinct cryptocurrencies.

The success of a deliberate chain split largely depends on whether there is a substantial community supporting the new coin. If there isn't enough interest or support, the value of the new token may plummet to zero, and may cease. Conversely, if a significant community backs the new coin, both assets can continue to evolve and coexist. In some cases, intentional forks may remain unresolved, leading to the coexistence of the two chains indefinitely and effectively splitting the network into two separate communities. [1]

Intentional forks are classified into two types: hard and soft forks. Both and soft forks are mechanisms for upgrading and evolving blockchain networks, but they differ in their impact on the network and the level of consensus required among participants. [1][9][10]

Hard fork

A is a deliberate and significant change to the blockchain protocol. This can happen due to various factors like protocol upgrades, changes to consensus rules, or the introduction of new features. When a hard fork occurs, it typically results in a permanent divergence of the into two separate chains, each following its own set of rules. Users and miners must choose which chain to support, and this can lead to the creation of two distinct cryptocurrencies. [1]

Soft fork

A soft fork is a backward-compatible change to the blockchain protocol. It means that the new rules introduced are still accepted by nodes running older software versions. In this case, the blockchain doesn't split into two separate chains. Instead, the network continues on a single chain, but nodes with updated software enforce the new rules, while nodes with older software remain compatible but may not enforce the changes. [1]

Examples

In 2012, Gavin Andresen created 's first fork, the first major blockchain fork known as Bitcoin XT. The fork was aimed at increasing Bitcoin's block size limits. However, it didn't gain the necessary support to be implemented on the Bitcoin network, and by 2016, it had stalled. [5][11]

Ethereum

In 2016, was hard forked into due to a controversial event called the (Decentralized Autonomous Organization) hack. Initially, after the Ethereum network was hacked, the fork tried to reverse the hack. However, the disagreement of the Ethereum community on how to handle the situation led to its hard fork, creating Ethereum Classic. In September 2022, the Ethereum blockchain shifted from a (PoW) to a (PoS) consensus mechanism. This made ETHPoW (ETHW), a distinct PoW blockchain from The Merge, come live. [2][12]

Bitcoin Cash

In 2017, was forked due to disagreements over scaling solutions, resulting in the formation of distinct communities and chains. The community believes that Bitcoin transactions should be cheaper and faster. In addition, they believe that a small block size should be maintained to preserve decentralization. Bitcoin Cash’s aim is to help more miners participate and compete for block rewards in a sustainable manner without sacrificing immediate cost and speed advantages. [2]

See something wrong? Report to us.

Fork

Commit Info

Edited By

Edited On

September 4, 2023

Feedback

Average Rating

No ratings yet, be the first to rate!

How was your experience?

Give this wiki a quick rating to let us know!

Media

REFERENCES

Join the IQ Brainlist

Sign up for the IQ Brainlist to get early access to editing on the IQ.wiki site!

Join Now

Subscribe to our newsletter

The IQ Ecosystem Report will keep you updated on everything IQ.

Subscribe

IQ.wiki

IQ.wiki's vision is to bring blockchain knowledge to the world and knowledge onto the blockchain. A part of Brainfund group

https://twitter.com/IQWIKIhttps://www.reddit.com/r/Everipedia/https://t.me/everipediahttps://www.instagram.com/iqwiki_/https://github.com/EveripediaNetworkhttps://discord.gg/x9EWvTcPXthttps://web.facebook.com/everipedia?_rdc=1&_rdr

IQ

What's IQ?StakingBonds

Company

About usCareersBrandingIQ GPTIQ Dashboard

© 2024 IQ.wiki Powered By BrainDAO & IQ