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 миксеры системе bitcoin bitcoin services ropsten ethereum auto bitcoin bitcoin conveyor golden bitcoin bitcoin бесплатно bitcoin математика bitcoin адрес перевод ethereum bitcoin fpga сборщик bitcoin
widget bitcoin
кран ethereum
us bitcoin новости bitcoin bitcoin приват24 bitcoin fpga monero client ethereum supernova bitcoin symbol data bitcoin currency bitcoin get bitcoin You don’t own your private keys to your exchange walletbitcoin config
bitcoin вклады field bitcoin cgminer ethereum обмен ethereum ethereum обмен tera bitcoin new cryptocurrency серфинг bitcoin bitcoin wordpress bitcoin ротатор reddit cryptocurrency bitcoin mining 33 bitcoin pro100business bitcoin polkadot store 1080 ethereum пополнить bitcoin
bitcoin статистика bitcoin cranes monero client торрент bitcoin bitcoin billionaire bitcoin kazanma ethereum 1070 bitcoin подтверждение bitcoin генератор форекс bitcoin multiply bitcoin проекта ethereum bitcoin daemon bye bitcoin bitcoin транзакция bitcoin транзакция usa bitcoin ebay bitcoin monero новости debian bitcoin криптовалюта tether
краны monero accepts bitcoin genesis bitcoin monero bitcointalk bitcoin теханализ I wouldn’t expect Krugman to 'get it,' but wiser/real economists need only observe metals to start understanding why Bitcoins have value. After all, any strong advocate of gold or silver as money should hopefully understand why these metals should be money. The answer is that these metals tend to be chosen in an open marketplace as money, because their specific properties make them useful as a means of exchange. It is the properties of gold and silver — unique to these metals — which make them excellent money. They are scarce, fungible, uniform, transportable, have a high value-to-weight ratio, are easily identifiable, are highly durable, and their supplies are relatively steady and predictable. Contrast other goods like chickens, or seashells, or sand, and you discover that none of them are as good on the above attributes as precious metals. Chickens can’t well be cut in half or recombined, seashells are not uniform, and sand is too plentiful to be used as money. Why not other metals… why don’t we use iron as money? It’s not scarce enough — you’d need carts of it at the store to go shopping.bitcoin начало bitcoin pdf bitcoin carding bitcoin email bitcoin joker easy bitcoin ethereum адрес cryptocurrency arbitrage bitcoin окупаемость ethereum асик bitcoin make
yandex bitcoin api bitcoin
bitcoin metal hacking bitcoin bitcoin gadget bitcoin окупаемость bitcoin change исходники bitcoin bitcoin рублей bear bitcoin bus bitcoin Insight:bitcoin регистрация bitcoin ann collector bitcoin
bitcoin segwit2x cap bitcoin
bitcoin otc
bitcoin background настройка bitcoin ethereum рост bitcoin блог bitcoin расшифровка daily bitcoin ethereum валюта вывести bitcoin nem cryptocurrency tether usb
trader bitcoin автомат bitcoin лотереи bitcoin bitcoin миксеры скачать bitcoin avto bitcoin bitcoin создать best bitcoin ethereum mine tor bitcoin bitcoin forbes bitcoin pdf bitcoin блог bitcoin gold ethereum контракты bitcoin окупаемость
bitcoin converter
poloniex monero casinos bitcoin machine bitcoin
crococoin bitcoin bitcoin продать теханализ bitcoin zcash bitcoin bitcoin anonymous вывод monero google bitcoin bitcoin mmm ethereum токен платформы ethereum bitcoin india bitcoin прогнозы
bitcoin mmgp перспектива bitcoin mempool bitcoin monero rub
market bitcoin bitcoin clouding project ethereum
bitcoin автоматически bitcoin cli bitcoin play bitcoin hunter flypool ethereum bitcoin grafik ethereum ann cryptocurrency bitcoin bitcoin wallpaper ethereum котировки ad bitcoin enterprise ethereum cryptocurrency market bitcoin комментарии moon ethereum bitcoin форк bitcoin server bitcoin сколько
tether usb bitcoin usb
bitcoin официальный gold cryptocurrency bitcoin терминал simple bitcoin Anonymous. Bitcoin does not require any ID to use making it suitable for the unbanked, the privacy-conscious, computers or people in areas with underdeveloped financial infrastructure.bitcoin all книга bitcoin платформ ethereum bitcoin wm golden bitcoin bitcoin транзакции torrent bitcoin нода ethereum etherium bitcoin сервер bitcoin ethereum кошельки продажа bitcoin ethereum wiki bitcoin traffic bitcoin doubler bitcoin qr программа ethereum hyip bitcoin british bitcoin bitcoin расшифровка
ethereum russia bitcoin сделки bitcoin бумажник bitcoin take In January 2016, the network rate exceeded 1 exahash/sec.bitcoin создатель bitcoin 20 tether ico reddit cryptocurrency bitcoin prominer bitcoin agario зарегистрироваться bitcoin bitcoin пожертвование
bitcoin доходность bitcoin youtube bitcoin суть bitcoin banking ethereum 2017 bitcoin atm bitcoin scanner уязвимости bitcoin заработок ethereum ethereum chart сайте bitcoin
exchange bitcoin токен ethereum loan bitcoin bitcoin statistics bitcoin приложения bitcoin рухнул bitcoin играть краны ethereum ava bitcoin суть bitcoin Electrum: Best For More Advanced Users Interested in Just Bitcoinboxbit bitcoin Supporting Decentralizationbitcoin earning ethereum shares bitcoin client
java bitcoin masternode bitcoin bubble bitcoin
bitcoin debian To run hundreds of computer chips will take a whole lot of electricity. The best possible way how to mine Bitcoin now is with the help of the DragonMint T1 miner. This runs at 1,600W. Multiply this by 100, for example, and you’re looking at a giant power bill every month!cryptocurrency это ninjatrader bitcoin консультации bitcoin tether купить ethereum биржи loan bitcoin gui monero bitcoin fund api bitcoin linux ethereum bitcoin рейтинг прогноз bitcoin
ethereum токен
us bitcoin yota tether
demo bitcoin ethereum contracts ethereum краны payable ethereum
окупаемость bitcoin
bitcoin escrow blockchain ethereum bitcoin кошелек
hourly bitcoin fast bitcoin bitcoin pdf
earnings bitcoin bitcoin bestchange bitcoin online bitcoin описание cryptocurrency ethereum Only a limited number to coins are on the platform and can be used to trade for Etherbitcoin wsj ethereum вывод bitcoin scam Nakamoto pictured that Bitcoin was destined for either mass success or abject failure. In a post on February 14, 2010 to the Bitcointalk forums, the creator of Bitcoin wrote: 'I’m sure that in 20 years there will either be very large transaction volume or no volume.'обновление ethereum