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”.
cronox bitcoin
bitcoin banks poloniex bitcoin testnet ethereum bitcoin mt4 bitcoin maps bitcoin openssl bitcoin лого habrahabr bitcoin bitcoin fpga
playstation bitcoin usb bitcoin Hopefully Bitcoin will grow to the point where no single organization can disrupt the network, or would be better served by helping it.hacking bitcoin
algorithm bitcoin galaxy bitcoin добыча bitcoin bitcoin блокчейн
bitcoin click
bitcoin pizza
платформ ethereum bitcoin blocks miner monero bitcoin москва терминалы bitcoin нода ethereum стоимость monero pinktussy bitcoin bitcoin обменять bitcoin расшифровка кликер bitcoin carding bitcoin production cryptocurrency buy tether bitcoin кошельки pull bitcoin bitcoin darkcoin day bitcoin
проект ethereum bio bitcoin bitcoin login ethereum картинки ethereum хешрейт bitcoin 15 криптовалюту monero bitcoin evolution конвертер bitcoin сложность monero андроид bitcoin
ethereum логотип bitcoin farm moon ethereum bitcoin кранов
bitcoin future bitcoin символ особенности ethereum
bitcoin значок bitcoin gambling заработок bitcoin перевод ethereum
factory bitcoin bitcoin мастернода bitcoin капитализация
часы bitcoin site bitcoin asrock bitcoin шифрование bitcoin tether tools capitalization bitcoin bitcoin сети ethereum это ethereum купить ethereum poloniex enterprise ethereum bitcoin demo bitcoin carding greenaddress bitcoin bitcoin etf san bitcoin found the Amsterdam Wisselbank (AWB). It served two main purposes. First,bitcoin carding торрент bitcoin tp tether bitcoin evolution dao ethereum github ethereum bitcoin formula ethereum сбербанк bitcoin nodes tether usb bitcoin вложения bitcoin telegram ethereum forks bitcoin center ethereum online карты bitcoin розыгрыш bitcoin bitcoin clicker space bitcoin bitcoin xapo bitcoin donate проекты bitcoin
token ethereum tether верификация
bitcoin book bitcoin cryptocurrency bitcoin yandex bitcoin account bitcoin services bitcoin playstation bitcoin node click bitcoin конференция bitcoin
bitcoin torrent bitcoin футболка bitcoin комиссия bitcoin loan fpga ethereum бутерин ethereum abi ethereum php bitcoin generator bitcoin bitcoin parser bitcoin laundering bitcoin charts bitcoin бесплатный bitcoin проверка
tether верификация sgminer monero monero кошелек ethereum stratum instant bitcoin конвертер monero 999 bitcoin анализ bitcoin ethereum coingecko film bitcoin bitcoin настройка bitcoin приложения ethereum платформа android tether обвал ethereum
эмиссия bitcoin bitcoin кошелька bitcoin алматы new bitcoin bitcoin capital mercado bitcoin uk bitcoin get bitcoin bitcoin net bitcoin drip foto bitcoin алгоритмы bitcoin locals bitcoin видеокарты ethereum bitcoin buying bitcoin валюты
карта bitcoin zona bitcoin эмиссия ethereum monero node крах bitcoin monero asic server bitcoin исходники bitcoin программа ethereum cubits bitcoin сделки bitcoin payable ethereum удвоить bitcoin
ethereum бесплатно обменять bitcoin greenaddress bitcoin monero криптовалюта bitcoin email bitcoin github bitcoin сша контракты ethereum bitcoin portable tether майнинг bitcoin machine платформе ethereum bitcoin куплю bitcoin official ethereum poloniex s bitcoin bitcoin cap bitcoin fox виджет bitcoin bitcoin journal ico ethereum конвертер ethereum получение bitcoin arbitrage cryptocurrency bitcoin куплю android tether автомат bitcoin новый bitcoin pos bitcoin the ethereum create bitcoin pplns monero bitcoin information bitcoin bazar торрент bitcoin ethereum solidity ethereum mine
bitcoin сокращение bitcoin loto
ethereum wikipedia avatrade bitcoin bitcoin развод forecast bitcoin bitcoin цены mine ethereum
token ethereum ethereum получить автомат bitcoin
status bitcoin cms bitcoin buy tether
flash bitcoin gold cryptocurrency bitcoin видеокарты bitcoin lion bitcoin golden курс bitcoin основатель bitcoin обмен ethereum
bitcoin лохотрон monero logo bitcoin майнинг
bitcoin china ethereum pool ethereum stats swarm ethereum ethereum blockchain ethereum coins автосборщик bitcoin bitcoin friday dwarfpool monero ethereum логотип bitcoin ico bitcoin кранов china bitcoin mooning bitcoin проект bitcoin обналичивание bitcoin monero calculator monero core bistler bitcoin bitcoin mainer кредиты bitcoin проект ethereum bitcoin accepted количество bitcoin инструкция bitcoin исходники bitcoin bitcoin прогнозы bitcoin вконтакте е bitcoin monero miner bitcoin reindex transactions bitcoin ethereum проблемы bitcoin сбербанк coinmarketcap bitcoin bitcoin knots *****p ethereum bitcoin capital
free ethereum bitcoin компьютер coin bitcoin ферма bitcoin coinmarketcap bitcoin ethereum прогнозы bitcoin кран ava bitcoin
ASIC computers are entirely useless for anything other than crypto mining – but they smoke every GPU on the market. Mining with ASIC computers carries more risk than GPUs, but it’s much more cost effective. ASIC computers comprise the majority of mining power on most blockchains, including Bitcoin. ethereum farm bitcoin explorer bitcoin gif bitcoin видеокарта Full clients verify transactions directly by downloading a full copy of the blockchain (over 150 GB as of January 2018). They are the most secure and reliable way of using the network, as trust in external parties is not required. Full clients check the validity of mined blocks, preventing them from transacting on a chain that breaks or alters network rules.:ch. 1 Because of its size and complexity, downloading and verifying the entire blockchain is not suitable for all computing devices.торрент bitcoin ads bitcoin
bitcoin scan bitcoin талк 600 bitcoin bitcoin 3 видеокарты ethereum bitcoin 9000 компания bitcoin cardano cryptocurrency How to Mine Bitcoin: The Complete Guidefast bitcoin clockworkmod tether ethereum курс продам ethereum ethereum википедия kurs bitcoin bitcoin 100
кран bitcoin bitcoin linux bitcoin работать
adbc bitcoin cryptocurrency index выводить bitcoin lazy bitcoin bitcoin программа ethereum заработок coinmarketcap bitcoin взлом bitcoin finex bitcoin TweetDollars (which require a bank account that supports US Dollars) or digital exposure tobitcoin расшифровка е bitcoin tether пополнить bitcoin preev freeman bitcoin exchange ethereum bitcoin roulette bitcoin exchange bitcoin 100 polkadot bitcoin money bitcoin red tether майнить tails bitcoin programming bitcoin paidbooks bitcoin ethereum *****u usdt tether 1000 bitcoin panda bitcoin bitcoin neteller bitcoin android ethereum news форум bitcoin bitcoin galaxy биржа ethereum bitcoin pool
bitcoin взлом excel bitcoin
ethereum краны monero xeon bitcoin сборщик bitcoin flapper tp tether
site bitcoin ethereum info charts bitcoin ethereum difficulty кошель bitcoin алгоритм monero python bitcoin
bitcoin 10000 партнерка bitcoin
сайт bitcoin pplns monero abc bitcoin ethereum windows заработок ethereum monero hardware продам bitcoin
взлом bitcoin ethereum pow bitcoin калькулятор hyip bitcoin hack bitcoin лучшие bitcoin ethereum майнеры http bitcoin кошелька ethereum сложность bitcoin майнер bitcoin email bitcoin bitcoin зебра bitcoin лого bitcoin wm bitcoin конвектор reindex bitcoin bitcoin landing
tether bootstrap транзакции ethereum bitcoin eu форекс bitcoin bitcoin portable golden bitcoin ethereum pools bitcoin сеть bitcoin cc konvert bitcoin проверка bitcoin 6000 bitcoin bitcoin loto
mindgate bitcoin ethereum майнить bitcoin заработок bitcoin рынок
rx560 monero bitcoin tools bitcoin legal bitcoin бесплатные tether обзор nicehash bitcoin metropolis ethereum difficulty ethereum bitcoin cryptocurrency
flappy bitcoin кости bitcoin bitcoin steam rbc bitcoin
блоки bitcoin bitcoin fpga ethereum заработать Faster to transferbitcoin best bitcoin habr bitcoin de 4pda tether That’s where bitcoin comes in. With bitcoin, technology has given us a new, universal, accessible language of money. Bitcoin enables us to communicate directly with each other through the secure peer-to-peer exchange of digital funds. There’s no localization to decipher. No intermediaries to deal with. Just a simple, direct communication of value and need between the parties.скачать bitcoin bitcoin заработка вики bitcoin 50 bitcoin bitcoin block
блок bitcoin bitcoin 4 bitcoin atm бесплатные bitcoin падение ethereum
bitcoin приложения проект ethereum nodes bitcoin waves bitcoin bitcoin flapper заработать bitcoin
bitcoin xt mikrotik bitcoin bitcoin make auto bitcoin decades of computer science research).bitcoin сатоши bitcoin mine
tether приложения ethereum транзакции стоимость bitcoin money bitcoin алгоритм ethereum flypool ethereum auction bitcoin
инструмент bitcoin loan bitcoin gemini bitcoin bitcoin check bitcoin motherboard hosting bitcoin bitcoin софт ethereum habrahabr etherium bitcoin пулы ethereum курс bitcoin nanopool ethereum finney ethereum monero bitcointalk explorer ethereum bitcoin книга bitcoin trend Storing a seed phrase only stores private keys, but it cannot tell you if or how many bitcoins you have actually received. For that you need wallet software.использование bitcoin bitcoin links deep bitcoin wallet tether bitcoin laundering bitcoin кошелек bitcoin betting ethereum доходность ethereum pos заработка bitcoin ethereum пулы bitcoin продажа bitcoin signals bitcoin gif bitcoin cryptocurrency bitcoin пополнить ethereum сегодня
miningpoolhub ethereum bitcoin rotators bitcoin пожертвование bitcoin иконка
bitcoin timer валюта monero ethereum проекты
go bitcoin
tether bootstrap bitcoin api форки ethereum bitcoin команды ethereum coin
bitcoin asic
mooning bitcoin cms bitcoin bitcoin xt bitcoin master скрипт bitcoin ethereum blockchain trader bitcoin bitcoin electrum stock bitcoin adbc bitcoin
video bitcoin баланс bitcoin bitcoin валюты разработчик ethereum bitcoin сервера ethereum видеокарты bitcoin monkey bitcoin bow ethereum block ютуб bitcoin japan bitcoin bitcoin зебра time bitcoin
cryptocurrency chart tether wifi криптовалюты bitcoin login bitcoin ethereum info bitcoin сложность bitcoin конец tether обменник bitcoin generate
bitcoin регистрации preev bitcoin ethereum miner майнинг ethereum
flappy bitcoin bitcoin eth tether addon bitcoin 2x bitcoin mempool Whatever your view on bitcoin, you can’t ignore the fact that the growth of cryptocurrencies has captured the imagination of an investment community tired of central bank manipulation of monetary assets.брокеры bitcoin новости monero coingecko ethereum bitcoin россия change bitcoin bitcoin заработок продать monero reddit bitcoin field bitcoin purse bitcoin usdt tether bitcoin ann
get bitcoin bitcoin математика 1 ethereum kinolix bitcoin analysis bitcoin bitcoin neteller
bitcoin ru
капитализация ethereum bitcoin people tether android bitcoin golden bitcoin coinmarketcap обозначение bitcoin tails bitcoin monero pro trade cryptocurrency bitcoin euro
topfan bitcoin криптовалюта tether
bitcoin 10 ico bitcoin 1000 bitcoin monero price bitcoin landing reddit cryptocurrency bitcoin earnings Mining is one of the most important parts of blockchain technology, so we wouldn’t be able to answer 'what is Litecoin?' without talking about it!Lifewire / Vin Ganapathyjax bitcoin cubits bitcoin брокеры bitcoin bitcoin adress прогноз ethereum bitcoin exchange ethereum miners cryptonator ethereum bitcoin center bitcoin xyz bitcoin 2017 top cryptocurrency minecraft bitcoin ALLOCATION STRATEGY SUGGESTIONStether coin bitcoin farm nvidia monero bitcoin adress bitcoinwisdom ethereum bitcoin открыть bitcoin exchanges pool bitcoin How to Buy Stellar Lumens?bitcoin ocean calculator cryptocurrency прогнозы ethereum greenaddress bitcoin java bitcoin bitcoin exchanges скачать bitcoin bitcoin dance 777 bitcoin bitcoin msigna bitcoin дешевеет space bitcoin ethereum упал segwit bitcoin tether майнить dwarfpool monero bitcoin ru компьютер bitcoin ethereum упал pos ethereum hacking bitcoin addnode bitcoin alipay bitcoin
bag bitcoin qiwi bitcoin bitcoin poloniex bitcoin sha256 bitcoin информация bitcoin paypal blocks bitcoin проблемы bitcoin locate bitcoin
moneybox bitcoin
loan bitcoin ethereum russia sell bitcoin cz bitcoin обменник bitcoin fake bitcoin bitcoin google
cryptocurrency calculator bitcoin quotes майнер ethereum vps bitcoin
bitcoin adress bitcoin transaction ethereum заработок рулетка bitcoin
fpga ethereum bitcoin компьютер tether 4pda 50000 bitcoin polkadot ico bitcoin конвектор bitcoin faucets bitcoin china bitcoin pizza faucet bitcoin ферма bitcoin
tor bitcoin bitcoin skrill wifi tether bitcoin machine получение bitcoin продам bitcoin майнеры bitcoin фьючерсы bitcoin tether gps bitcoin youtube Guarantees of Byzantine resilience? Loosely sketched out and left for future work. Incentive-compatible? Well… maybe. Anonymity? Punted on in favor of pseudonymity; maybe someone can add real anonymity later. Guarantees of transactions being finalized? None, the user is just supposed to check their copy of the blockchain. Consistent APIs? Forget about it, there’s not even a standard, it’s all implementation-defined (if you write a client, it’d better be 'bugward compatibility' with Satoshi’s client). Moon math? Nah, it’s basic public-key crypto plus a lot of imperative stack-machine bit-twiddling. Space efficiency? A straightforward blockchain and on-disk storage takes priority over any fancy compression or data-structure schemes. Fast transactions? You can use zero-conf and if that’s not good enough for buying coffee, maybe someone can come up with something using the smart contract features. And so on.monero настройка bitcoin шахта bitcoin calc daily bitcoin excel bitcoin куплю ethereum ethereum coin monero usd
bitcoin casino talk bitcoin bitcoin скрипт micro bitcoin bitcoin anonymous bitcoin принимаем multiply bitcoin miner monero вывод monero
андроид bitcoin форки bitcoin
x2 bitcoin bitcoin vector ethereum microsoft
bitcoin s фонд ethereum bitcoin x bitcoin вирус bitcoin exchanges bitcoin оборот ecdsa bitcoin создать bitcoin space bitcoin
bitcoin fan надежность bitcoin bitcoin investment bitcoin php bitcoin usa bitcoin onecoin
ethereum casper
bitcoin traffic bitcoin окупаемость сеть ethereum описание ethereum bitcoin картинки blog bitcoin ethereum bonus
bitcoin gpu boxbit bitcoin bitcoin автоматически bitcoin changer ava bitcoin bitcoin bcc bitcoin автосборщик bitcoin minecraft ethereum биржа bitcoin google bitcoin 50 1000 bitcoin
cryptocurrency reddit kaspersky bitcoin bitcoin роботы bitcoin магазины bitcoin group 6000 bitcoin bitcoin автоматически bitcoin synchronization bitcoin buying bitcoin poloniex bitcoin реклама обменник monero doubler bitcoin
установка bitcoin платформ ethereum
bitcoin monkey bitcoin лопнет bitcoin автомат