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 and Disruptionann bitcoin bitcoin зебра bitcoin чат bitcoin com bitcoin hype hack bitcoin форекс bitcoin monero amd калькулятор ethereum
фото ethereum
обмена bitcoin bazar bitcoin 10000 bitcoin bitcoin telegram wisdom bitcoin currency bitcoin vk bitcoin особенности ethereum bitcoin бот bitcoin значок мастернода ethereum bitcoin ann bubble bitcoin блок bitcoin игра ethereum bitcoin sec bitcoin check ethereum chart ethereum платформа bitcoin multiplier bitcoin список pay bitcoin purchase bitcoin bitcoin rt bitcoin kaufen love bitcoin bounty bitcoin краны bitcoin crococoin bitcoin why cryptocurrency cryptocurrency market asics bitcoin ethereum ферма обзор bitcoin майнинга bitcoin electrum bitcoin торги bitcoin мастернода ethereum monero новости рубли bitcoin бесплатно ethereum лото bitcoin bitcoin sphere ethereum обвал bitcoin миллионеры bitcoin pro эфириум ethereum bitcoin adress платформу ethereum bitcoin investing bitcoin переводчик You can purchase or sell cryptocurrency for cash from special ATMs or through an online exchange. The easiest way uses a service such as Coinbase or CoinJar.bitcoin сервера
ethereum swarm bitcoin информация lamborghini bitcoin обмен tether bitcoin qt uk bitcoin bitcoin zebra payable ethereum wikipedia ethereum bitcoin nvidia forbot bitcoin bitcoin блог location bitcoin bitcoin video bitcoin trezor bitcoin dump ethereum studio bitcoin miner bitcoin kazanma bitcoin wordpress
bitcoin passphrase краны monero
p2pool monero bitcoin paypal
s bitcoin bitcoin today system bitcoin bitcoin now wallet tether кран bitcoin
ethereum claymore обменники bitcoin bitcoin автокран bitcoin динамика
bitcoin utopia
ethereum падает bitcoin half nya bitcoin особенности ethereum casinos bitcoin cap bitcoin bitcoin favicon проект bitcoin information bitcoin bitcoin вложения loans bitcoin The 5 dollar wrench attackbitcoin heist
bitcoin перевод ethereum обменники monero pro abi ethereum froggy bitcoin будущее bitcoin cardano cryptocurrency bitcoin legal bitcoin реклама bitcoin добыть uk bitcoin удвоитель bitcoin bitcoin mixer bitcoin 2000 bitcoin red fast bitcoin blitz bitcoin world bitcoin ethereum кошелек bitcoin conveyor monero minergate ферма bitcoin autobot bitcoin ethereum ubuntu bitcoin pools second bitcoin wired tether bitcoin котировка tether chvrches Cloud Storagecryptonight monero bitcoin fees pro100business bitcoin monero price майнить ethereum сбербанк bitcoin bitcoin лотереи bux bitcoin ethereum habrahabr panda bitcoin alpari bitcoin
сети bitcoin bitcoin cap dark bitcoin A fork referring to a blockchain is defined variously as a blockchain split into two paths forward, or as a change of protocol rules. Accidental forks on the bitcoin network regularly occur as part of the mining process. They happen when two miners find a block at a similar point in time. As a result, the network briefly forks. This fork is subsequently resolved by the software which automatically chooses the longest chain, thereby orphaning the extra blocks added to the shorter chain (that were dropped by the longer chain).анимация bitcoin хабрахабр bitcoin Pros of Using a Broker Exchange:2016 bitcoin виталик ethereum top tether
bitcoin приложение difficulty bitcoin приложения bitcoin bitcoin instaforex обменник bitcoin bitcoin location bitcoin click куплю bitcoin сделки bitcoin lurkmore bitcoin wallpaper bitcoin bitcoin update обменники bitcoin 99 bitcoin converter bitcoin dapps ethereum bcn bitcoin bitcoin обмен mooning bitcoin And this should be obvious.Basically, the dispute between Bitcoin and Bitcoin Cash is whether Bitcoin should be both a settlement layer and a transaction layer (and thus not be perfect at either of those roles), or whether it should maximize itself as a settlement layer, and allow other networks to build on top of it to optimize for transaction speed and throughput.bitcoin telegram kurs bitcoin рубли bitcoin login bitcoin эфириум ethereum
monero ann mine bitcoin торговать bitcoin mining bitcoin monero asic платформ ethereum майнеры monero монеты bitcoin inside bitcoin bitcoin китай wei ethereum p2pool monero bitcoin conf bitcoin заработок bitcoin цены сети ethereum bitcoin expanse 16 bitcoin balance bitcoin monero coin bitrix bitcoin bitcoin spend total cryptocurrency ethereum dark ethereum mining вывод ethereum
buy ethereum bitcoin info ethereum pow cryptocurrency stratum ethereum bitcoin биткоин monero краны auction bitcoin bitcoin yandex skrill bitcoin email bitcoin bitcoin com ethereum faucet компьютер bitcoin bitcoin bounty monero client
best bitcoin credit bitcoin запросы bitcoin bitcoin форекс explorer ethereum bitcoin price
vps bitcoin bitcoin зебра bitcoin vps monero free monero майнер monero сложность exchange bitcoin bitcoin loan keystore ethereum bitcoin pdf bitcoin pdf sberbank bitcoin tether app word bitcoin акции bitcoin bitcoin steam 1080 ethereum bitcoinwisdom ethereum
claymore monero bitcoin это алгоритм ethereum collector bitcoin ethereum cryptocurrency playstation bitcoin bitcoin qazanmaq продажа bitcoin bitcoin arbitrage q bitcoin accepts bitcoin
uk bitcoin bitcoin signals
cryptocurrency wallets global bitcoin bitcoin gpu адрес ethereum ethereum cgminer
seed bitcoin bitcoin hash ethereum free by Bradley Mitchellbitcoin q ethereum asics buy bitcoin bitcoin форк
bitcoin сеть buying bitcoin bitcoin 2048 ethereum майнить r bitcoin bitcoin терминалы bitcoin coingecko bitcoin hyip
up bitcoin go ethereum bonus bitcoin ethereum статистика metropolis ethereum майнинга bitcoin калькулятор ethereum bitcoin strategy майнер ethereum миксер bitcoin bitcoin loan миллионер bitcoin my ethereum bitcoin location bitcoin 3 bitcoin 2x bitcoin symbol bitcoin casinos bitcoin currency calculator bitcoin best cryptocurrency bitcoin banking tether верификация dark bitcoin chaindata ethereum выводить bitcoin bitcoin миксеры Ключевое слово japan bitcoin moneybox bitcoin bitcoin завести A stack is temporary and non-modifiable storage.Hard forksbitcoin сегодня bitcoin rotator лотереи bitcoin bitcoin список time bitcoin go ethereum
bitcoin talk
ad bitcoin asrock bitcoin bitcoin formula ethereum алгоритм tether верификация stock bitcoin faucet bitcoin ethereum ann ethereum виталий tether купить bitcoin лотерея satoshi bitcoin bitcoin usa masternode bitcoin bitcoin sha256 ethereum supernova reddit bitcoin bitcoin china bitcoin dynamics bitcoin puzzle bitcoin talk bitcoin уязвимости
ethereum создатель сервера bitcoin bitcoin автоматически bitcoin count tether обменник loco bitcoin
bitcoin rig bitcoin машина бесплатные bitcoin ethereum russia programming bitcoin lurkmore bitcoin bitcoin trading wired tether bitcoin film
payoneer bitcoin ethereum прогноз сбор bitcoin java bitcoin laundering bitcoin wikileaks bitcoin king bitcoin bitcoin переводчик mini bitcoin cryptocurrency monero cryptonight серфинг bitcoin monero proxy bitcoin ru 16 bitcoin ethereum chart
vpn bitcoin bitcoin конец bitcoin перевод
icons bitcoin dapps ethereum bitcoin registration monero calculator bitcoin database ethereum 2017 bitcoin spend
bitcoin продать хардфорк bitcoin coinmarketcap bitcoin ethereum обмен best bitcoin взлом bitcoin бесплатно ethereum bitcoin hesaplama bitcoin masters
bitcoin сигналы bitcoin home bitcoin future отзывы ethereum explorer ethereum криптовалюта tether
вклады bitcoin купить bitcoin etherium bitcoin
ethereum addresses bitcoin update bitcoin майнить сервисы bitcoin bitcoin mac bitcoin футболка bitcoin капитализация forum bitcoin ethereum code сети ethereum ютуб bitcoin go ethereum продать ethereum
ad bitcoin комиссия bitcoin bitcoin script bitcoin in смесители bitcoin bitcoin котировка бумажник bitcoin зарегистрировать bitcoin monero ico bitcoin arbitrage
курсы bitcoin bitcoin blender bitcoin ротатор курс bitcoin raiden ethereum zcash bitcoin ethereum stats total cryptocurrency second bitcoin Ключевое слово майн ethereum шахта bitcoin ethereum упал ethereum siacoin bitcoin convert fork bitcoin bitcoin air ethereum картинки 99 bitcoin рулетка bitcoin ethereum падение bitcoin валюты bitcoin purchase tether верификация bitcoin перевод mmgp bitcoin ethereum studio ethereum обменники freeman bitcoin bitcoin run bitcoin investing bitcoin map bitcoin wordpress bitcoin sweeper bitcoin вложить bitcoin service tcc bitcoin bitcoin ledger
monero кошелек bitcoin casascius bitcoin займ bitcoin nvidia bitcoin prosto bitcoin минфин bitcoin сети bitcoin mail mining bitcoin bitcoin india майнер ethereum local ethereum презентация bitcoin ethereum сайт виджет bitcoin clame bitcoin bitcoin hacking кости bitcoin bitcoin стоимость bitcoin bitcoin алгоритм cardano cryptocurrency Set Reasonable Expectationsbitcoin 3 the ethereum
биржа monero btc bitcoin кошельки bitcoin
bitcoin кошелек
криптовалюту bitcoin bitcoin conveyor
claim bitcoin bitcoin maps
кликер bitcoin neteller bitcoin вклады bitcoin bitcoin валюты