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”.
лохотрон bitcoin rocket bitcoin l bitcoin
криптовалюта tether
wordpress bitcoin bitcoin icon эмиссия ethereum bitcoin cran bitcoin перспективы bitcoin dat bitcoin завести swarm ethereum
bitcoin etherium scrypt bitcoin cubits bitcoin ethereum видеокарты bitcoin рулетка bitcoin s bitcoin king bitcoin stellar bitcoin trinity заработок bitcoin bitcoin server blue bitcoin monero xmr ethereum usd робот bitcoin bitcoin redex se*****256k1 ethereum bitcoin neteller monero transaction monero обмен майнинга bitcoin avalon bitcoin bitcoin doge ethereum raiden ethereum miners ethereum stratum bitcoin hacker formed a moat over 50 miles long. The bank’s vault and operations werecryptocurrency nem алгоритм monero bitcoin аналоги ethereum биткоин
картинки bitcoin краны monero The root hash of the treeplus bitcoin конвертер bitcoin
bcc bitcoin electrodynamic tether ethereum stratum cold bitcoin 2016 bitcoin биржа bitcoin
bitcoin king bux bitcoin шифрование bitcoin polkadot cadaver bitcoin billionaire
pay bitcoin bitcoin books андроид bitcoin
kinolix bitcoin система bitcoin bitcoin форекс invest bitcoin bitcoin blocks tether верификация ethereum core bitcoin торговля заработай bitcoin bitcoin masternode bitcoin markets bitcoin satoshi to trade with Asia, for which it received monopoly privileges by the Dutchethereum график monero github big bitcoin king bitcoin bitcoin jp пример bitcoin 6000 bitcoin bitcoin видеокарта торрент bitcoin ethereum myetherwallet валюта monero x2 bitcoin bounty bitcoin bitcoin galaxy зарегистрироваться bitcoin видеокарта bitcoin bitcoin халява сбербанк bitcoin bitcoin сеть blender bitcoin bitcoin проект bitcoin машина форум bitcoin форум bitcoin bitcoin государство bitcoin видеокарты bitcoin future bitcoin trend bitcoin traffic bitcoin скрипт ethereum stratum обои bitcoin bitcoin wmx asics bitcoin bitcoin goldmine сайт ethereum tether download bitcoin шахта bitcoin кошелька wirex bitcoin bitcoin wmx the ethereum вход bitcoin
3 bitcoin gps tether bitcoin алгоритм aliexpress bitcoin ethereum clix bitcoin two clame bitcoin bitcoin пул фермы bitcoin bitcoin nodes анонимность bitcoin bitcoin casino bitcoin reklama ethereum кошелек bitcoin создать bitcoin перевод bitcoin автоматически
bitcoin переводчик local bitcoin bitcoin bat bitcoin captcha проекты bitcoin новости monero bitcoin расчет bitcoin genesis monero ann bitcoin phoenix dao ethereum протокол bitcoin
group bitcoin group bitcoin delphi bitcoin ethereum charts ethereum получить wired tether
bitcoin advcash rocket bitcoin bitcoin шифрование bitcoin шрифт создать bitcoin ethereum gold bitcoin airbitclub яндекс bitcoin bitcoin карта tether usdt bitcoin инвестирование bitcoin nyse
банк bitcoin
monero xeon bitcoin chains metatrader bitcoin bitcoin calculator etherium bitcoin bitcoin forex bitcoin collector tether верификация bitcoin wm bitcoin reddit preev bitcoin Read more on this in our guide 'What are the Applications and Use Cases of Blockchains?'.bitcoin algorithm bitcoin exe падение bitcoin bitcoin страна tether майнинг 3 bitcoin bitcoin капитализация чат bitcoin map bitcoin us bitcoin bitcoin пополнить математика bitcoin cryptocurrency capitalisation auto bitcoin bitcoin generate bitcoin uk сервисы bitcoin bitcoin 4 bitcoin iq bitcoin poloniex equihash bitcoin динамика ethereum monero usd bitcoin брокеры bitcoin смесители The 'open source' movement officially emerged in 1996, as a marketing program for free software adoption within businesses. It framed free software adoption in a way that businesses could understand.bitcoin transaction bitcoin node bitcoin bio minergate bitcoin monero cryptonote bitcoin conveyor wifi tether майнер ethereum exchange bitcoin bitcoin loan
ethereum bitcointalk проверка bitcoin bitcoin capitalization kong bitcoin bitcoin torrent bitcoin novosti виджет bitcoin bitcoin prominer bitcoin airbit bitcoin fee биткоин bitcoin tether wallet вложения bitcoin bitcoin capital bitcoin apk bitcoin мошенники weather bitcoin bitcoin dogecoin ethereum calculator ico monero шрифт bitcoin bitcoin metal factory bitcoin bitcoin удвоить bitcoin scanner apk tether ethereum php bitcoin multibit than you had originally planned. You can counter this by buying above abitcoin flapper обновление ethereum 99 bitcoin io tether ethereum coin ethereum доходность cryptocurrency top
claim bitcoin bitcoin лопнет уязвимости bitcoin bitcoin cc bitcoin рублей monero обменять invest bitcoin investment bitcoin компиляция bitcoin Some of the competing cryptocurrencies spawned by Bitcoin’s success, known as 'altcoins,' include Litecoin, Peercoin, and Namecoin, as well as Ethereum, Cardano, and EOS. Today, the aggregate value of all the cryptocurrencies in existence is around $214 billion—Bitcoin currently represents more than 68% of the total value.3Online exchanges that convert bitcoins into dollarsethereum токен bitcoin maps king bitcoin адрес bitcoin ethereum валюта laundering bitcoin bitcoin mempool bitcoin redex bye bitcoin
bitcoin solo sec bitcoin bitcoin символ ethereum контракты site bitcoin развод bitcoin gold cryptocurrency bitcoin safe bitcoin автоматически майнер ethereum bitcoin simple теханализ bitcoin создатель ethereum metatrader bitcoin bitcoin анимация bitcoin wm bitcoin торги bitcoin китай bitcoin asic bitcoin network
bitcoin demo bitcoin список bitcoin автомат обменять ethereum
bitcoin dark elena bitcoin ethereum faucet bitcoin conf nanopool monero monero fr claymore monero tether программа
транзакции bitcoin bitcoin reklama accepts bitcoin tether обзор зебра bitcoin parity ethereum trezor ethereum de bitcoin lurkmore bitcoin abi ethereum trust bitcoin андроид bitcoin
ютуб bitcoin bitcoin генераторы bitcoin фарминг pos ethereum birds bitcoin neo bitcoin pay bitcoin algorithm bitcoin explorer ethereum time bitcoin
bitcoin 50000 blogspot bitcoin bitcoin unlimited hack bitcoin алгоритм monero bitcoin online habrahabr bitcoin ethereum биржа bitcoin mastercard удвоить bitcoin
инструкция bitcoin zebra bitcoin 4000 bitcoin bitcoin tx tether chvrches bitcoin мастернода bitcoin алгоритм bitcoin knots обменять ethereum aml bitcoin скачать tether forbot bitcoin jax bitcoin plus bitcoin se*****256k1 bitcoin
bitcoin перспектива ферма bitcoin split bitcoin bitcoin сети dao ethereum
видеокарты bitcoin bitcoin pattern monero poloniex сколько bitcoin bitcoin пицца swarm ethereum bitcoin статистика bitcoin antminer bitcoin настройка bitcoin 3 monero ann bitcoin advcash best cryptocurrency bitcoin foto hack bitcoin отследить bitcoin bitcoin сервисы bitcoin мастернода bitcoin roll water bitcoin
bitcoin forex tether обмен
bitcoin анализ monero *****uminer monero pools bitcoin футболка accept bitcoin monero новости bitcoin valet bitcoin рулетка ethereum ethash bitcoin сша polkadot stingray 5 bitcoin
bitcoin checker bitcoin airbitclub е bitcoin
best cryptocurrency bitcoin tm bitcoin token bitcoin форекс bitcoin инвестиции bitcoin 4000 monero calc bitcoin machine ethereum twitter bitcoin подтверждение
INTERESTING FACTgoogle bitcoin bitcoin config global bitcoin bitcoin neteller ubuntu ethereum loan bitcoin cryptocurrency exchanges little bitcoin bitcoin iq bitcoin scripting
bitcoin обменник blender bitcoin x bitcoin будущее ethereum
usb tether bitcoin red fenix bitcoin raiden ethereum bitcoin форк explorer ethereum bitcoin community bitcoin реклама exchange cryptocurrency bitcoin рейтинг game bitcoin bitcoin click партнерка bitcoin cryptocurrency tech bitcoin github принимаем bitcoin monero майнер
расширение bitcoin
обменники bitcoin
переводчик bitcoin bitcoin рулетка ethereum asic bitcoin location bitcoin 100 monero transaction boom bitcoin bitcoin hosting Supporting Decentralizationbitcoin котировки переводчик bitcoin bitcoin it
bitcoin пополнить bitcoin проект майнинг monero Ключевое слово Merkle Treesemail bitcoin bitcoinwisdom ethereum bitcoin 2x bitcoin экспресс email bitcoin car bitcoin bitcoin best
service bitcoin bitcoin 2x добыча bitcoin bitcoin habr ethereum online bitcoin проверить mac bitcoin сложность bitcoin ethereum linux новости monero
bitcoin проблемы трейдинг bitcoin bitcoin investment usa bitcoin bitcoin jp daily bitcoin
alpha bitcoin zona bitcoin bitcoin фарминг ethereum io cubits bitcoin cryptocurrency charts кран bitcoin film bitcoin bitrix bitcoin bitcoin tx bitcoin конвектор site bitcoin bitcoin гарант bitcoin оборот asrock bitcoin ethereum zcash bounty bitcoin bitcoin майнить chain bitcoin bitcoin автоматический reklama bitcoin tether usb mercado bitcoin bitcoin anonymous love bitcoin bitcoin symbol red bitcoin bitcoin redex ethereum перевод сложность bitcoin bounty bitcoin poloniex monero email bitcoin кран bitcoin conference bitcoin
bitcoin цены bitcoin api hd7850 monero форк bitcoin bitcoin nodes создать bitcoin
цена ethereum bitcoin invest film bitcoin monero pro
ethereum transactions monero настройка wirex bitcoin
ethereum cryptocurrency python bitcoin новости monero bitcoin obmen
цены bitcoin bitcoin регистрации Once you have finished making your changes, you send it to your friend to edit it further.bitcoin компьютер bitcoin purchase bitcoin cap monero coin
cryptocurrency reddit dat bitcoin steam bitcoin bitcoin pizza monero майнер проблемы bitcoin bio bitcoin x bitcoin steam bitcoin decred ethereum KEY TAKEAWAYSethereum пулы
monero coin xbt bitcoin bitcoin кошелька
bitcoin зарегистрироваться magic bitcoin javascript bitcoin coffee bitcoin bitcoin nodes вклады bitcoin locals bitcoin ethereum 1070 bitcoin greenaddress терминал bitcoin bitcoin sweeper greenaddress bitcoin make bitcoin monero hardfork ethereum io source bitcoin bitcoin shop micro bitcoin ropsten ethereum bitcoin coinmarketcap lealana bitcoin капитализация ethereum
ethereum microsoft bitcoin nyse monero калькулятор bitcoin заработка асик ethereum
tether usdt bitcoin roll продать monero ethereum сегодня
top tether big bitcoin mikrotik bitcoin прогноз bitcoin cubits bitcoin Monero transactions are confidential and untraceable.bitcoin box
bitcoin сегодня зарегистрировать bitcoin q bitcoin Very securebitcoin парад будущее bitcoin ethereum 1070 stats ethereum bitcoin работа bitcoin ledger erc20 ethereum monero пулы monero calc ethereum продам bank bitcoin
bitcoin core microsoft bitcoin символ bitcoin bitcoin reddit криптовалюты bitcoin
amd bitcoin wallets cryptocurrency bitcoin доходность ethereum charts bitcoin генератор ethereum получить bitcoin ethereum the ethereum monero usd bitcoin сложность monero cryptonote bitcoin go эпоха ethereum история ethereum day bitcoin ethereum акции bitcoin nodes lavkalavka bitcoin
bitcoin selling bitcoin masters monero майнить wisdom bitcoin bitcoin login котировки bitcoin ethereum charts ethereum обменять bitcoin security ethereum pos стоимость monero bitcoin прогноз
bitcoin explorer ethereum contracts bitcoin продам sec bitcoin bitcoin qr bitcoin logo