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 create ethereum miner ethereum programming особенности ethereum ethereum обозначение bitcoin example прогнозы bitcoin amazon bitcoin ethereum block фото ethereum ico ethereum
команды bitcoin
bitcoin спекуляция mooning bitcoin bitcoin система bitcoin сбербанк транзакции ethereum cryptocurrency news cms bitcoin korbit bitcoin konvert bitcoin 100 bitcoin bitcoin wmx bitcoin lurk заработать monero cryptocurrency exchanges bitcoin source bitcoin eobot pool bitcoin
pirates bitcoin bitcoin tor trezor bitcoin usdt tether
bitcoin journal 2016 bitcoin ethereum контракт ethereum casino bitcoin ваучер bitcoin location bitcoin knots bitcoin акции bitcoin компьютер куплю ethereum clame bitcoin цена ethereum
bitcoin png капитализация bitcoin bitcoin apple 2016 bitcoin
bitcoin code bitcoin 20
смесители bitcoin bitcoin котировка платформе ethereum pokerstars bitcoin ethereum news ethereum алгоритм monero node tether apk second bitcoin bonus bitcoin bitcoin hash обновление ethereum bitcoin сделки monero free bitcoin калькулятор bitcoin trinity
bitcoin россия land bitcoin bitcoin сколько ethereum io bitcoin приват24 bitcoin hype bitcoin testnet
bitcoin obmen bitcoin loan bitcoin программа ethereum forum ethereum asic
bitcoin future кости bitcoin bitcoin alert simple bitcoin hashrate bitcoin genesis bitcoin ethereum картинки zcash bitcoin raspberry bitcoin reddit ethereum
основатель ethereum importprivkey bitcoin токен ethereum bitcoin registration получить bitcoin fast bitcoin
bitcoin loto cryptocurrency tech аналоги bitcoin prune bitcoin blog bitcoin bitcoin knots кошельки bitcoin значок bitcoin bitcoin crane bitcoin flapper lightning bitcoin moneybox bitcoin Spend Litecoinpirates bitcoin Image for postgadget bitcoin bitcoin заработок capitalization cryptocurrency bitcoin code ethereum pool bitcoin брокеры server bitcoin planet bitcoin bitcoin explorer blocks bitcoin daemon monero ethereum russia bitcoin world bitcoin обозначение 99 bitcoin hashrate bitcoin
txid ethereum bitcoin loan
обменник bitcoin bitcoin обменять bitcoin торги
bounty bitcoin bitcoin apple bitcoin attack bitcoin weekly
обналичивание bitcoin bitcoin nonce bubble bitcoin maps bitcoin bitcoin будущее майнеры monero ethereum nicehash
bitcoin обои bitcoin регистрация neteller bitcoin проекты bitcoin tether coin часы bitcoin The 'Blocks' section briefly addressed the concept of block difficulty. The algorithm that gives meaning to block difficulty is called Proof of Work (PoW).testnet bitcoin
краны monero bitcoin instant monero client bitcoin synchronization bitcoin новости калькулятор bitcoin 22 bitcoin buy ethereum эмиссия ethereum bitcoin hype One week after bitcoin was launched, Hal Finney famously tweeted to the world that he was 'running bitcoin.' In 2011, Ross Ulbricht was alleged to have launched the Silk Road website which ultimately leveraged bitcoin to facilitate online payments for drugs, establishing one of the earliest widespread uses of bitcoin in commerce and undoubtedly playing a material role in the expansion of early adoption and awareness. In 2014, Mt. Gox was hacked and that event may have had the single greatest influence on the advancement and proliferation of bitcoin hardware wallets, as individuals and companies looked to avoid the risks of exchanges and developed ways to more securely hold bitcoin without the use of third-parties. In 2017, after a bitcoin service provider drew the ire of Nicolas Dorier, he set out to build a product that would obsolete that provider and service, spawning one of the most exciting open source projects within bitcoin, BT*****ay Server. In 2018, Saifedean Ammous released The Bitcoin Standard, which has accelerated knowledge distribution and contributed to a wave of bitcoin adoption. There are obviously too many random acts to count or acknowledge but it is the randomness inherent to bitcoin and its permissionless nature, lacking in any conscious control, which has allowed it to evolve into the antifragile system it has become. If bitcoin were under the control of any single individual, company or even country, it would have never been viable as a currency because it would have always been dependent on trust and it would have lacked the randomness necessary to create a system capable of dispensing with the need of conscious control. Randomness is irreplicable and the foundation of bitcoin was built on it.bitcoin roll
ultimate bitcoin ethereum сложность nanopool ethereum ethereum frontier stock bitcoin 2x bitcoin баланс bitcoin ethereum serpent bitcoin проект bank bitcoin tp tether
cryptocurrency tech konverter bitcoin bitcoin xyz bitcoin strategy bitcoin strategy game bitcoin обменник bitcoin clame bitcoin что bitcoin bitcoin расшифровка purchase bitcoin ethereum siacoin casino bitcoin explorer ethereum пузырь bitcoin analysis bitcoin
курса ethereum 2016 bitcoin konvert bitcoin bitcoin weekly bitcoin tools payeer bitcoin rates bitcoin bitcoin unlimited usb tether bitcoin эфир bitcoin hourly платформы ethereum bitcoin home bitcoin чат bitcoin market coingecko ethereum monero майнер ethereum russia ethereum os sec bitcoin ios bitcoin
bitcoin рейтинг ethereum stratum сети bitcoin bitcoin автор wallet cryptocurrency 5 bitcoin bitcoin ubuntu ethereum видеокарты bitcoin растет pool bitcoin exchange bitcoin polkadot cadaver bitcoin location
ethereum курсы bitcoin machine ninjatrader bitcoin bitcoin проблемы обновление ethereum minergate ethereum bitcoin 0 скрипты bitcoin 2x bitcoin bitcoin plus500 bitcoin 50 minergate ethereum bye bitcoin bistler bitcoin казино ethereum bitcoin scam вложения bitcoin bitcoin genesis bitcoin forex lottery bitcoin bitcoin net bitcoin safe ethereum supernova bonus bitcoin
курс tether краны monero air bitcoin monero amd bitcoin jp wired tether maps bitcoin 123 bitcoin bitcoin котировки maps bitcoin сервисы bitcoin bitcoin bio bitcoin rig bitcoin machine bitcoin xt bitcoin халява bitcoin авито exchange bitcoin
фонд ethereum исходники bitcoin ethereum com ethereum кошелька epay bitcoin курсы bitcoin bitcoin лопнет 1080 ethereum ethereum stats multiplier bitcoin mikrotik bitcoin bitcoin conference автосборщик bitcoin korbit bitcoin Bitcoin Forksмайнеры monero tether yota бумажник bitcoin bitcoin biz ava bitcoin bitcoin auto bitcoin mmgp
bitcoin bitrix monero spelunker dance bitcoin
генераторы bitcoin android tether ethereum transactions ethereum habrahabr ethereum debian bitcoin кран bitcoin jp bitcoin grafik box bitcoin робот bitcoin bitcoin майнить bitcoin переводчик simple bitcoin
получить bitcoin работа bitcoin
Ключевое слово ethereum io ethereum usd bitcoin buy bitcoin вконтакте webmoney bitcoin cryptocurrency tech bitcoin collector reverse tether проверить bitcoin проверка bitcoin
bitcoin two карты bitcoin tether js hashrate bitcoin vizit bitcoin курс ethereum bitcoin матрица space bitcoin bitcoin pools курса ethereum криптовалюту monero bitcoin rub decred cryptocurrency ethereum studio ethereum ubuntu bitcoin pps checker bitcoin mixer bitcoin ethereum api сборщик bitcoin bitcoin бонусы ethereum core monero spelunker bitcoin bonus ethereum browser simplewallet monero bitcoin future и bitcoin bitcoin grafik теханализ bitcoin alien bitcoin bitcoin информация trezor ethereum config bitcoin bitcoin etherium tether chvrches bitcoin faucets эмиссия bitcoin code bitcoin
bitcoin goldman accepts bitcoin bitcoin puzzle bitcoin s bitcoin world cryptocurrency calculator
stock bitcoin bitcoin подтверждение прогноз ethereum bitcoin видеокарты bitcoin etherium bitcoin world ico monero bitcoin in bitcoin neteller bitcoin капча bitcoin yen bitcoin suisse фермы bitcoin
bitcoin value bitcoin ферма
accepts bitcoin bitcoin status Supply-chain managementbitcoin pos blocks bitcoin ethereum news cryptocurrency dash
cryptocurrency arbitrage bitcoin книга bitcoin plus
bitcoin компьютер
monero wallet bitcoin funding monero rur monero купить bitcoin balance bitcoin nvidia 0 bitcoin js bitcoin bitcoin сигналы основатель bitcoin зебра bitcoin bitcoin клиент tradingview bitcoin bitcoin chain
обменник bitcoin
carding bitcoin bitcoin bloomberg bitcoin перевод
bitcoin сокращение эфир ethereum отзывы ethereum bitcoin redex bitcoin balance статистика ethereum bitcoin c bitcoin скрипт trust bitcoin dwarfpool monero bitcoin jp my ethereum bitcoin clicker clame bitcoin bitcoin скрипт bitcoin purchase claim bitcoin coingecko ethereum торрент bitcoin best cryptocurrency bitcoin it bitcoin redex
ethereum developer 2x bitcoin wirex bitcoin bitcoin linux мерчант bitcoin ethereum stratum blocks bitcoin trezor ethereum bitcoin talk 600 bitcoin bitcoin wmz bitcoin 4000 биржи monero
bitcoin 2020 серфинг bitcoin заработать monero
exchanges bitcoin bitcoin anonymous bitcoin alert bitcoin logo кошелек bitcoin ethereum cryptocurrency
cold bitcoin polkadot store top bitcoin ethereum siacoin
зебра bitcoin 99 bitcoin
bitcoin hunter fast bitcoin bitcoin film sec bitcoin all bitcoin обвал ethereum raiden ethereum panda bitcoin bitcoin media bitcoin price bitcoin обналичить tp tether fox bitcoin bitcoin keywords click bitcoin пулы ethereum xapo bitcoin king bitcoin erc20 ethereum king bitcoin dog bitcoin сделки bitcoin 2016 bitcoin bitcoin gadget get bitcoin
фри bitcoin
bitcoin открыть bitcoin google пулы bitcoin app bitcoin bitcoin japan куплю bitcoin coin bitcoin уязвимости bitcoin bitcoin казино monero новости сеть ethereum cryptocurrency ico
bitcoin alert продам ethereum blogspot bitcoin регистрация bitcoin ico monero facebook bitcoin bitcoin markets bitcoin зарабатывать bitcoin bitrix
bitcoin click usdt tether bitcoin china ethereum rotator bitcoin генератор lootool bitcoin bitcoin super bitcoin is bitcoin luxury bitcoin compare
bitcoin перевести
free ethereum bitcoin банк китай bitcoin Blockchain is a combination of many technological breakthroughs that date back several decades. Bitcoin was the first real application of a blockchain technology in the form of a peer-to-peer electronic cash system.High hash rate - You can think of hash rate as the processing power of the hardware.bitcoin ne bitcoin луна
россия bitcoin форумы bitcoin отдам bitcoin bitcoin capitalization all bitcoin antminer bitcoin bitcoin unlimited cryptocurrency logo widget bitcoin token bitcoin bitcoin live bitcoin poloniex ethereum os ethereum miners bitcoin математика bitcoin заработок blogspot bitcoin bitcoin сервисы wiki bitcoin инструкция bitcoin monero продать
bitcoin анализ bitcoin биржа bitcoin wordpress matrix bitcoin bitcoin statistics