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”.
all cryptocurrency monero ico electrum bitcoin bitcoin nedir падение ethereum перспективы ethereum monero price ethereum classic cryptonight monero mine bitcoin collector bitcoin bitcoin bat system bitcoin bitcoin сокращение bitcoin qazanmaq clame bitcoin bitcoin capital bitcoin статья ethereum erc20 ethereum coin alipay bitcoin freeman bitcoin alpha bitcoin bitcoin аналитика bitcoin cryptocurrency roulette bitcoin обменники bitcoin
microsoft bitcoin
bitcoin работа ethereum coin puzzle bitcoin bitcoin people bitcoin clouding bitcoin forbes bitcoin hacker ethereum котировки bitcoin mining cryptocurrency bitcoin
сколько bitcoin ethereum 4pda bitcoin bcc monero купить pull bitcoin bitcoin base bitcoin help
bitcoin clicks
bitcoin kazanma bitcoin phoenix gadget bitcoin coinder bitcoin bitcoin монеты ava bitcoin регистрация bitcoin bitcoin advcash buy tether monero dwarfpool key bitcoin bitcoin деньги So, What is Cryptocurrency Mining For?tp tether Initialize GAS = STARTGAS, and take off a certain quantity of gas per byte to pay for the bytes in the transaction.Ethereum’s purpose is to offer and run decentralized smart-contract applications powered by blockchain technology that do not go offline and cannot be altered. It provides users with a platform and programming language to build the applications on.bitcoin com reddit ethereum monero сложность ethereum github bitcoin investing bitcoin nodes bitcoin логотип 2016 bitcoin bitcoin qiwi bitcoin fortune 600 bitcoin
monero hardware microsoft ethereum rus bitcoin
ethereum ann bitcoin s пулы ethereum bitcoin x2 фри bitcoin bitcoin вход bitcoin ebay фри bitcoin king bitcoin rise cryptocurrency monero blockchain bitcoin get dag ethereum
bitcoin block ферма bitcoin bonus bitcoin fpga ethereum bitcoin алгоритм sportsbook bitcoin block bitcoin bitcoin matrix raspberry bitcoin pull bitcoin автосборщик bitcoin tails bitcoin биржи monero bitcoin видеокарта
бесплатный bitcoin сервисы bitcoin bitcoin котировка bitcoin проверка bitcoin hub bitcoin форум bitcoin torrent
обналичить bitcoin bitcoin steam flappy bitcoin bitcoin monkey ethereum stats bitcoin icon android tether accelerator bitcoin solidity ethereum ubuntu bitcoin bitcoin валюты bitcoin count bitcoin history bitcoin freebitcoin ethereum transaction эфириум ethereum ethereum blockchain приложение bitcoin bitcoin список
bitcoin source bitcoin cfd maps bitcoin bitcoin mmgp chvrches tether bitcoin софт bitcoin казахстан bitcoin сколько credit bitcoin
ethereum miner ethereum script курс tether wm bitcoin Because cryptocurrencies operate independently and in a decentralized manner, without a bank or a central authority, new units can be added only after certain conditions are met. For example, with Bitcoin, only after a block has been added to the blockchain will the miner be rewarded with bitcoins, and this is the only way new bitcoins can be generated. The limit for bitcoins is 21 million; after this, no more bitcoins will be produced.ethereum статистика hardware bitcoin cudaminer bitcoin bitcoin fire bitcoin минфин lazy bitcoin bitcoin land платформы ethereum config bitcoin ethereum transactions робот bitcoin ethereum buy casper ethereum boom bitcoin bitcoin io java bitcoin bitcoin agario bitcoin send оборудование bitcoin лото bitcoin
bitcoin etf ethereum описание
график monero laundering bitcoin check bitcoin bitcoin com bitcoin зебра bitcoin free moto bitcoin golang bitcoin hourly bitcoin кошелька bitcoin bitcoin аккаунт купить bitcoin bitcoin blockstream mindgate bitcoin crococoin bitcoin matrix bitcoin golden bitcoin wechat bitcoin logo ethereum ethereum обменники kinolix bitcoin ethereum mist facebook bitcoin bitcoin сети bitcoin status
bitcoin eu ethereum mine bitcoin войти loan bitcoin bitcoin кран tether обменник майнить ethereum bitcoin course bitcoin конвертер Decentralized financeminergate bitcoin blockchain ethereum konverter bitcoin
bitcoin tails ethereum бесплатно ethereum bitcointalk развод bitcoin bitcoin net bitcoin girls sec bitcoin эмиссия ethereum bitcoin metal Trade responsiblycryptocurrency tech Suppose Bitcoin has been around for a while after a period of explosive demand. It’s at a point where some money is flowing in regularly, and many people are holding, but there’s not a surge in enthusiasm or anything like that. Just a constant low-key influx of new capital. For simplicity, we’ll assume people only buy once, and nobody sells, which is of course unrealistic, but we’ll address that later.биржа bitcoin http bitcoin ethereum клиент ethereum отзывы bitcoin hype ethereum dag location bitcoin
satoshi bitcoin ethereum node
ethereum бесплатно bitcoin swiss bitcoin dark bitcoin easy crococoin bitcoin bitcoin vpn generator bitcoin payoneer bitcoin bitcoin talk bitcoin ios bitcoin вконтакте bitcoin сатоши bitcoin ru minergate ethereum bitcoin обналичить
tether download asic ethereum android tether moneypolo bitcoin wisdom bitcoin x2 bitcoin bitcoin monkey hub bitcoin tx bitcoin bitcoin магазины ethereum картинки bitcoin token doubler bitcoin transaction bitcoin So, Which One? Bitcoin or Ethereum?rus bitcoin пул bitcoin bitcoin journal monero bitcointalk ethereum mist
продать ethereum bitcoin phoenix робот bitcoin alien bitcoin обменять ethereum портал bitcoin майн ethereum bitcoin коллектор fun bitcoin blog bitcoin bitcoin payment 33 bitcoin bitcoin auto инструкция bitcoin electrodynamic tether bitcoin kurs ethereum акции mooning bitcoin bitcoin habr bitcoin cryptocurrency trader bitcoin flash bitcoin cap bitcoin bitcoin euro Value (8/21/18)cryptocurrency dash qtminer ethereum cryptocurrency wikipedia bitcoin unlimited free bitcoin
брокеры bitcoin bitcoin lurk asics bitcoin bitcoin зебра tether wallet protocol bitcoin bitcoin виджет trade cryptocurrency vpn bitcoin de bitcoin майнинга bitcoin bitcoin jp bitcoin metatrader bitcoin instaforex bitcoin qiwi bitcoin vpn ethereum 1070
hardware bitcoin bitcoin книга second bitcoin live bitcoin ethereum отзывы bitcoin play bitcoin location
cryptocurrency tech bitcoin проверка monero proxy bitcoin клиент bitcoin click wirex bitcoin технология bitcoin ethereum stratum
курс ethereum
ccminer monero майнер ethereum bitcoin раздача waves bitcoin использование bitcoin настройка bitcoin протокол bitcoin 5 bitcoin bitcoin банкнота bitcoin auto bitcoin journal ethereum blockchain перспективы bitcoin вклады bitcoin ubuntu bitcoin
пополнить bitcoin bitcoin take bitcoin bank wechat bitcoin bitcoin maker -0.38% ↘