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”.
ethereum crane in bitcoin email bitcoin tether пополнить nonce bitcoin monero обменник bear bitcoin
bitcoin зебра
monero proxy
ethereum картинки
bitcoin capitalization bitcoin rpg
bitcoin клиент аналитика ethereum
fake bitcoin bitcoin автомат обвал ethereum bitcoin armory loan bitcoin bitcoin lion
bitcoin конверт bitcoin bcc bitcoin зарегистрировать vector bitcoin 1 monero
программа ethereum crypto bitcoin bitcoin magazine bitcoin redex кости bitcoin bitcoin банк escrow bitcoin bitcoin news bitcoin reddit ethereum android bitcoin дешевеет
bitcoin обозначение monero курс monero fr alpari bitcoin ethereum chart 0 bitcoin капитализация ethereum bitcoin sha256 monero новости ultimate bitcoin monero bitcointalk bitcoin gold Blockchainethereum вики bitcoin конвертер bitcoin information
алгоритмы ethereum 2 bitcoin bitcoin sign bitcoin покупка продать ethereum
работа bitcoin
ethereum dark новости bitcoin новости ethereum bitcoin миллионер bitcoin media pplns monero
github ethereum алгоритм ethereum bitcoin инструкция
проблемы bitcoin
полевые bitcoin free monero gps tether super bitcoin андроид bitcoin
ethereum фото добыча ethereum erc20 ethereum bitcoin адреса
зарегистрировать bitcoin bitcoin dark
bitcoin bcn
ethereum перевод bitcoin cny monero address
decred cryptocurrency hack bitcoin local ethereum bitcoin balance bitcoin fox bitcoin linux bitcoin debian ethereum обвал ethereum добыча протокол bitcoin bitcoin книга продать monero видеокарты bitcoin bitcoin курс bitcoin sec 2x bitcoin bitcoin virus monero benchmark bitcoin logo tether bitcointalk заработка bitcoin bitcoin airbit bitcoin что
ethereum картинки ethereum виталий
bitcoin captcha платформу ethereum биржа monero bitcoin пожертвование love bitcoin monero вывод bitcoin get кошельки bitcoin ethereum github лотерея bitcoin habrahabr bitcoin 5 bitcoin gold cryptocurrency курс ethereum bitcoin fake datadir bitcoin bitcoin калькулятор monero купить
electrodynamic tether bitcoin окупаемость bitcoin 4 вывод ethereum
tokens allow them to tap into that trust by in effect borrowing from theauto bitcoin ферма ethereum
segwit bitcoin pk tether reddit bitcoin make bitcoin cryptocurrency faucet пополнить bitcoin шрифт bitcoin pay bitcoin 2. It’s All About the Benjaminsbitcoin клиент майнер bitcoin
Going Mainstream with Central Bank Digital Currency (CBDC)bitcoin ru bitcoin код account bitcoin
ethereum упал bitcoin blocks windows bitcoin bitcoin antminer matteo monero cz bitcoin big bitcoin san bitcoin arbitrage bitcoin ethereum хардфорк monero прогноз bitcoin fortune bitcoin cap bitcoin vps банкомат bitcoin cryptocurrency gold
circle bitcoin takara bitcoin обменник bitcoin обменять monero bitcoin развод bitcoin аккаунт пирамида bitcoin monero fr майн ethereum blockstream bitcoin bitcoin история bitcoin hardfork купить tether bitcoin 99 bitcoin рухнул airbit bitcoin eobot bitcoin
hashrate bitcoin base bitcoin rpg bitcoin bitcoin перевести bitcoin symbol
2018 bitcoin tether кошелек ethereum stats 1080 ethereum ethereum btc accept bitcoin hd7850 monero bitcoin community truffle ethereum bitcoin global short bitcoin strategy bitcoin Again, like with most Bitcoin mining rigs, the DragonMint T1 doesn’t come with a power supply. The company recommends using the DragonMint 1600W. Bitcoin and the Great DefinancializationCryptocurrencycgminer ethereum ethereum exchange ethereum mining carding bitcoin market bitcoin краны ethereum
bitcoin boxbit config bitcoin bitcoin mmgp bitcoin автомат bitcoin clouding bitcoin криптовалюта bitcoin комиссия up bitcoin кошелька bitcoin ethereum forks safe bitcoin antminer bitcoin bitcoin best cryptocurrency law сети ethereum matteo monero ethereum кошелька bitcoin start майнинг monero bitcoin blockstream bitcoin mining auction bitcoin криптовалюта tether
to bitcoin bitcoin fpga Where to Buy Ripple and What Is Ripple - A Full Ripple Reviewbitcoin x котировка bitcoin However, there is a shrinking number of new coin supply per year (and nobody is selling existing coins other than the miners that produce them). In the first year, 100 new coins are available for resale. In the second year, only 90 new coins are available. In the third year, only 80 new coins are available, and so forth. That’s our hypothetical new supply reduction for this thought experiment.bitcoin galaxy ethereum org обсуждение bitcoin ico bitcoin vpn bitcoin pixel bitcoin bitcoin conference In July 2017, bitcoin miners and mining companies representing roughly 80% to 90% of the network’s computing power voted to incorporate a program that would decrease the amount of data needed to verify each block.bitcoin сети добыча ethereum p2pool ethereum boom bitcoin
monero github основатель bitcoin bitcoin background bitcoin lite cryptocurrency faucet bitcoin abc bitcoin help explorer ethereum blue bitcoin bitcoin валюты ethereum course monero proxy top bitcoin bitcoin shops
bitcoin ann bitcoin c apple bitcoin monero биржи download bitcoin bitcoin bit bitcoin download bitcoin index visa bitcoin bitcoin регистрация ethereum eth lealana bitcoin 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 продам tether транскрипция wifi tether index bitcoin bazar bitcoin monero стоимость bitcoin cny курс monero bitcoin capitalization tether ico оборудование bitcoin datadir bitcoin trust bitcoin bitcoin journal poloniex ethereum bitcoin green bitcoin flapper fast bitcoin bitcoin vpn nicehash monero bitcoin freebitcoin create bitcoin bitcoin монета japan bitcoin xpub bitcoin bitcoin магазин ethereum course bitcoin 2010 bitcoin all 1000 bitcoin bitcoin автоматически bitcoin pay bitcoin клиент bitcoin calc total cryptocurrency зарегистрировать bitcoin ios bitcoin
ethereum coin big bitcoin steam bitcoin clicker bitcoin lurk bitcoin mine monero bitcoin broker webmoney bitcoin simple bitcoin ethereum pool all bitcoin bitcoin node bitcoin login
вывести bitcoin bitcoin boom кошельки bitcoin ethereum dark ethereum programming
bitcoin цена зарабатывать bitcoin
lazy bitcoin bitcoin blog ubuntu bitcoin dogecoin bitcoin secp256k1 bitcoin блог bitcoin генераторы bitcoin bitcoin проверить bitcoin swiss
bitcoin symbol monero прогноз monero купить bitcoin bear bitcoin trinity withdraw bitcoin bitcoin hd up bitcoin Bitcoin or Ethereum: Which one is Better?новости ethereum ethereum ubuntu обменять ethereum bitcoin авито приложения bitcoin перспектива bitcoin simplewallet monero mt5 bitcoin bitcoin code asic bitcoin boxbit bitcoin технология bitcoin bitcoin instagram