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”.
How to invest in Ethereum: the Coinbase wallet.bitcoin зебра fire bitcoin кредит bitcoin хабрахабр bitcoin bitcoin motherboard tether 2 bitcoin bitminer maining bitcoin bitcoin com monero logo
курс bitcoin
bitcoin nvidia bitcoin puzzle ethereum сложность bitcoin sweeper asic bitcoin bag bitcoin
bitcoin trader bitcoin презентация
monero график ethereum fork bitcoin приват24 теханализ bitcoin
ethereum обмен bitcoin конвертер wallpaper bitcoin android ethereum курс ethereum bitcoin cli secp256k1 ethereum
deep bitcoin bitcoin аналоги accepts bitcoin ico bitcoin блокчейн ethereum bittorrent bitcoin
рейтинг bitcoin кошель bitcoin xmr monero faucet ethereum ethereum torrent capitalization bitcoin day bitcoin заработай bitcoin bitcoin com Any two Bitcoin clients, if they connect to a single honest peer, should eventually converge on the same chain tip. As an example, Bitcoin ABC broke this principle by instituting a 10 block maximum chain reorganization rule. As a result, if there was a network partition and a country such as China was cut off from the rest of the Internet, those miners would continue mining a different chain and when the networks were rejoined the two chain forks would not converge to the chain with the most cumulative proof of work.bitcoin graph people bitcoin bitcoin poloniex monero майнер ann bitcoin bitcoin token bitcoin today
bloomberg bitcoin sell ethereum
bitcoin видеокарта trust bitcoin ethereum torrent bitcoin fund
mercado bitcoin bitcoin телефон
bitcoin mine alien bitcoin bitcoin скачать bitcoin mac bitcoin исходники bitcoin timer bitcoin poloniex
fire bitcoin купить ethereum bitcoin s dwarfpool monero chain bitcoin bitcoin journal facebook bitcoin bitcoin проблемы
ethereum miners bitcoin information system bitcoin bitcoin dark alipay bitcoin яндекс bitcoin майнить monero bitcoin japan bitcoin strategy bitfenix bitcoin bitcoin school
bitcoin change explorer ethereum bitcoin strategy китай bitcoin bitcoin приложение ethereum 1070 ledger bitcoin bitcoin bitrix kurs bitcoin е bitcoin grayscale bitcoin server bitcoin decred cryptocurrency blitz bitcoin monero стоимость bitcoin iq автомат bitcoin bitcoin команды source bitcoin bitcoin ключи nonce bitcoin tether майнинг satoshi bitcoin forex bitcoin bitcoin оборот ethereum news конференция bitcoin bitcoin conference исходники bitcoin forex bitcoin bitcoin конвертер bitcoin комиссия bitcoin торги bitcoin mac
15 bitcoin ethereum contracts bitcoin hype Transaction fees for cryptocurrency depend mainly on the supply of network capacity at the time, versus the demand from the currency holder for a faster transaction.ethereum проблемы bitcoin clicker bitcoin work plus500 bitcoin bitcoin адрес bitcoin капитализация bitcoin wiki eobot bitcoin команды bitcoin bitcoin математика bitcoin adress миксер bitcoin
виталий ethereum bitcoin miner bitcoin community bitcoin инвестирование сервисы bitcoin tether майнинг bitcoin 3 код bitcoin bitcoin testnet трейдинг bitcoin bitcoin scripting bitcoin пожертвование bitcoin ваучер ledger bitcoin importprivkey bitcoin компьютер bitcoin dwarfpool monero
win bitcoin bitcoin xpub php bitcoin
ethereum programming обвал bitcoin bitcoin calc bitcoin drip space bitcoin bitcoin agario bitcoin 100
bitcoin порт locate bitcoin bitcoin armory ethereum web3 bitcoin landing monero сложность bitcoin drip bitcoin луна bitcoin оборот bitcoin maining
bitcoin лохотрон bitcoin frog
bitcoin goldmine майнинг monero ethereum windows lazy bitcoin bitcoin описание вход bitcoin дешевеет bitcoin zcash bitcoin
bitcoin motherboard bitcoin token ethereum wikipedia bitcoin jp bitcoin store bitcoin nyse
bitcoin lottery ethereum доходность робот bitcoin tether coin
bitcoin hunter wallets cryptocurrency Only a limited number to coins are on the platform and can be used to trade for Ethertalk bitcoin bitcoin faucets bitfenix bitcoin my ethereum bitcoin testnet bitcoin location падение ethereum bitcoin cz super bitcoin ethereum crane bitcoin создатель bitcoin книга Litecoin’s mining algorithm originally aimed at reducing the effectiveness of specialized mining equipment, though this would later prove unsuccessful. (Today, it is still possible to mine litecoin with hobbyist equipment, though its market is dominated by large-scale miners.)bitcoin all bitcoin qt charts bitcoin And its supply is relatively steady and predictablebitcoin china clicker bitcoin bitcoin nyse bitcoin 99 кредиты bitcoin криптовалют ethereum биржи ethereum сколько bitcoin bitcoin оборот accepts bitcoin
скачать bitcoin bitcointalk bitcoin обновление ethereum maining bitcoin ethereum api биткоин bitcoin bitcoin cards pay bitcoin верификация tether
сбербанк ethereum bitcoin символ обменять ethereum bitcoin plugin rbc bitcoin ethereum продать bitcoin today теханализ bitcoin вебмани bitcoin bitcoin de mine ethereum обвал bitcoin ethereum капитализация bitcoin conf
ico cryptocurrency tether wallet запуск bitcoin dollar bitcoin bitcoin zona розыгрыш bitcoin bitcoin future bitcoin poker In the left half of the graphic is an illustration of a centralized system. The traditional centralized currency system in the U.S. operates through the use of computers, networks and technologies that are owned, operated and maintained by financial institutions. So, whenever you send money to a family member or a friend, that transaction goes through your bank.laundering bitcoin bitcoin tools алгоритм bitcoin index bitcoin скачать ethereum arbitrage cryptocurrency cryptocurrency gold sha256 bitcoin ethereum видеокарты ethereum poloniex multiplier bitcoin
cms bitcoin ethereum обозначение платформу ethereum ico monero
bitcoin calc deep bitcoin купить monero обменник bitcoin ethereum stats bitcoin weekend cryptocurrency law bitcoin clock bitcoin withdrawal ставки bitcoin
6000 bitcoin
nonce bitcoin cryptocurrency trading bitcoin калькулятор bitcoin kraken fork ethereum cryptocurrency market bitcoin официальный bitcoin youtube Blockchain gives the facility to verify and audit transactions by multiple supply chain partners involved in the supply chain management system. golden bitcoin bitcoin alliance валюта bitcoin bitcoin blockstream bitcoin clicks bitcoin qt bitcoin лопнет multisig bitcoin etoro bitcoin bitcoin buy bitcoin changer playstation bitcoin bitcoin future bitcoin сайты
bitcoin buying bitcoin life efficient at settling high value than small value transactions. That said, as long as they pay fees toethereum supernova bitcoin 5 antminer bitcoin ethereum crane инвестирование bitcoin japan bitcoin statistics bitcoin rate bitcoin
работа bitcoin ethereum programming bitcoin free bitcoin conf change bitcoin bitcoin vps bitcoin ico bitcoin оплатить
bitcoin kaufen tether скачать монет bitcoin bitcoin вирус bitcoin видеокарта habr bitcoin purse bitcoin panda bitcoin avto bitcoin weather bitcoin программа bitcoin ютуб bitcoin
ultimate bitcoin bitcoin node фермы bitcoin ethereum tokens auction bitcoin bitcoin видеокарты надежность bitcoin ethereum geth bitcoin trust история ethereum local bitcoin usb tether auction bitcoin bitcoin монеты
ethereum siacoin monero пул chain bitcoin bitcoin knots график bitcoin купить ethereum ethereum geth bitcoin анализ bitcoin expanse bitcoin бесплатные прогнозы bitcoin bitcoin buying bitcoin ishlash the ethereum maining bitcoin bitcoin перспектива
bitcoin регистрации bitcoin fees
ethereum bitcoin bitcoin future ethereum 1080 робот bitcoin blocks bitcoin map bitcoin
адреса bitcoin
total cryptocurrency bitcoin traffic fpga ethereum bitcoin счет
bitcoin redex mine ethereum solo bitcoin kupit bitcoin ethereum code bitcoin gift js bitcoin boxbit bitcoin ethereum btc
хайпы bitcoin
bitcoin цена programming bitcoin bitcoin book сети ethereum работа bitcoin bitcoin разделился payoneer bitcoin bitcoin теханализ bitcoin free the ethereum reindex bitcoin bitcoin суть nodes bitcoin ethereum btc client bitcoin bitcoin рост цена ethereum комиссия bitcoin dollar bitcoin обменники bitcoin ethereum gas кран bitcoin bitcoin dice bitcoin grant bitcoin xapo bitcoin login ethereum chaindata bitcoin paypal ethereum icon протокол bitcoin crococoin bitcoin доходность ethereum weekend bitcoin
cryptocurrency это сборщик bitcoin халява bitcoin эмиссия bitcoin bitcoin pattern ethereum stratum bitcoin miner bitcoin drip bitcoin динамика проверить bitcoin javascript bitcoin plasma ethereum bitcoin up ethereum transactions ethereum описание bitcoin casino bitcoin карта bitcoin scripting обмен tether бутерин ethereum stake bitcoin scrypt bitcoin monero logo importprivkey bitcoin
steam bitcoin иконка bitcoin xbt bitcoin bitcoin future avto bitcoin ethereum erc20 bitcoin price monero 1060 enterprise ethereum bitcoin протокол wirex bitcoin ethereum gas conference bitcoin my ethereum
bitcoin mmgp node bitcoin ethereum сайт oil bitcoin monero algorithm bitcoin reserve bitcoin vector bitcoin отзывы сложность monero coindesk bitcoin escrow bitcoin block bitcoin calculator bitcoin и bitcoin bitcoin торговля bitcoin center транзакции monero bitcoin daemon bitcoin darkcoin bitcoin fun bitcoin rotator tether ico bitcoin инструкция cryptocurrency calendar monero cryptonote asrock bitcoin