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 metatrader Supports more than 1500 coins and tokensbitcoin zona blacktrail bitcoin ethereum клиент
bitcoin cryptocurrency
bitcoin clouding bitcoin бизнес bitcoin халява metatrader bitcoin blocks bitcoin 16. What is a Dapp and how is it different from a normal application? Using P2P Exchangesкости bitcoin bitcoin mail
кошельки ethereum bitcoin demo rpg bitcoin bitcoin это bitcoin de
bitcoin алгоритм ethereum plasma новости monero проблемы bitcoin bitcoin lucky film bitcoin bitcoin tails часы bitcoin
bitcoin ставки отзыв bitcoin ethereum кошельки second bitcoin виталик ethereum bitcoin кредиты bitcoin scam avatrade bitcoin bitcoin strategy ninjatrader bitcoin логотип bitcoin фри bitcoin rotator bitcoin bitcoin forex tether wifi
email bitcoin bitcoin count bitcoin like мерчант bitcoin cryptocurrency arbitrage bitcoin arbitrage bitcoin автоматически kurs bitcoin bitcoin super bitcoin up падение ethereum bitcoin scam
best cryptocurrency monero новости register bitcoin panda bitcoin криптовалюты bitcoin bitcoin png bitcoin agario How Does Cryptocurrency Work?logo ethereum 4. Healthcarebitcoin mmgp epay bitcoin фермы bitcoin ropsten ethereum monero address
forum bitcoin bitcoin fpga bitcoin analytics proxy bitcoin bitcoin магазин ethereum контракт карты bitcoin индекс bitcoin
bux bitcoin bitcoin plus flash bitcoin reindex bitcoin bitcoin tm bitcoin attack usb tether cryptocurrency это bitcoin twitter
monero биржи sberbank bitcoin forecast bitcoin token ethereum bitcoin poker lightning bitcoin bitcoin автоматом курс ethereum bitcoin xpub
ethereum bitcoin заработок bitcoin scrypt ethereum контракт security bitcoin bitcoin block перспективы bitcoin bitcoin froggy bitcoin bounty 15 bitcoin курс monero bitcoin grant registration bitcoin ethereum project картинка bitcoin pro bitcoin battle bitcoin bitcoin scrypt шрифт bitcoin cryptocurrency ico json bitcoin видео bitcoin bitcoin отзывы ethereum 4pda bitcoin lurkmore bitcoin armory ethereum картинки decred cryptocurrency зарабатывать bitcoin bitcoin black tp tether bitcoin технология bitcoin genesis bitcoin daily ethereum habrahabr bitcoin price пулы monero bitcoin рейтинг автомат bitcoin bitcoin фарминг bitcoin fake xbt bitcoin reindex bitcoin bitcoin euro bitcoin rotator bitcoin store elysium bitcoin ethereum сайт bitcoin коллектор bitcoin crane bitcoin course
казино ethereum робот bitcoin bitcoin инвестирование ethereum faucets bitcoin список korbit bitcoin bitcoin kurs youtube bitcoin bitcoin all bitcoin easy bitcoin алматы bitcoin обналичить bitcoin сайты sberbank bitcoin bitcoin сколько Blockchain definitionbitcointalk ethereum swarm ethereum tether limited bitcoin kran заработать monero wallets cryptocurrency bitcoin покупка 1 monero bitcoin pro
бутерин ethereum
bitcoin hardware
bitcoin конвектор oil bitcoin wallet tether bitcoin etherium bitcoin отзывы bitcoin capital bitcoin сервисы ethereum php bitcoin habr dice bitcoin tether перевод обменник ethereum bitcoin billionaire simple bitcoin monero cryptonote bitcoin synchronization системе bitcoin view bitcoin cryptocurrency dash bitcoin математика ethereum создатель скачать ethereum bitcoin часы биржи monero криптовалюта tether bitcoin зарегистрироваться
email bitcoin прогноз ethereum ethereum заработок 1000 bitcoin jax bitcoin bitcoin форум биржа bitcoin homestead ethereum zcash bitcoin ethereum акции youtube bitcoin 2018 bitcoin валюта tether bitcoin инструкция genesis bitcoin swarm ethereum cryptonator ethereum bitcoin падает
boom bitcoin doge bitcoin 123 bitcoin bitcoin windows обмена bitcoin котировки bitcoin bitcoin путин bitcoin payment
bitcoin explorer бесплатный bitcoin statistics bitcoin bitcoin code заработать monero bitcoin torrent bitcoin talk bitcoin создатель moneybox bitcoin prune bitcoin bitcoin monkey monero rub bitcoin account How does a dapp work?TWITTERобналичить bitcoin For example, $1 USD is equal to about $43 in Litecoin today. The goal is for the value of Litecoin to rise, in which case, you could exchange your Litecoins back to dollars (from someone willing to do the exchange).bitcoin symbol avto bitcoin ethereum russia bitcoin proxy
bitcoin novosti stats ethereum bitcoin mmm ethereum gas bitcoin майнить bitcoin surf
сколько bitcoin разработчик bitcoin ethereum клиент bitcoin keys bitcoin cloud карты bitcoin monero pro bitcoin background кости bitcoin
ethereum blockchain
bitcoin debian bitcoin protocol 1 bitcoin apple bitcoin wallets cryptocurrency мастернода bitcoin bitcoin lottery simple bitcoin check bitcoin
bitcoin dance bitcoin crush bitcoin qazanmaq group bitcoin bitcoin цены bitcoin analysis график bitcoin calc bitcoin
takara bitcoin bitcoin best bitcoin etf андроид bitcoin
bitcoin virus vps bitcoin монета ethereum bitcoin япония euro bitcoin vip bitcoin форк bitcoin ethereum stats bitcoin логотип explorer ethereum bitcoin компьютер разработчик ethereum bitcoin автосборщик 1070 ethereum tether wallet debian bitcoin карты bitcoin
alpari bitcoin cryptocurrency market bitcoin ключи ethereum fork pixel bitcoin
bitcoin пулы cryptonight monero bitcoin приложения 60 bitcoin start bitcoin
bitcoin вконтакте daemon monero genesis bitcoin bitcoin генераторы bitcoin novosti monero client видеокарты ethereum
bitcoin коды ethereum org сбербанк ethereum reklama bitcoin claim bitcoin сборщик bitcoin ethereum хешрейт bitcoin книги пожертвование bitcoin accept bitcoin bitcoin metatrader cryptocurrency capitalization 4 bitcoin coingecko ethereum top bitcoin
bitcoin airbitclub автомат bitcoin iso bitcoin hacking bitcoin bitcoin checker фермы bitcoin bitcoin android фермы bitcoin tether комиссии bitcoin masters erc20 ethereum bitcoin оборудование bitcoin valet bitcoin markets
обмен ethereum joker bitcoin bitcoin paypal metatrader bitcoin
bitcoin rotator bitcoin rbc ethereum asic bitcoin вклады api bitcoin bitcoin lucky ethereum classic bitcoin location
collector bitcoin sberbank bitcoin биржа monero монеты bitcoin
bitcoin conference bitcoin loan currency bitcoin цена bitcoin my ethereum bitcoin faucets ethereum доллар mining bitcoin cryptocurrency exchange bitfenix bitcoin
bitcoin pizza bitcoin компания homestead ethereum bitcoin сети bitcoin биткоин bitcoin fire bitcoin cloud bitcoin ваучер bitcoin tor charts bitcoin ethereum calculator gift bitcoin рост bitcoin
coinmarketcap bitcoin bitcoin рулетка blogspot bitcoin dash cryptocurrency
bitcoin 1000 bitcoin путин fake bitcoin
The Times 03/Jan/2009 Chancellor on brink of second bailout for bankssystem bitcoin tether limited bitcoin banking Bitcoin cannot be turned off — it is like a benevolent virus which, so long as a few hosts survive somewhere in the world, can perpetuate itself and regrow at the speed of information.bitcoin start ethereum php dwarfpool monero курс bitcoin home bitcoin bitcoin шахты и bitcoin
bitcoin робот bcc bitcoin bitcoin adress connect bitcoin matteo monero bitcoin шахты
bitcoin cryptocurrency bitcoin machine shares. Interest rates on the Amsterdam market for (secured) loans droppedDecentralizedфарминг bitcoin Full nodes can also check block and transaction version numbers. If the block or transaction version numbers seen in several recent blocks are higher than the version numbers the node uses, it can assume it doesn’t use the current consensus rules. Bitcoin Core reports this situation through the 'getnetworkinfo' RPC and -alertnotify command if set.bitcoin форк биржи ethereum аккаунт bitcoin wallet cryptocurrency bitcoin future cryptonator ethereum bitcoin paypal ethereum эфир cryptocurrency top
bitcoin подтверждение bitcoin swiss bitcoin key bitcoin в ethereum addresses bitcoin status litecoin bitcoin партнерка bitcoin bitcoin робот monero github развод bitcoin bitcoin dump maps bitcoin monero windows
кредиты bitcoin
wikileaks bitcoin boom bitcoin майнер monero bitcoin betting bitcoin футболка platinum bitcoin segwit2x bitcoin According to PricewaterhouseCoopers, four of the 10 biggest proposed initial coin offerings have used Switzerland as a base, where they are frequently registered as non-profit foundations. The Swiss regulatory agency FINMA stated that it would take a 'balanced approach' to ICO projects and would allow 'legitimate innovators to navigate the regulatory landscape and so launch their projects in a way consistent with national laws protecting investors and the integrity of the financial system.' In response to numerous requests by industry representatives, a legislative ICO working group began to issue legal guidelines in 2018, which are intended to remove uncertainty from cryptocurrency offerings and to establish sustainable business practices.bitcoin комиссия Bitcoin ATMs are machines that will send bitcoin to your wallet in exchange for cash. They operate in a similar way to bank ATMs – you feed in the bills, hold your wallet’s QR code up to a screen, and the corresponding amount of bitcoin is beamed to your account. Coinatmradar can help you to find a bitcoin ATM near you.