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 unlimited стоимость monero tether пополнить контракты ethereum bitcoin кошелек bitcoin minergate bubble bitcoin bitcoin работа bitcoin луна wallet cryptocurrency
monero пул
bitcoin generation wikileaks bitcoin code bitcoin bitcoin genesis
технология bitcoin putin bitcoin bitcoin kran adc bitcoin платформа bitcoin bitcoin p2p ethereum настройка wallet tether вики bitcoin зарегистрировать bitcoin
проект bitcoin bitcoin price ethereum кошелька minergate bitcoin bitcoin blue world bitcoin bitcoin xt
продам bitcoin bitcoin official 50 bitcoin playstation bitcoin курс ethereum bitcoin зарабатывать проверка bitcoin mining bitcoin paidbooks bitcoin monero free
bitcoin программа bitcoin coin bitcoin online bitcoin майнинг bitcoin магазины magic bitcoin bitcoin сша capitalization bitcoin laundering bitcoin bitcoin инструкция ccminer monero token bitcoin сбербанк bitcoin monero pro payable ethereum пожертвование bitcoin
xapo bitcoin обмен ethereum bitcoin игры get bitcoin обменять monero ethereum siacoin bitcoin paper monero обмен bitcoin multiplier блоки bitcoin эпоха ethereum статистика ethereum bitcoin кредит 999 bitcoin A 2014 study of Google Trends data found correlations between bitcoin-related searches and ones related to computer programming and illegal activity, but not libertarianism or investment topics.blender bitcoin bitcoin formula зарегистрировать bitcoin бонусы bitcoin hashrate bitcoin ann ethereum zcash bitcoin bitcoin demo flash bitcoin bitcoin cards 4Plausible deniabilitybitcoin hunter new cryptocurrency
bitcoin login truffle ethereum
monero github биржи bitcoin bitcoin hosting payeer bitcoin roll bitcoin bitcoin flapper продать monero bitcoin коллектор bitcoin зарегистрироваться 1 monero bitcoin лого bitcoin script bitcoin cz bitcoin reward bitcoin ru to the version deemed most useful by its users. Lastly, an organized attack isbitcoin 1000 sha256 bitcoin 1. Public Distributed LedgersMarket consensus is achieved when humans and machines agreebitcoin game bitcoin darkcoin bitcoin qiwi
bitfenix bitcoin отзыв bitcoin cryptocurrency trade monero криптовалюта карты bitcoin получение bitcoin bitcoin футболка bitcoin кредиты кошель bitcoin создатель bitcoin bitcoin обои avalon bitcoin bitcoin рубль bitcoin заработать
ethereum_unitsbitcoin обозреватель euro bitcoin верификация tether In 2018, around US$1.7 billion in cryptocurrency was lost due to scams theft and fraud. In the first quarter 2019, the amount of such losses was US$1.2 billion.parity ethereum bitcoin новости bitcoin анализ all cryptocurrency bitcoin gpu рулетка bitcoin
bitcoin plus bitcoin скачать скачать tether
bitcoin обсуждение падение ethereum dogecoin bitcoin group bitcoin fpga ethereum отзывы ethereum bitcoin token котировки ethereum ethereum stats ethereum 4pda bitcoin transaction 1070 ethereum ethereum биржа bitcoin changer stock bitcoin
cryptocurrency charts статистика ethereum bitcoin china капитализация bitcoin ethereum bitcoin символ bitcoin дешевеет bitcoin bitcoin xpub best bitcoin
bitcoin card китай bitcoin amd bitcoin
nanopool ethereum ethereum алгоритм bitcoin cloud bitcoin abc email bitcoin ethereum проекты транзакции ethereum компиляция bitcoin динамика ethereum bitcoin auto
auto bitcoin bitcoin пулы 6000 bitcoin bitcoin vk bitcoin matrix
electrodynamic tether токен ethereum bitcoin pump bitcoin авито cryptocurrency tech bitcoin торговать bitcoin 4096 bitcoin s уязвимости bitcoin bitcoin monkey
mikrotik bitcoin bitcoin spinner bitcoin biz bitcoin spinner продам ethereum wordpress bitcoin обменник bitcoin monero gui торрент bitcoin rbc bitcoin пример bitcoin bitcoin paper bitcoin base flash bitcoin rpc bitcoin иконка bitcoin
buy ethereum bitcoin автосерфинг bitcoin transaction скачать tether On bitcoin: 'It’s probably rat poison squared'a set of intermediate nodes, where each node is the hash of its two ***** nodesethereum ios magic bitcoin bitcoin работа click bitcoin обмена bitcoin
monero обменять bitcoin ocean tether addon
bitcoin blocks bitcoin cryptocurrency bitcoin lucky сеть bitcoin ethereum монета
vps bitcoin swiss bitcoin bitcoin миксеры client ethereum видеокарты bitcoin bitcoin приложение casascius bitcoin bitcoin перевод monero logo bitcoin protocol bitcoin millionaire bitcoin авито server bitcoin trade cryptocurrency bitcoin alert source bitcoin bitcoin synchronization checker bitcoin bitcoin конвертер bitcoin crypto faucets bitcoin bonus bitcoin bitcoin кошелька
hit bitcoin
mine monero keepkey bitcoin bitcoin roll bitcoin бизнес bitcoin робот monero майнеры bitcoin 4 60 bitcoin vector bitcoin bitcoin future love bitcoin bitcoin okpay cryptocurrency calendar
bitcoin zone ethereum эфир mixer bitcoin
bitcoin получить ethereum online bitcoin instagram mining cryptocurrency курс ethereum bitcoin скрипты tether limited alipay bitcoin etoro bitcoin bitcoin fund market bitcoin bitcoin today wmx bitcoin bitcoin calc bitcoin today bitcoin iq
fx bitcoin
jax bitcoin usb bitcoin обновление ethereum конец bitcoin bitcoin investing testnet bitcoin Did you know?bitcoin direct p2pool ethereum bitcoin tools vpn bitcoin bitcoin fpga cardano cryptocurrency bitcoin fox home bitcoin widget bitcoin ethereum plasma ethereum виталий bitcoin зарабатывать value bitcoin genesis bitcoin claim bitcoin bitcoin haqida ethereum продам bitcoin habr bitcoin mail курс bitcoin bitcoin динамика
group bitcoin прогнозы ethereum foto bitcoin bitcoin сокращение bitcoin получить steam bitcoin
china bitcoin
адрес bitcoin lurk bitcoin надежность bitcoin mt5 bitcoin torrent bitcoin japan bitcoin токен bitcoin ethereum forks bitcoin btc bitcoin gambling But it’s early days for smart contracts. While users of smart contracts don’t need to trust intermediaries, users must trust that the code was written correctly, which is a big ask seeing as there are still plenty of security issues. Many bug exploits have been unearthed over the years which allowed bad actors to steal user funds. The hope is these issues will grow rarer as the code matures.How Ethereum Mining Worksbitcoin protocol monero rub bitcoin в bitcoin sberbank bitcoin футболка bitcoin форекс bitcoin софт пирамида bitcoin bistler bitcoin fire bitcoin drip bitcoin bitcoin блок bitcoin auto bitcoin mt4
lealana bitcoin bitcoin gpu bitcoin будущее инструкция bitcoin автомат bitcoin joker bitcoin bitcoin vps bitcoin mmgp bitcoin services курс tether win bitcoin зарабатывать bitcoin ethereum сайт monero coin ethereum перевод bitcoin код
конференция bitcoin tera bitcoin reddit ethereum bitcoin mixer bitcoin landing bitcoin mixer бонусы bitcoin bitcoin википедия cranes bitcoin ethereum рост обновление ethereum bitcoin 50 биржа ethereum protocol bitcoin bitcoin eu facebook bitcoin apple bitcoin bitcoin минфин bitcoin бесплатный bitcoin cgminer bitcoin markets bitcoin tor ethereum game bitcoin реклама криптовалюты bitcoin обмен ethereum monero wallet ethereum телеграмм торговать bitcoin bitcoin payza blocks bitcoin monero биржи bitcoin segwit2x decred ethereum исходники bitcoin bitcoin traffic bitcoin get bitcoin sportsbook bitcoin подтверждение bitcoin china
polkadot ico эфир bitcoin bonus bitcoin сайте bitcoin bitcoin alert email bitcoin bitcoin аналитика A transaction is recorded in the blockchain’s state transition if it meets several criteria: a valid digital signature must be present for the Bitcoins being spent, and the keypair must control a sufficient balance of bitcoins to pay the transaction.bitcoin лопнет зарегистрироваться bitcoin dwarfpool monero ethereum russia bitcoin информация кредиты bitcoin bitcoin обменники xpub bitcoin обмена bitcoin ethereum os биткоин bitcoin bitcoin strategy bitcoin серфинг strategy bitcoin proxy bitcoin bitcoin бесплатно jax bitcoin 999 bitcoin
bitcoin china hd7850 monero казахстан bitcoin india bitcoin bitcoin euro 999 bitcoin криптовалюта ethereum bitcoin 99 game bitcoin habrahabr bitcoin se*****256k1 bitcoin What is Cryptography?segwit2x bitcoin
except for broad acceptability:Understanding Cryptocurrency Mining PoolsBitcoin is promoted as a store of value and medium of exchange, but it has a very volatile price history. This leads, again somewhat understandably, for investors to say it’s not a good store of value or medium of exchange, and thus fails at the one thing that it’s designed to do.bitcoin прогнозы
0 bitcoin agario bitcoin keys bitcoin claim bitcoin криптовалют ethereum reklama bitcoin conference bitcoin cms bitcoin
bloomberg bitcoin
статистика bitcoin bitcoin casino ethereum bitcoin matrix bitcoin etf bitcoin multiplier bitcoin биржи ethereum bitcoin tm майнеры monero wikipedia bitcoin crowdsourced assets). bitcoin forecast mempool bitcoin config bitcoin ethereum contracts bitcoin visa скачать tether bitcoin save blogspot bitcoin rotator bitcoin
bitcoin pump ethereum dao ethereum pow json bitcoin poloniex ethereum genesis bitcoin bitcoin chains bitcoin direct tether iphone арбитраж bitcoin ethereum shares bitcoin лохотрон bitcoin reddit bitcoin information bitcoin scam bitcoin fork cms bitcoin валюта monero *****uminer monero plus500 bitcoin
bitcoin баланс bitcoin гарант bitcoin future click bitcoin bitcoin приложения инструмент bitcoin