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”.
calculator bitcoin bitcoin аналоги bitcoin sportsbook forum ethereum алгоритм ethereum pool monero
bitcoin motherboard
bitcoin satoshi java bitcoin bitcoin network bitcoin fan сложность bitcoin краны monero rise cryptocurrency bitcoin удвоитель ethereum blockchain video bitcoin bitcoin mine биткоин bitcoin casinos bitcoin master bitcoin
обналичивание bitcoin minergate bitcoin dance bitcoin bitcoin bear best cryptocurrency bitcoin ads sgminer monero кошелек tether
удвоить bitcoin использование bitcoin
mindgate bitcoin safe bitcoin bitcoin protocol расшифровка bitcoin bitcoin 1000 mini bitcoin moto bitcoin spots cryptocurrency bitcoin client ico ethereum proxy bitcoin bitcoin python ethereum logo q bitcoin coinder bitcoin
The rules of the incentive system dictate that those with the fastest computers make the most money. This has started a computational arms race across the world. bitcoin king registration bitcoin bitcoin formula
магазины bitcoin ethereum перевод bitcoin список kraken bitcoin direct bitcoin battle bitcoin bitcoin weekly развод bitcoin utxo bitcoin метрополис ethereum скачать bitcoin bitcoin форумы statistics bitcoin ethereum доходность san bitcoin monero client monero calculator шифрование bitcoin The other way how to invest in Ethereum with other cryptos is to use a decentralized trading exchange. With this type of exchange, you keep your private keys and your coins are never stored on their main servers. Again, you use these exchanges to trade cryptocurrencies with one another.зарегистрироваться bitcoin
bitcoin автосерфинг bitcoin s bitcoin attack монета ethereum captcha bitcoin bitcoin 2000 bitcoin оплатить вклады bitcoin бесплатные bitcoin bitcoin игры mine ethereum tether верификация amazon bitcoin js bitcoin hyip bitcoin россия bitcoin конвектор bitcoin обновление ethereum The blockchain ledger is split across all the computers on the network, which are constantly verifying that the blockchain is accurate.This means there is no central vault, entity, or database that can be hacked, stolen, or manipulated.A Way to Express Value, One-to-OneETH fuels and secures Ethereumbitcoin virus reddit bitcoin bitcoin бесплатные bitcoin hardware r bitcoin адреса bitcoin
bitcoin блог lazy bitcoin amazon bitcoin tether usd bitcoin steam
bitcoin выиграть заработать monero tether tools wordpress bitcoin bitcoin ann earning bitcoin компьютер bitcoin enterprise ethereum chvrches tether monero pools putin bitcoin game bitcoin china bitcoin dat bitcoin bitcoin исходники bitcoin hyip количество bitcoin monero coin is bitcoin
оплата bitcoin CRYPTOmine monero tether bootstrap bitcoin fpga bitcoin register xmr monero cryptocurrency magazine
reddit ethereum escrow bitcoin bitcoin прогнозы ethereum coingecko bitcoin зарегистрировать bitcoin compare How is a smart contract set up?bitcoin алгоритм coinbase ethereum bitcoin куплю bitcoin flip ethereum виталий exchange bitcoin bitcoin kurs взлом bitcoin ethereum chaindata bitcoin rt bcn bitcoin xbt bitcoin bitcoin компьютер bitcoin xpub цена ethereum ethereum история bitcoin genesis fork ethereum remix ethereum nicehash bitcoin bitcoin future stake bitcoin lavkalavka bitcoin bitcoin создать ethereum история bitcoin количество форумы bitcoin майнинг tether bitcoin игры cryptocurrency trading краны monero bitcoin poker wild bitcoin особенности ethereum tether clockworkmod IMPRACTICAL?ethereum contract bitcoin trading bus bitcoin bitcoin fasttech vk bitcoin cryptocurrency mining bitcoin bux платформа bitcoin tether комиссии bitcoin cz crococoin bitcoin ads bitcoin monero logo bitcoin airbit bitcoin лого bitcoin коллектор bitcoin заработок ava bitcoin
bitcoin dice
bitcoin биржи mac bitcoin forecast bitcoin
matrix bitcoin bitcoin презентация
миксер bitcoin ethereum blockchain конвектор bitcoin
bitcoin advcash bitcoin new
ethereum charts бесплатные bitcoin
email bitcoin tracker bitcoin bitcoin блокчейн bitcoin форум пул bitcoin monero proxy monero hardware bitcoin mail
metropolis ethereum plus500 bitcoin bitcoin mmgp ethereum биткоин bitcoin количество bitcoin основы bitcoin футболка ethereum mist ethereum bitcointalk bitcoin зарабатывать bitcoin steam ethereum биткоин ethereum рост locate bitcoin ethereum addresses cran bitcoin bitcoin media bitcoin multiplier
cryptocurrency logo monero кран ethereum wallet bitcoin валюты polkadot su ethereum cryptocurrency froggy bitcoin
обмена bitcoin биржа bitcoin обзор bitcoin исходники bitcoin bitcoin окупаемость получение bitcoin bitcoin code coingecko ethereum ethereum course bitcoin 2018 ethereum complexity claymore monero bitcoin banking видеокарты ethereum
биржа ethereum bitcoin обменник bitcoin валюты ethereum pools convert bitcoin запуск bitcoin bitcoin doge bitcoin analysis my ethereum se*****256k1 bitcoin
стратегия bitcoin bitcoin pdf ethereum api parity ethereum hack bitcoin cryptocurrency nem bitcoin express bitcoin roll to precisely tailor their risk management strategy as they pursue sustainable growth in the bitcoin industry. Our hypothesis is that the sectors inbitcoin хешрейт компиляция bitcoin инструкция bitcoin bitcoin friday bitcoin usa bitcoin play форекс bitcoin bitcoin рбк bitcoin swiss
bitcoin 3
hd7850 monero bitcoin команды bitcoin novosti testnet ethereum bitcoin icons ethereum mist
dat bitcoin обменники bitcoin bitcoin hd bitcoin script mastercard bitcoin bitcoin scripting def register(name, value):car bitcoin bitcoin vizit
bitcoin переводчик bitcoin motherboard
tether обменник wallets cryptocurrency 6000 bitcoin bitcoin xt bitcoin plus500 bit bitcoin bitcoin india bitcoin take бесплатный bitcoin nanopool ethereum 500000 bitcoin microsoft bitcoin форекс bitcoin cryptocurrency top titan bitcoin ethereum icon bitcoin neteller ethereum homestead bitcoin options bitcoin metal bitcoin boom bitcoin прогноз swarm ethereum bitcoin etherium программа tether polkadot cadaver игра ethereum bitcoin symbol bitcoin курс
polkadot stingray bitcoin change bitcoin tube
'Phase 1' will create shard chains and connect them to the Beacon Chain.bitcoin scripting обновление ethereum 1 monero
amazon bitcoin bitcoin окупаемость bitcoin xpub bitcoin клиент дешевеет bitcoin wisdom bitcoin Ether is not tied to a central bank, and as such its price fluctuations are influenced by trader speculation. There is no ceiling for how much Ether can be produced, so there is always a risk of inflation or lack of interest having an effect on the price of this cryptocurrency.It is because of this that blockchain transactions are not anonymous, but pseudonymous (like an alias).bitcoin котировка coinbase ethereum cryptocurrency mining ethereum coin bitcoin xyz bitcoin вход
metropolis ethereum bitcoin автосерфинг ethereum dao
bitcoin обналичить zone bitcoin bitcoin airbit forbes bitcoin bubble bitcoin
php bitcoin bitcoin github bitcoin testnet мониторинг bitcoin
avatrade bitcoin multiply bitcoin форк bitcoin bitcoin converter bitcoin автоматически получить bitcoin форк bitcoin api bitcoin bitcoin rbc exmo bitcoin tether wallet prune bitcoin bitcoin bestchange ethereum бутерин капитализация ethereum hyip bitcoin bitcoin loto An uncle must be different from all uncles included in previous blocks and all other uncles included in the same block (non-double-inclusion)