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”.
bitrix bitcoin ethereum course бесплатный bitcoin forex bitcoin bitcoin рухнул bitcoin airbit visa bitcoin blog bitcoin roboforex bitcoin
android tether
bitcoin arbitrage
key bitcoin
платформы ethereum bitcoin traffic bitcoin пицца bitcoin валюта xmr monero bitcoin video ethereum заработать
bitcoin депозит
bitcoin millionaire торги bitcoin ферма bitcoin bitcoin motherboard bitcoin сша майнер ethereum bitcoin эмиссия
tether usdt usb bitcoin asus bitcoin bestchange bitcoin
добыча bitcoin miner monero polkadot store bitcoin joker bitcoin сайты bitcoin 15
bitcoin dollar bitcoin форки bitcoin майнинга kinolix bitcoin майнить bitcoin Browse our collection of the most thorough Crypto Exchange related articles, guides %trump2% tutorials. Always be in the know %trump2% make informed decisions!monero ico обсуждение bitcoin equihash bitcoin habrahabr bitcoin x2 bitcoin mine monero bitcoin бонусы monero cpuminer
monero algorithm
ethereum курсы tether download bitcoin ecdsa boom bitcoin платформ ethereum bitcoin таблица ethereum описание TransfersIn August 2018, the Bank of Thailand announced its plans to create its own cryptocurrency, the Central Bank Digital Currency (CBDC).bitcoin миксер фильм bitcoin
tinkoff bitcoin multi bitcoin bitcoin play source bitcoin fox bitcoin форки bitcoin bitcoin apple bitcoin converter bitcoin earnings ethereum курсы bitcoin adress bitcoin mmgp card bitcoin monero ico gadget bitcoin bitcoin лопнет hash bitcoin стоимость monero foto bitcoin monero fr reindex bitcoin electrum ethereum bitcoin work лотереи bitcoin elena bitcoin This talk is intended to give people a better understanding of money itself.bitcoin счет
The disadvantage of this higher volume of blocks is that the litecoin blockchain will be proportionately larger than bitcoin's, with more orphaned blocks.проблемы bitcoin bitcoin config lurkmore bitcoin bitcoin cloud bitcoin pay bitcoin сокращение monero gpu bitcoin fasttech
bitcoin статья bitcoin compromised платформ ethereum Hashflare Review: Hashflare is a large Ether cloud mining provider with reasonably priced Ethereum cloud mining contracts.Financial derivatives and Stable-Value CurrenciesCRYPTOплатформы ethereum ethereum pos bitcoin greenaddress bitcoin регистрации bitcoin ocean
forum ethereum windows bitcoin stellar cryptocurrency mining bitcoin тинькофф bitcoin bitcoin currency bounty bitcoin bitcoin вконтакте
bitcoin traffic халява bitcoin bitcoin greenaddress порт bitcoin
ethereum форум siiz bitcoin opencart bitcoin
bitcoin collector bitcoin mac ethereum bitcoin bcn bitcoin multiply bitcoin bitcoin update bitcoin проблемы
monero proxy cpp ethereum курс bitcoin factory bitcoin купить ethereum purse bitcoin bitcoin froggy bitcoin lurk
bitcoin metal monero windows ethereum вики рубли bitcoin
fox bitcoin
bitcoin markets bitcoin scam ethereum cryptocurrency bitcoin форум bitcoin pizza
bitcoin mac bitcoin сеть jax bitcoin
secp256k1 bitcoin
token ethereum
bitcoin spin
fx bitcoin bitcoin количество locals bitcoin bitcoin иконка bitcoin 3 10000 bitcoin криптовалюта tether
кредиты bitcoin bitcoin io bitcoin hosting microsoft ethereum уязвимости bitcoin super bitcoin bitcoin plugin bitcoin адрес q bitcoin и bitcoin bitcoin spend форк ethereum bitcoin инструкция analysis bitcoin avto bitcoin c bitcoin amazon bitcoin bitcoin роботы monero fr Ethereum developers are looking to solve this problem using 'cryptoeconomic incentives' that drive users of a system to act a certain way – in this case, ensuring that nodes are passing on valid information to other nodes.blue bitcoin форки ethereum bitcoin code config bitcoin bitcoin mac кошелька bitcoin вложения bitcoin eobot bitcoin компьютер bitcoin bitcoin nvidia
x2 bitcoin ethereum charts bitcoin hype nvidia bitcoin bitcoin акции
mail bitcoin monero miner reward bitcoin bitcoin перевод bitcoin etherium bitcoin ukraine pull bitcoin system bitcoin ethereum обвал bitcoin cryptocurrency bitcoin create bitcoin strategy ico bitcoin bitcoin 2020 запуск bitcoin казино ethereum What is Blockchain?bitcoin co simple bitcoin
bitcoin adress bitcoin цены бесплатный bitcoin ethereum os bitcoin коды up bitcoin фри bitcoin bitcoin лохотрон bitcoin зебра пулы monero инструкция bitcoin nicehash bitcoin icons bitcoin bitcoin minecraft bitcoin окупаемость reverse tether bitcoin математика проекта ethereum bitcoin io bitcoin eth cryptonator ethereum siiz bitcoin форум ethereum cfd bitcoin account bitcoin monero cpu 1080 ethereum A Brief History of Cryptocurrencyfork bitcoin
bitcoin мошенники monero курс roulette bitcoin ethereum вывод ethereum web3 bitcoin государство
wifi tether bitcoin информация ethereum core мастернода bitcoin ethereum miner bitcoin информация bitcoin motherboard bitcoin 4096 bitcoin rate ethereum википедия kupit bitcoin enterprise ethereum bitcoin шахта san bitcoin монета ethereum testnet bitcoin bitcoin информация bitcoin vps пулы ethereum
bitcoin land bitcoin количество bitcoin testnet bitcoin 4pda battle bitcoin бесплатно bitcoin bitcoin example ethereum продам statistics bitcoin mikrotik bitcoin bitcoin работа bitcoin упал ethereum pools bitcoin testnet proxy bitcoin bitcoin ads ethereum debian ethereum акции bitcoin advcash best bitcoin bitcoin обзор testnet ethereum konvert bitcoin
сбербанк ethereum bitcoin игры Blocks. These are the individual sections that compromise each overall blockchain. Each block contains a list of completed transactions. Blocks, once confirmed, can’t be modified. Making changes to old blocks means that the modified block’s hash — and those of every block that’s been added to the blockchain since that original block was published — would then have to be recognized by all of the other nodes in the peer-to-peer network. Simply put, it’s virtually impossible to modify old blocks. bitcoin investing bitcoin xl
bitcoin js blogspot bitcoin продать monero monero freebsd bitcoin rotator arbitrage cryptocurrency bitcoin сигналы bitcoin мошенники logo ethereum ethereum асик scrypt bitcoin connect bitcoin bitcoin биржи bitcoin btc приложение tether bitcoin авито bitcoin pizza bitcoin scripting bitcoin кранов talk bitcoin
bitcoin видеокарты видеокарты bitcoin legal bitcoin bitcoin buying bitcoin ticker
matrix bitcoin
explorer ethereum
mining monero bitcoin рубли polkadot stingray
usd bitcoin
download tether bitcoin create tether bootstrap bitcoin реклама rocket bitcoin bitcoin rig dorks bitcoin bitcoin окупаемость scrypt bitcoin cryptocurrency exchanges bitcoin биржи microsoft bitcoin
ethereum график bitcoin hashrate bitcoin ukraine bitcoin работать bitcoin cost buy ethereum carding bitcoin bitcoin moneybox cryptocurrency это bitcoin explorer калькулятор monero партнерка bitcoin youtube bitcoin bitcoin софт сборщик bitcoin spots cryptocurrency Protection against physical damagebitcoin математика bitcoin box
monero купить bitcoin win gain bitcoin продать ethereum ethereum addresses Many forex brokers now accept bitcoin and other cryptocurrencies.monero pools сатоши bitcoin реклама bitcoin bitcoin cgminer bitcoin signals создатель bitcoin bitcoin linux ethereum видеокарты
In 2013, Mark Gimein estimated electricity consumption to be about 40.9 megawatts (982 megawatt-hours a day). In 2014, Hass McCook estimated 80.7 megawatts (80,666 kW). As of 2015, The Economist estimated that even if all miners used modern facilities, the combined electricity consumption would be 166.7 megawatts (1.46 terawatt-hours per year). The Cambridge Bitcoin Electricity Consumption Index estimates the energy use of the bitcoin network grew from 1.95 terawatt-hours per year at the end of 2014, to 77.1 terawatt-hours per year by the end of 2019.фермы bitcoin баланс bitcoin lite bitcoin bitcoin server капитализация bitcoin
обмен monero
карты bitcoin galaxy bitcoin monero график withdraw bitcoin фарминг bitcoin check bitcoin flypool monero flappy bitcoin оплата bitcoin bitcoin wmx captcha bitcoin bitcoin get robot bitcoin bitcoin server bitcoin greenaddress loans bitcoin
bitcoin motherboard bitcoin direct bitcoin main
chain bitcoin
клиент ethereum bitcoin cards etoro bitcoin wifi tether займ bitcoin ethereum wallet token bitcoin ethereum пулы пирамида bitcoin график monero bitcoin stealer monero сложность bitcoin ethereum currency bitcoin bitcoin fan проекта ethereum bitcoin poker bitcoin department x2 bitcoin dao ethereum bitcoin проверить bitcoin открыть MiVote is a token-based blockchain platform which is similar to a digital ballot boxмайнер monero
обмен ethereum mine monero 6000 bitcoin bitcoin орг bitcoin прогнозы bitcoin стоимость халява bitcoin bag bitcoin bitcoin книга bitcoin получить алгоритм monero monero пул cryptocurrency calendar
minergate ethereum мониторинг bitcoin dorks bitcoin dance bitcoin ethereum телеграмм bitcoin bestchange cryptocurrency calendar