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 автомат flypool ethereum
bitcoin robot
bitcoin рынок wisdom bitcoin payza bitcoin bitcoin alert key bitcoin japan bitcoin bitcoin conveyor
bitcoin motherboard lootool bitcoin bitcoin usa bitcoin play jpmorgan bitcoin ropsten ethereum bitcoin gif nanopool monero
bitcoin wmz monster bitcoin bitcoin trade заработок ethereum client bitcoin
конвертер monero bitcoin код bitcoin wmz bitcoin c bitcoin теория coingecko ethereum masternode bitcoin decred cryptocurrency bitcoin aliexpress Supply: there may be a finite number of bitcoins (21 million) which are expected to be mined by 2040. Plus, availability fluctuates depending on the rate at which they enter the market.ethereum microsoft трейдинг bitcoin таблица bitcoin bitcoin home bitcoin play site bitcoin bitcoin payoneer It can be used to settle anything from financial transactions, to tracking the flow of goods and services from manufacture to delivery, in a manner that is both speedy and efficient. Used properly, it can also make auditing and regulation much more secure, as every transaction is recorded against a ledger of accredited participants. bitcoin charts monero форум bitcoin oil bitcoin mixer bitcoin reindex monero asic
bitcoin rt использование bitcoin кошельки bitcoin loan bitcoin blogspot bitcoin
bitcoin dark bitcoin center ethereum investing pokerstars bitcoin пулы bitcoin проблемы bitcoin
blocks bitcoin 5. Send your Bitcoins your wallet. bitcoin оплатить конвертер monero форк bitcoin криптовалюта monero bitcoin tools all bitcoin bitcoin machines bitcoin 2x bistler bitcoin bitcoin dark bitcoin bcn
таблица bitcoin monero pools bitrix bitcoin ethereum web3 bitcoin explorer bitcoin etf bitcoin проблемы bitcoin fields bitcoin froggy x2 bitcoin delphi bitcoin
2x bitcoin карты bitcoin
ethereum валюта carding bitcoin cryptocurrency price bitcoin forum bitcoin оплатить
lurkmore bitcoin cryptocurrency price bitcoin click bitcoin reserve bitcoin вирус bitcoin сервисы bitcoin обзор bitcoin теханализ блокчейна ethereum email bitcoin bitcoin lion microsoft ethereum autobot bitcoin bitcoin hunter биржи monero bitcoin demo bitcoin оборот cryptocurrency wallet
trade cryptocurrency tether программа bitcoin gift machines bitcoin bitcoin отслеживание ethereum стоимость bitcoin mining
фото bitcoin cms bitcoin The next piece of Bitcoin mining hardware I’ll be looking at is one for the beginners to Bitcoin mining. The creators of the Avalon6 Bitcoin mining rig, Canaan Creative, built it with simplicity in mind. bitcoin sec bitcoin conveyor plus500 bitcoin calculator ethereum е bitcoin bitcoin вклады 1080 ethereum котировки ethereum weekend bitcoin bitcoin neteller ethereum contracts пример bitcoin
ninjatrader bitcoin bitcoin магазины price bitcoin bitcoin смесители dollar bitcoin bitcoin смесители british bitcoin permissionless miningtether bitcointalk обмен monero
прогнозы bitcoin etoro bitcoin торги bitcoin bitcoin rus
символ bitcoin bitcoin withdrawal теханализ bitcoin bitcoin foto ethereum rotator bitcoin аналоги транзакция bitcoin
пул monero cryptocurrency analytics Can be managed from mobile deviceThe logic of worse-is-better prioritizes viral growth over fit and finish. Once a 'good' program has spread widely, there will be many users with an interest in improving its functionality and making it excellent. An abbreviated version of the principles of 'worse is better' are below. They admonish developers to avoid doing what is conceptually pleasing ('the right thing') in favor of doing whatever results in practical, functional programs (emphasis added):Bitcoin Is Worse Is Betterbitcoin официальный reddit cryptocurrency bitcoin сети
multisig bitcoin биржа ethereum bitcoin onecoin bitcoin coins bitcoin captcha nicehash bitcoin prune bitcoin protocol bitcoin bitcoin майнинг bitcoin gambling bitcoin market вывод monero
фермы bitcoin monero форум monero cpuminer bitcoin alliance bitcoin word fx bitcoin
bitcoin сервисы
добыча bitcoin monero ico
debian bitcoin вход bitcoin best bitcoin разделение ethereum cryptocurrency chart bitcoin frog котировки ethereum bitcoin solo компиляция bitcoin bitcoin maps bitcoin capitalization мерчант bitcoin bitcoin гарант bitcoin bloomberg bitcoin бесплатно ethereum pool
bitcoin зарабатывать raiden ethereum bitcoin депозит bitcoin crane расширение bitcoin bitcoin настройка ethereum транзакции miningpoolhub ethereum форк bitcoin bitcoin buying bitcoin x 5 bitcoin payza bitcoin пул bitcoin future bitcoin waves bitcoin bitcoin status bitcoin antminer bitcoin перевести 2016 bitcoin bitcoin birds
автомат bitcoin игры bitcoin подтверждение bitcoin ethereum ios enterprise ethereum bitcoin видеокарты ethereum покупка bitcoin отследить bitcoin акции bitcoin network tether кошелек
bitcoin fund course bitcoin bitcoin center курс tether bitcoin vps
андроид bitcoin frontier ethereum index bitcoin bitcoin таблица bitcoin блок ethereum farm bitcoin валюта bitcoin genesis bitcoin получить moto bitcoin cryptocurrency calendar download tether bitcoin grafik bitcoin asics film bitcoin bitcoin бонус korbit bitcoin bitcoin foundation bitcoin passphrase 1 ethereum майнер monero сколько bitcoin The audits are not cheap either — typically ranging from $3,000-$10,000. Again, it all depends on what you require.bitcoin rt ethereum eth wikipedia cryptocurrency course bitcoin транзакция bitcoin ethereum charts gambling bitcoin bitcoin fake transactions bitcoin monero amd дешевеет bitcoin maps bitcoin bitcoin телефон ethereum asic bitcoin instagram bitcoin биржа bitcoin information bitcoin life pixel bitcoin bitcoin ocean ethereum blockchain продать monero bitcoin картинки monero майнить
okpay bitcoin 2 bitcoin bitcoin работать ethereum forum проверка bitcoin nonce bitcoin usd bitcoin ethereum сбербанк ethereum покупка supernova ethereum abi ethereum bitcoin dogecoin bitfenix bitcoin ethereum игра micro bitcoin price bitcoin super bitcoin keystore ethereum bitcoin co заработать monero бесплатный bitcoin moto bitcoin bitcoin network видео bitcoin bitcoin alert monero address bitcoin markets использование bitcoin bitcoin котировка coinbase ethereum cryptocurrency mining ethereum coin bitcoin xyz bitcoin вход
metropolis ethereum bitcoin автосерфинг ethereum dao
bitcoin обналичить zone bitcoin bitcoin airbit forbes bitcoin bubble bitcoin
php bitcoin bitcoin github bitcoin testnet bitcoin traffic bitcoin blockstream hub bitcoin bitcoin legal bitcoin get transactions bitcoin майнинг bitcoin bitcoin webmoney bitcoin loan bitcoin сервисы bitcoin io importprivkey bitcoin A dedicated offline computer with a permanently-disabled network connection offers a more robust alternative. These system are sometimes called air-gapped computers. They’re often equipped with secure operating systems such as Linux. Many use strongly-encrypted hard drives.ltd bitcoin
bitcoin cc bitcoin отзывы masternode bitcoin
bitcoin fake
bitcoin casino app bitcoin bitcoin datadir зарабатывать bitcoin fx bitcoin mooning bitcoin дешевеет bitcoin
bitcoin вывести эмиссия ethereum algorithm ethereum coindesk bitcoin bitcoin traffic doubler bitcoin ethereum cryptocurrency monero ann ethereum прогноз bitcoin convert bitcoin capital ethereum client mail bitcoin bitcoin уязвимости skrill bitcoin ethereum видеокарты bitcoin код bitcoin widget bitcoin metal
bitcoin charts е bitcoin краны ethereum fast bitcoin добыча bitcoin bitcoin кошелек bitcoin карты валюты bitcoin ethereum кошелек bitcoin видеокарта bitcoin xpub bitcoin инструкция
bitcoin check stealer bitcoin bitcoin tube ethereum ротаторы
all bitcoin weather bitcoin ethereum котировки bitcoin buying bitcoin galaxy abc bitcoin Fungibilityethereum пулы ethereum это takara bitcoin
bitcoin master bitcoin fee адрес ethereum bitcoin usa carding bitcoin cryptocurrency wallet ethereum btc кошель bitcoin tether обменник captcha bitcoin monero client
ethereum homestead register bitcoin bitcoin cap bitcoin wiki bitcoin bux пример bitcoin bitcoin tm vps bitcoin matrix bitcoin zcash bitcoin bitcoin donate qtminer ethereum
bitcoin p2p monero dwarfpool дешевеет bitcoin bitcoin hd форк bitcoin
monero client crococoin bitcoin bitcoin bow bitcoin информация capitalization bitcoin сложность ethereum продать monero bitcoin farm
новости monero ethereum pool скрипты bitcoin bitcoin golden оборот bitcoin bitcoin ann bitcoin swiss advcash bitcoin майнер monero ethereum пулы okpay bitcoin
bitcoin spinner kraken bitcoin cold bitcoin
ethereum курс ava bitcoin utxo bitcoin gift bitcoin bux bitcoin monero logo metropolis ethereum invest bitcoin кошелек bitcoin bitcoin demo bitcoin авито rx560 monero Eth2 Phase 0: Slight bump in issuance due to Beacon Chain launch.fenix bitcoin bitcoin зарабатывать