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 перевод bitcoin clock metal bitcoin buying bitcoin bitcoin cost
bitcoin shops
bitcoin forums 33 bitcoin чат bitcoin bitcoin pizza
bitcoin система new cryptocurrency bitcoin department cryptocurrency bitcoin 60 bitcoin cryptocurrency wallet purse bitcoin ethereum siacoin ethereum miner bitcoin china ethereum network ethereum com
bitcoin asic secp256k1 bitcoin market bitcoin bitcoin 4 bitcoinwisdom ethereum bitcoin nonce monero btc pay bitcoin
bitcoin приложение bitcoin вики email bitcoin decred cryptocurrency ethereum 2017 bitcoin take алгоритмы bitcoin bitcoin китай токены ethereum bitcoin настройка
block bitcoin bitcoin key нода ethereum top cryptocurrency flypool ethereum asic ethereum розыгрыш bitcoin ethereum история ethereum капитализация
tether download bitcoin bcc bitcoin зарегистрироваться
reddit bitcoin
bitcoin stellar bitcoin gif python bitcoin ethereum asic bitcoin cards pay bitcoin bitcoin monero bitcoin транзакции
2018 bitcoin wallet cryptocurrency bitcoin change roulette bitcoin
armory bitcoin usb tether bitcoin зебра bitcoin waves poker bitcoin mmm bitcoin bitcoin org
monero hardware bitcoin роботы usb tether bitcoin win lootool bitcoin bot bitcoin ethereum stratum monero криптовалюта india bitcoin bitcoin qiwi 2016 bitcoin fields bitcoin bitcoin it рост bitcoin bitcoin prune monero miner bitcoin cc tether отзывы bitcoin биржа icon bitcoin bitcoin logo bitcoin easy bitcoin puzzle monero miner polkadot store
удвоить bitcoin bitcoin formula trust bitcoin testnet ethereum кран ethereum strategy bitcoin bitcoin кредит bitcoin dynamics bitcoin 30 bitcoin дешевеет lazy bitcoin xpub bitcoin ethereum news live bitcoin миллионер bitcoin bitcoin chart ферма ethereum деньги bitcoin monero miner bitcoin проблемы bitcoin bear ethereum homestead bitcoin xl monero dwarfpool bitcoin mercado ethereum android Without the security of the blockchain behind it, the lightning network will not be as secure, which implies that it will largely be used for small or even micro transactions which carry a lower risk. Larger transfers that require decentralized security are more likely to be done on the original layer.bitcoin dollar rbc bitcoin mikrotik bitcoin продать monero ethereum node bitcoin автомат bitcoin машины arbitrage bitcoin bitcoin hashrate
bitcoin криптовалюта coinmarketcap bitcoin bitcoin cny платформ ethereum lazy bitcoin ethereum кошельки tp tether bitcoin fire
transactionsethereum serpent download bitcoin ethereum монета solidity ethereum The Bitcoin underlying technology is called a block chain, an ever-growing chain of blocks. This term stands for a distributed database or public asset ledger which consists of blocks with transactions. Each node of the network has a copy of this database.ethereum node ethereum explorer статистика ethereum магазин bitcoin bitcoin dollar
boom bitcoin tor bitcoin bitcoin миллионеры monero hardware виталик ethereum payza bitcoin ethereum проблемы planet bitcoin See also: the 'Bitcoin is illegal because it's not legal tender' myth.эмиссия ethereum форк bitcoin
1000 bitcoin
tether верификация bitcoin пополнение bitcoin timer добыча ethereum facebook bitcoin bitcoin simple лотереи bitcoin blogspot bitcoin сети bitcoin block bitcoin tether usb виталик ethereum bitcoin новости bitcoin flapper game bitcoin кошелек bitcoin bitcoin торговать bitcoin удвоить форумы bitcoin fx bitcoin bitcointalk monero bitcoin кредиты tinkoff bitcoin криптовалюта bitcoin bitcoin gif moon bitcoin bitcoin maining pirates bitcoin trezor ethereum 2x bitcoin bitcoin вконтакте parity ethereum bitcoin parser r bitcoin bitcoin auto black bitcoin gift bitcoin bitcoin clicker reward bitcoin нода ethereum bitcoin today satoshi bitcoin bitcoin script bistler bitcoin ethereum farm bitcoin автосерфинг credit bitcoin logo bitcoin bitcoin amazon кошелек tether
bitcoin journal bitcoin etherium ethereum calc pay bitcoin analysis bitcoin ethereum регистрация бесплатно ethereum bitcoin nvidia bitcoin waves bitcoin bounty видеокарты ethereum bitcoin программа ethereum прогноз фермы bitcoin bitcoin future doge bitcoin bitcoin trend сайте bitcoin loans bitcoin bitcoin dice bitcoin loan анонимность bitcoin usd bitcoin кошелька bitcoin bitcoin accelerator unconfirmed monero tether bootstrap bio bitcoin bitcoin бот cryptocurrency faucet difficulty ethereum bitcoin hosting bitcoin перевести автомат bitcoin monero fork auto bitcoin
кошелька bitcoin bitcoin графики bitcoin bazar новые bitcoin
bitcoin презентация bitcoin рынок ethereum проекты ethereum продать mini bitcoin форекс bitcoin bitcoin spinner
cryptocurrency calendar bitcoin gpu сайты bitcoin скрипты bitcoin доходность ethereum claim bitcoin view bitcoin xronos cryptocurrency
bitcoin заработок сбербанк bitcoin
roulette bitcoin bitcoin hash bitcoin хешрейт bitcoin hacker bitcoin hacker
hyip bitcoin кошельки bitcoin bitcoin flapper bitcoin бонус cryptocurrency charts ethereum rig bitcoin трейдинг new bitcoin connect bitcoin 500000 bitcoin bitcoin бот topfan bitcoin
tether кошелек ethereum хардфорк protocol bitcoin статистика bitcoin кредит bitcoin bitcoin cny pps bitcoin bitcoin blocks bitcoin update сайт ethereum
сложность ethereum bitcoin cz monero hardware bitcoin футболка bitcoin бот analysis bitcoin atm bitcoin bitcoin faucet bitcoin dogecoin monero nicehash bitcoin work китай bitcoin ethereum solidity
bitcoin кран
инструмент bitcoin mixer bitcoin обмен bitcoin bitcoin instant bitcoin картинка продать bitcoin 4 bitcoin mixer bitcoin cryptocurrency calendar кредит bitcoin ico cryptocurrency flash bitcoin bitcoin расшифровка ethereum asic фермы bitcoin ethereum бесплатно скачать ethereum bitcoin мониторинг mooning bitcoin
bitcoin alliance форумы bitcoin usb bitcoin
вложить bitcoin ethereum сбербанк pow bitcoin логотип bitcoin
ethereum org king bitcoin monero usd coinbase ethereum bitcoin status ethereum цена форумы bitcoin математика bitcoin 33 bitcoin frog bitcoin api bitcoin bitcoin traffic plus500 bitcoin bitcoin оплатить black bitcoin nicehash monero moneybox bitcoin bitcoin бонусы flash bitcoin форки ethereum ethereum coin
bitcoin today ethereum coingecko bitcoin миксеры bitcoin ecdsa bitcoin take analysis bitcoin money bitcoin bitcoin haqida yota tether bitcoin транзакции Monero Mining Rewardsbitcoin billionaire bitcoin goldman
moto bitcoin bitcoin blue bitcoin drip bitcoin символ coinmarketcap bitcoin приложение bitcoin
nem cryptocurrency ethereum asic conference bitcoin
сборщик bitcoin iso bitcoin
калькулятор monero future bitcoin верификация tether лото bitcoin 5) DurabilityMINbitcoin 3d bitcoin land bitcoin formula казино ethereum vector bitcoin bitcoin магазин boxbit bitcoin блог bitcoin monero fr покер bitcoin bitcoin instagram truffle ethereum difficulty monero rx580 monero cz bitcoin
wikileaks bitcoin bitcoin капитализация zcash bitcoin
майнер ethereum bitcoin партнерка ethereum падает ethereum контракт genesis bitcoin скачать bitcoin
segwit bitcoin bitcoin nedir bitcoin tails bitcoin de bitcoin экспресс client bitcoin торги bitcoin tether coin
bitcoin course project ethereum сложность bitcoin tether android takara bitcoin