The news is by your side.

A Fork of a Codebase

0 1

Get real time updates directly on you device, subscribe now.


What is a cryptocurrency fork? When people use the word fork they can
mean two different, but related things:
1. A fork of a codebase
2. A fork of a live blockchain (a chainsplit)
The difference is whether you’re creating an entirely new ledger, which is
achieved by forking a codebase (the code behind the node software), or
creating a new coin that has a shared history with an existing coin by
forking a blockchain. Let’s explore both of these.
A Fork of a Codebase
A fork of a codebase in general is where you copy the code of a particular
program so you can contribute to it or adapt it. This is encouraged in
open source software, where code is deliberately shared for anyone to
tinker with.
In cryptocurrency, this means that you copy the code behind a popular
cryptocurrency node software (e.g., Bitcoin Core), maybe tweak it and
change a few parameters, and then run the code to create an entirely new
blockchain starting from a blank ledger. You’d say you forked Bitcoin’s
code to create a new coin. This is how many alt-coins (alternative coins)
were created in 2013-14. Litecoin for example was created using a copy of
Bitcoin’s code with some parameters changed, including the speed of
block generation and the kind of calculations that the miners had to in
the proof-of-work challenge.
The key here is that, when you run the new code, you create a new ‘empty’
blockchain ledger from scratch—with an entirely new Genesis block.
In the popular open source code-sharing platform GitHub, you can easily
In the popular open source code-sharing platform GitHub, you can easily
fork (copy) a project’s code with a few clicks of a mouse. You then have
your very own copy which you can edit. These codebase forks are
common and encouraged in open source technology development, as they
lead to innovation.

A Fork of a Live Blockchain: Chainsplits
A fork of a live blockchain, better described as a chainsplit, is more
interesting. Chainsplits can happen by accident or on purpose.
An accidental chainsplit is when there is an uncontentious upgrade to the
blockchain software and some proportion of the network omits or forgets
to upgrade their software, leading to a number of blocks being produced
by them that are incompatible with the rest of the network. According to
BitMEX research188, this has happened a few times in Bitcoin’s history,
with three identified chainsplits lasting approximately 51, 24, and 6
blocks, in 2010, 2013, and 2015, respectively. So forks can occur even
when there is no contention over rule changes, creating some temporary
confusion as to the ‘real’ state of the blockchain during the period where
there is more than one candidate blockchain.
Accidental chainsplits tend to be resolved quickly with the small
proportion of participants upgrading their software and discarding the
incompatible blocks.
A deliberate chainsplit occurs when a group of participants of a live
network thinks that things should be done a different way from the rest of
the participants, and runs some new software with changes to the
protocol rules to create a new coin that has a shared history with the old
coin. This deliberately splits the chain at a specific block according to a
well communicated plan. Deliberate chainsplits can be successful, with
both assets continuing to live and develop, or fail, where there is not
enough participatory interest and the value of the token drops to zero,
and stops being mined.
To execute a successful deliberate chainsplit, you need to publicly rally
and persuade a group of miners, bookkeepers, exchanges, and wallets
that your new rules are better than the existing rules. They will need to
agree to support your new coin, creating a community supporting a new
coin that people can buy and sell, store and use. When the chain splits,
you have created a new coin with different protocol rules but which has a
shared history with the original coin. Anyone with a balance on the
blockchain before the split now has a balance in two different coins after
the split.
So the determination of whether something is a protocol upgrade, a failed
fork, or a successful fork is really about who chooses to adopt the new
• If new protocol rules are adopted by the vast majority of the
community, then it is called a protocol upgrade, and those who don’t
upgrade have a choice to maintain the old rules as an attempted fork
or to join the majority.
• If new protocol rules are adopted by very few participants, you have
an unviable fork which may ultimately fail.
• If new protocol rules are adopted by enough participants to maintain
a community and interest then it is a successful fork.

What’s the Result of a Deliberate, Successful
The upshot is that anyone who owned some of the original
cryptocurrency continues to have the original cryptocurrency, plus the
same number of tokens in new forked cryptocurrency.
same number of tokens in new forked cryptocurrency.
Quick analogy: Imagine you usually fly with an airline called CryptoAir
where you earn loyalty points, and let’s say you have accumulated 500
points with them. Now imagine that some staff from CryptoAir get upset
and leave to create their own separate airline, NewCryptoAir. They take a
copy of the customer list with them, including the record of how many
loyalty points each customer has. Now you have 500 points with
CryptoAir and 500 points with NewCryptoAir. But you can’t spend your
NewCryptoAir points with CryptoAir or vice versa. They are
incompatible. If you then spend points with one airline, it doesn’t affect
your points on the other airline. Your old CryptoAir points continue to
have whatever value they had, whereas your new NewCryptoAir points
will need to establish their own value. Not a perfect analogy but I think it
is helpful.
If coin holders had 100 tokens before a successful cryptocurrency fork,
have they ‘doubled their money?’ In one sense, yes, they have doubled the
number of tokens they have, as they now have 100 units of the old coin
and 100 units of the new coin, and they can spend them independently.
In reality, they haven’t doubled their money, as the two coins (original
plus new) have different fiat currency values. In practice, the old currency
tends to maintain its fiat value, whereas the new one must float on
exchanges with a new ticker symbol, and it will usually start trading at a
lower value.
How Does a Deliberate Chainsplit Work?
Participants of a fork make changes to the protocol rules and market their
philosophy to a wide audience of miners, wallet software providers,
exchanges, merchants, and users. They then coordinate to switch over to
the new rules at a planned time, determined by a specific block number
known as a block height.
At that planned time, two incompatible blocks are mined, one that is
valid for the incumbent participants, and the other that is valid for the
rebellious participants. The blockchain splits into two, because what is
acceptable on one blockchain is not acceptable on the other. Consider the
very first transaction that is created that breaks the old rules but
conforms to the new rules. This rebellious transaction will be rejected by
the old school participants, who will not propagate it, mine it, or add it to
their blocks. However, it will be treated as valid by the rebellious
validating nodes, and will get mined by a rebellious miner, and the
rebellious block will be added to the blockchains of the rebellious
So now there are two blockchains, recording transactions of two different
coins which share a common history up to the point of the split. The coins
will have different symbols and names to differentiate them, wallets need
to be configured to accept the new coin, exchanges need to list the new
coin to create a market for it, and merchants and other participants need
to accept the new coin.

Get real time updates directly on you device, subscribe now.

Leave A Reply

Your email address will not be published.

Subscribe to our newsletter
Sign up here to get the latest news delivered directly to your inbox.
You can unsubscribe at any time

This website uses cookies to improve your experience. We'll assume you're ok with this, but you can opt-out if you wish. Accept Read More