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 rpg ethereum токен hit bitcoin обменник tether monero dwarfpool майн bitcoin вывод monero обменять monero bitcoin сети bitcoin update доходность ethereum ethereum btc
monero wallet
ethereum myetherwallet nxt cryptocurrency accepts bitcoin konvert bitcoin
hacking bitcoin ethereum addresses
казино ethereum
accepts bitcoin bitcoin путин top bitcoin перспективы ethereum unconfirmed bitcoin bitcoin value bitcoin мастернода
криптовалют ethereum ethereum скачать bitcoin keys
monero pools fork bitcoin обменять ethereum bitcoin land зарабатывать ethereum эпоха ethereum
trade cryptocurrency bitcoin payeer play bitcoin bitcoin hashrate ethereum cryptocurrency ethereum plasma
китай bitcoin bitcoin 4 bitcoin лучшие asrock bitcoin bitcoin payment
bitcoin mainer bitcoin покупка claim bitcoin bitcoin xt free bitcoin bitcoin foto bitcoin blockstream bitcoin казино stats ethereum bitcoin okpay new cryptocurrency monero dwarfpool bitcoin вложить nicehash bitcoin фри bitcoin bitcoin grant
bitcoin status
bitcoin компьютер ethereum получить бесплатные bitcoin акции ethereum bitcoin paw nonce bitcoin
bitcoin вконтакте bot bitcoin bitcoin 3 matteo monero code bitcoin разделение ethereum ethereum swarm ebay bitcoin новый bitcoin ethereum investing space bitcoin bitcoin блок
падение ethereum bitcoin development bitcoin бесплатные bitcoin экспресс nonce bitcoin ropsten ethereum byzantium ethereum ethereum gold bitcoin вконтакте
bitcoin лохотрон вход bitcoin ethereum supernova bitcoin instaforex токен ethereum
bitcoin автоматически monero ico bitcoin hyip trade cryptocurrency
monero hardware bitcoin phoenix майнер monero bitcoin виджет
bitcoin transactions bitcoin fees fire bitcoin ethereum bitcointalk bitcoin scan car bitcoin shot bitcoin bitcoin анализ bitcoin token wirex bitcoin bitcoin synchronization ethereum mine
bitcoin cash bitcoin carding bitcoin redex dwarfpool monero bitcoin fortune ethereum chart калькулятор ethereum bitcoin биткоин пример bitcoin bitcoin transactions bitcoin бумажник forum cryptocurrency бесплатные bitcoin
bitcoin зебра bitcoin окупаемость converter bitcoin space bitcoin bitcoin free оплатить bitcoin bitcoin автомат tether usdt bitcoin change solo bitcoin ethereum продам bitcoin adress market bitcoin moto bitcoin bitcoin jp bitcoin адреса avto bitcoin home bitcoin blacktrail bitcoin bitcoin сборщик ethereum упал aml bitcoin
bitcoin реклама отзывы ethereum блокчейна ethereum
monero minergate bitcoin trading проекта ethereum bitcoin лотерея monero ico ethereum сбербанк ethereum хардфорк токен bitcoin lealana bitcoin bistler bitcoin книга bitcoin ethereum обвал mindgate bitcoin bitcoin safe
Illegal financial transactionbitcoin etherium
Initially, your transaction will be executed, but if the execution of a smart contract costs more than the specified gas, then the miners will stop validating your contract. The Blockchain will record the transaction as failed, also the user doesn’t get a refund.auction bitcoin bitcoin multisig bazar bitcoin ethereum кошельки wirex bitcoin tether обменник create bitcoin bitcoin значок bitcoin registration bitcoin advertising bitcoin qr bitcoin slots bitcoin рухнул bitcoin central avatrade bitcoin bitcoin bcc buying bitcoin bitcoin фильм primedice bitcoin
nonce bitcoin fast bitcoin ethereum core аналитика bitcoin
bitcoin club bitcoin org get bitcoin
bitcoin gadget bitcoin moneybox bitcoin биржа bitcoin synchronization компания bitcoin bitcoin download bitcoin кошелек скрипты bitcoin ethereum прогнозы ultimate bitcoin bitcoin 1000 avatrade bitcoin calculator ethereum ethereum википедия bitcoin комиссия bitcoin motherboard описание bitcoin boxbit bitcoin hourly bitcoin market bitcoin nicehash bitcoin bitcoin server отзывы ethereum ethereum asics zcash bitcoin bitcoin транзакции euro bitcoin bitcoin cc monero hashrate ethereum windows mercado bitcoin trade cryptocurrency monero форк bitcoin jp bitcoin take ethereum course ethereum supernova cryptocurrency top programming bitcoin
game bitcoin
е bitcoin bitcoin spend mikrotik bitcoin сборщик bitcoin bitcoin pos
waves cryptocurrency
особенности ethereum bitcoin fees форк bitcoin cryptocurrency tech ethereum курсы статистика ethereum bitcoin cloud вирус bitcoin bitcoin торги abi ethereum покупка ethereum запросы bitcoin go ethereum bitcoin vps tether транскрипция bitcoin statistic monero pro bitcoin talk значок bitcoin monero proxy cryptocurrency wallets avatrade bitcoin tether верификация
bitcoin миллионеры monero github bitcoin комбайн обмен tether epay bitcoin
монета bitcoin bitcoin стоимость bitcoin капча 777 bitcoin пул monero bitcoin source wikileaks bitcoin bitcoin etf андроид bitcoin mining ethereum bitcoin redex bitcoin value
bonus bitcoin ethereum обменники кошельки ethereum reverse tether ethereum shares bitcoin farm автомат bitcoin форк bitcoin
bitcoin лучшие erc20 ethereum
bitcoin course pizza bitcoin ethereum транзакции bitcoin взлом bitcoin goldman time bitcoin clicker bitcoin алгоритм ethereum bitcoin png reddit bitcoin генераторы bitcoin bitcoin оборот ethereum форки bitcoin cost bitcoin anonymous bitcoin visa
bitcoin пример сбербанк ethereum автоматический bitcoin bitcoin block
система bitcoin ledger bitcoin ethereum вики bitcoin block bitcoin cfd bitcoin sell bitcoin видеокарта ethereum php
bitcoin dynamics cryptocurrency magazine solo bitcoin bitcoin datadir bitcoin x2 bubble bitcoin 16 bitcoin bitcoin видеокарта battle bitcoin Managed/unmanaged exchange ratesботы bitcoin ethereum bitcoin bitcoin exchanges bitcoin cap история ethereum
live bitcoin ethereum faucet wikileaks bitcoin кран ethereum Ethereum apps will usually provide instructions for how to use their specific app and underlying smart contracts. A common method is to use an Ethereum wallet tool, such as Metamask, to send the ether. bitcoin книги
monero пул Some of these clever folks, called cypherpunks, thought that governments and corporations had too much power over our lives. They wanted to use the internet to give the people of the world more freely. Using cryptography, cypherpunks wanted to allow users of the internet to have more control over their money and information. As you can tell, the cypherpunks didn’t like trusted third parties at all!создать bitcoin bitcoin calc подтверждение bitcoin
monero fr
bitcoin cap lamborghini bitcoin bitcoin анализ monero монета ethereum 100 bitcoin all bitcoin faucet cryptocurrency
bitcoin agario
delphi bitcoin average bitcoin проблемы bitcoin акции bitcoin bitcoin виджет chaindata ethereum bitcoin клиент bitcoin cudaminer
blockchain bitcoin neo bitcoin best bitcoin майнинг monero
bitcoin background tokens ethereum trade cryptocurrency bitcoin руб взлом bitcoin ethereum btc
Ethereumpeople bitcoin
ninjatrader bitcoin терминалы bitcoin bitcoin planet bitcoin gold кошельки bitcoin bitcoin игры amd bitcoin bitcoin torrent dat bitcoin bitcoin команды 22 bitcoin polkadot stingray bitcoin tools bitcoin форекс bitcoin выиграть ethereum node
solo bitcoin people bitcoin otc bitcoin market bitcoin bitcoin brokers monero cpu monero usd котировки ethereum
bitcoin fee bitcoin token
скрипты bitcoin