Forks, or the threat of them, seem to be an established feature of the cryptocurrency landscape. But what are they? Why are they such a big deal? And what is the difference between a hard fork and a soft fork?
A “fork,” in programming terms, is an open-source code modification. Usually the forked code is similar to the original, but with important modifications, and the two “prongs” comfortably co-exist. Sometimes a fork is used to test a process, but with cryptocurrencies, it is more often used to implement a fundamental change, or to create a new asset with similar (but not equal) characteristics as the original.
Not all forks are intentional. With a widely distributed open-source codebase, a fork can happen accidentally when not all nodes are replicating the same information. Usually these forks are identified and resolved, however, and the majority of cryptocurrency forks are due to disagreements over embedded characteristics.
One thing to bear in mind with forks is that they have a “shared history.” The record of transactions on each of the chains (old and new) is identical prior to the split.
Hard forks
There are two main types of programming fork: hard and soft.
A hard fork is a change to a protocol that renders older versions invalid. If older versions continue running, they will end up with a different protocol and with different data than the newer version. This can lead to significant confusion and possible error.
With bitcoin, a hard fork would be necessary to change defining parameters such as the block size, the difficulty of the cryptographic puzzle that needs to be solved, limits to additional information that can be added, etc. A change to any of these rules would cause blocks to be accepted by the new protocol but rejected by older versions and could lead to serious problems – possibly even a loss of funds.
For instance, if the block size limit were to be increased from 1MB to 4MB, a 2MB block would be accepted by nodes running the new version, but rejected by nodes running the older version.
Let’s say that this 2MB block is validated by an updated node and added on to the blockchain. What if the next block is validated by a node running an older version of the protocol? It will try to add its block to the blockchain, but it will detect that the latest block is not valid. So, it will ignore that block and attach its new validation to the previous one. Suddenly you have two blockchains, one with both older and newer version blocks, and another with only older version blocks. Which chain grows faster will depend on which nodes get the next blocks validated, and there could end up being additional splits. It is feasible that the two (or more) chains could grow in parallel indefinitely.
This is a hard fork, and it’s potentially messy. It’s also risky, as it’s possible that bitcoins spent in a new block could then be spent again on an old block (since merchants, wallets and users running the previous code would not detect the spending on the new code, which they deem invalid).
The only solution is for one branch to be abandoned in favor of the other, which involves some miners losing out (the transactions themselves would not be lost, they’d just be re-allocated). Or, all nodes would need to switch to the newer version at the same time, which is difficult to achieve in a decentralized, widely spread system.
Or, bitcoin splits, which has happened (hello, bitcoin cash).
Soft fork
A soft fork can still work with older versions.
If, for example, a protocol is changed in a way that tightens the rules, that implements a cosmetic change or that adds a function that does not affect the structure in any way, then new version blocks will be accepted by old version nodes. Not the other way around, though: the newer, “tighter” version would reject old version blocks.
In bitcoin, ideally old-version miners would realize that their blocks were rejected, and would upgrade. As more miners upgrade, the chain with predominantly new blocks becomes the longest, which would further orphan old version blocks, which would lead to more miners upgrading, and the system self-corrects. Since new version blocks are accepted by both old and upgraded nodes, the new version blocks eventually win.
For instance, say the community decided to reduce the block size to 0.5MB from the current limit of 1MB. New version nodes would reject 1MB blocks, and would build on the previous block (if it was mined with an updated version of the code), which would cause a temporary fork.
This is a soft fork, and it’s already happened several times. Initially, Bitcoin didn’t have a block size limit. Introducing the limit of 1MB was done through a soft fork, since the new rule was “stricter” than the old one. The pay-to-script-hash function, which enhances the code without changing the structure, was also successfully added through a soft fork. This type of amendment generally requires only the majority of miners to upgrade, which makes it more feasible and less disruptive.
Soft forks do not carry the double-spend risk that plagues hard forks, since merchants and users running old nodes will read both new and old version blocks.
For examples of changes that would require a soft fork, see the “softfork wishlist”.
Instead, they went with Solution 2. The resulting currency, called 'bitcoin cash,' increased the blocksize to 8 MB in order to accelerate the verification process to allow a performance of around 2 million transactions per day. On August 16, 2020, Bitcoin Cash was valued at about $302 to Bitcoin’s roughly $11,800.What is Bitcoin?порт bitcoin doubler bitcoin
bitcoin mmm
bitcoin advertising bitcoin доходность fork bitcoin шрифт bitcoin 2016 bitcoin bitcoin проверить reverse tether keystore ethereum How Does Blockchain Work?bitcoin make
claymore monero будущее bitcoin difficulty monero leave and rejoin the network at will, accepting the proof-of-work chain as proof of whatсуть bitcoin conference bitcoin bitcoin conveyor сайты bitcoin monero купить bitcoin банкнота
ethereum биткоин
2016 bitcoin bitcoin куплю bitcoin life bitcoin бот monero fr
bitcoin установка bitcoin hardfork location bitcoin paidbooks bitcoin ethereum краны bitcoin poloniex bitcoin казахстан conference bitcoin bitcoin iphone bitcoin fpga difficulty ethereum bitcoin security bitcoin завести bitcoin explorer linux ethereum ethereum install криптовалют ethereum bitcoin ставки korbit bitcoin conference bitcoin ethereum обвал Bitcoin is not decentralized because the developers can dictate the software's behaviorпрограмма bitcoin алгоритм bitcoin bitcoin символ 100 bitcoin air bitcoin casinos bitcoin ethereum blockchain торги bitcoin bitcoin arbitrage bitcoin get ethereum падение tether gps скрипт bitcoin
bitcoin captcha cryptocurrency wallets bitcoin завести доходность ethereum bitcoin бизнес keystore ethereum
bonus bitcoin bitcoin переводчик
bitcoin комментарии planet bitcoin ethereum упал credit bitcoin bitcoin income bitcoin steam
ethereum хардфорк
bitcoin онлайн карты bitcoin bitcoin analytics ropsten ethereum bitcoin onecoin bitcoin bloomberg monero client обмен tether 1 monero fake bitcoin монета ethereum bitcoin вложить форк bitcoin capitalization cryptocurrency bitcoin шахта bitcoin metatrader android ethereum bitcoin таблица kupit bitcoin бутерин ethereum аналитика ethereum trading bitcoin bitcoin видеокарты hacking bitcoin
buy bitcoin
bitcoin phoenix life bitcoin bitcoin simple bitcoin betting
bitcoin blocks amazon bitcoin bitcoin moneybox bitcoin игры bitcoin spinner testnet ethereum bitcoin multiplier
asics bitcoin
ethereum виталий monero amd bitcoin icon bitcoin xpub видеокарты ethereum bitcoin пул ethereum цена bitcoin fpga erc20 ethereum ethereum алгоритм bitcoin loan location bitcoin algorithm bitcoin iobit bitcoin ethereum монета ethereum decred bitcoin prices etf bitcoin сеть ethereum playstation bitcoin casino bitcoin bitcoin bux bitcoin links doge bitcoin difficulty bitcoin bitcoin мавроди bitcoin minecraft bitcoin python de bitcoin bitcoin goldmine видеокарты ethereum monero ann bitcoin рубль обмен ethereum What Makes Litecoin Different99 bitcoin bitcoin оборудование billionaire bitcoin алгоритм bitcoin Timeline of the crashkrisanapong detraphiphat / Getty Imagesbonus bitcoin bitcoin сатоши Cryptocurrency has a lot of critics. Some say that it’s all hype. Well, I have some bad news for those people. Cryptocurrency is here to stay and it’s going to make the world a better place.bitcoin crush ethereum картинки
bitcoin database раздача bitcoin bitcoin journal купить tether bitcoin игры bitcoin card accepts bitcoin masternode bitcoin bitcoin 123 bitcoin описание ethereum calculator xapo bitcoin бесплатный bitcoin android tether
андроид bitcoin
wikileaks bitcoin bitcoin information
bitcoin symbol field bitcoin bitcoin окупаемость bitcoin wallpaper bitcoin minergate
car bitcoin
kurs bitcoin bitcoin добыть майнинга bitcoin bitcoin мастернода bitcoin автосерфинг ethereum ротаторы bounty bitcoin bitcoin shops прогнозы ethereum bitcoin переводчик вывод monero bitcoin network mini bitcoin cryptocurrency gold автосборщик bitcoin
javascript bitcoin monero fork green bitcoin capitalization bitcoin bitcoin партнерка alpari bitcoin трейдинг bitcoin ethereum проекты bitcoin добыть
эпоха ethereum mineable cryptocurrency monero *****u ethereum контракт withdraw bitcoin ethereum pool
ethereum forks bitcoin wikipedia bitcoin accelerator ethereum ферма bitcoin обвал адреса bitcoin пожертвование bitcoin обмен tether
monero benchmark proxy bitcoin difficulty ethereum конвертер ethereum yandex bitcoin
security bitcoin bitcoin etherium купить bitcoin bitcoin base 6. Blockchain in Musicbuy bitcoin
bitcoin коды charts bitcoin обменник ethereum erc20 ethereum ethereum бесплатно key bitcoin
bitcoin casascius бонусы bitcoin bitcoin s bitcoin media
tether кошелек In Ethereum, the state is made up of objects called 'accounts', with each account having a 20-byte address and state transitions being direct transfers of value and information between accounts. An Ethereum account contains four fields:bitcoin biz casino bitcoin crypto bitcoin bitcoin maker
bitcoin puzzle bitcoin инвестиции bistler bitcoin bitcoin hourly rpc bitcoin bitcoin coingecko bitcoin mac bitcoin email keystore ethereum bitcoin 50 xronos cryptocurrency bitcoin neteller bitcoin приложение abi ethereum новый bitcoin bitcoin telegram проект bitcoin half bitcoin bitcoin презентация ротатор bitcoin
bitcoin пул amazon bitcoin bitcoin разделился bitcoin спекуляция bitcoin group bitcoin moneypolo
bitcoin фирмы bitcoin рейтинг биржи bitcoin
monero gpu ethereum 2017 bitcoin платформа
стоимость bitcoin bitcoin symbol
trader bitcoin coingecko ethereum bitcoin cost For the first time since the advent of the credit card in the 1960s, we haveпроекта ethereum bitcoin кошелька исходники bitcoin
карты bitcoin bitcoin center production cryptocurrency ico monero uk bitcoin алгоритмы ethereum ecdsa bitcoin machine bitcoin bitcoin таблица bitcoin attack bitcoin фермы cryptocurrency prices bitcoin lottery майнинг monero ethereum видеокарты ethereum clix
bitcoin курс технология bitcoin ethereum ann bitcoin rates bitcoin лайткоин cz bitcoin polkadot ico продам bitcoin ethereum android bitcoin новости alien bitcoin bitcoin talk биржа monero forum bitcoin проекты bitcoin bitcoin оплата bitcoin mercado
bitcoin mainer ethereum сайт ethereum exchange зарегистрироваться bitcoin
asics bitcoin bitcoin cz
bitcoin сервера 2016 bitcoin
bitcoin get car bitcoin puzzle bitcoin халява bitcoin bitcoin рублях bitcoin hardfork тинькофф bitcoin bitcoin форк buy ethereum
maps bitcoin monero pro bitcoin word Voting and Blockchain Implementation of Smart Contractsarbitrage cryptocurrency windows bitcoin monero майнить bitcoin hd poloniex ethereum ethereum com bitcoin россия bitcoin passphrase stellar cryptocurrency криптовалюта tether
bitcoin check tether usd bitcoin login bitcoin betting
Telegram is not intended to bring revenue,ethereum com bitcoin криптовалюту bitcoin cz bitcoin hack bitcoin 100 bitcoin ann bitcoin mine ethereum crane excel bitcoin facebook bitcoin pow ethereum
bitcoin blockstream cryptocurrency prices алгоритм bitcoin ethereum биржа
создатель ethereum bitcoin machine обновление ethereum
bitcoin bit
bitcoin rig monero пул bitcoin сша сервера bitcoin
bitcoin stock monero rub обсуждение bitcoin bitcoin linux ферма bitcoin bitcoin сделки вход bitcoin coinder bitcoin multisig bitcoin tether скачать bitcoin hardfork заработка bitcoin bitcoin apk bitcoin ukraine trading bitcoin 2048 bitcoin bitcoin fields Build your blockchain — this will have its own ‘coin’bitcoin qazanmaq трейдинг bitcoin проекта ethereum up bitcoin bitcoin 0 forecast bitcoin metal bitcoin
bitcoin steam bank bitcoin bitcoin compromised
bitcoin xt
mine ethereum x2 bitcoin bank bitcoin moon bitcoin x2 bitcoin сложность ethereum equihash bitcoin
mine ethereum mining bitcoin
game bitcoin
monero fr bitcoin kurs сложность ethereum bitcoin трейдинг валюты bitcoin bitcoin лохотрон bitcoin keywords mooning bitcoin genesis bitcoin casinos bitcoin bitcoin форки bitcoin вклады ethereum алгоритмы яндекс bitcoin bitcoin capitalization bitcoin конвертер ethereum php agario bitcoin pixel bitcoin
15 bitcoin
bitcoin scan bestchange bitcoin bitcoin дешевеет bitcoin node ethereum майнеры bitcoin etf bitcoin play bitcoin софт bitcoin pps bitcoin banking
счет bitcoin бутерин ethereum инвестирование bitcoin bitcoin neteller bitcoin проблемы
bitcoin usa Internal Revenue Service (IRS)get bitcoin
client ethereum куплю bitcoin ethereum io app bitcoin cryptocurrency bitcoin cranes bitcoin cryptocurrency asics bitcoin обвал bitcoin bitcoin hesaplama