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 plus bitcoin пул bitcoin обменять cryptocurrency wallet bitcoin список monero difficulty картинка bitcoin bitcoin вебмани bitcoin node bitcoin q decred cryptocurrency видео bitcoin car bitcoin bitcoin server erc20 ethereum grayscale bitcoin bitcoin stock buy ethereum bitcoin alert titan bitcoin
nya bitcoin
ethereum dark поиск bitcoin monero pools курс ethereum заработать bitcoin plasma ethereum bitcoin пополнение картинки bitcoin monero usd ставки bitcoin котировка bitcoin bitcoin poker korbit bitcoin bitcoin nasdaq wisdom bitcoin
bitcoin greenaddress ethereum обменники Monero's Research Lab, Core Development Team and Community Developers are constantly pushing the frontier of what is possible with cryptocurrency privacy and security.сайты bitcoin bitcoin keys keepkey bitcoin master bitcoin monero краны bitcoin clouding
All transactions contain the following components, regardless of their type:to bitcoin ethereum complexity vpn bitcoin bitcoin приложения
кликер bitcoin ethereum майнер service bitcoin bitcoin 2020 torrent bitcoin tether gps keystore ethereum bitcoin mail команды bitcoin monero кран bitcoin инструкция super bitcoin bitcoin pools bitcoin ann autobot bitcoin bitcoin china facebook bitcoin bitcoin обменник bitcoin online сложность bitcoin bitcoin litecoin bitcoin all clockworkmod tether tether usd bitcoin mercado apk tether криптовалюты bitcoin bitcoin statistics hub bitcoin bitcoin qr ethereum clix golden bitcoin
ethereum ethash payeer bitcoin bitcoin магазин hit bitcoin видеокарта bitcoin eobot bitcoin
While wallets provide some measure of security, if the private key is intercepted or stolen, there is often very little that the wallet owner can do to regain access to coins within. One potential solution to this security issue is cold storage.polkadot stingray bitcoin elena bitcoin purse bitcoin транзакции вклады bitcoin bitcoin valet
bitcoin word bitcoin green bitcoin allstars ethereum пул lightning bitcoin Once a transaction is confirmed, it is stored on the ledger and protected using cryptography. It cannot be changed or deleted without a consensus (the group agreement), which makes the blockchain unbreakable. Pretty cool, eh?биржа ethereum
ethereum видеокарты брокеры bitcoin
bitcoin проблемы polkadot блог bitcoin crash
bitcoin падение bitcoin spend запросы bitcoin index bitcoin bitcoin node андроид bitcoin новости bitcoin bitcoin work ethereum core bitcoin global bitcoin 4096 bitcoin farm ninjatrader bitcoin bitcoin алгоритм bitcoin china ethereum rig bitcoin coinmarketcap bitcoin реклама
bitcoin форекс дешевеет bitcoin unconfirmed monero
переводчик bitcoin invest bitcoin ethereum rub кости bitcoin bitcoin wiki local ethereum win bitcoin ethereum ios bitcoin school bitcoin рубли кран bitcoin nova bitcoin
обменник monero tether майнинг сколько bitcoin difficulty bitcoin hit bitcoin алгоритм ethereum создатель ethereum запуск bitcoin bitcoin fund The difficulty is the measure of how difficult it is to find a new block compared to the easiest it can ever be. The rate is recalculated every 2,016 blocks to a value such that the previous 2,016 blocks would have been generated in exactly one fortnight (two weeks) had everyone been mining at this difficulty. This is expected yield, on average, one block every ten minutes.bitcoin coin bank bitcoin
bitcoin bestchange coindesk bitcoin валюта monero erc20 ethereum bitcoin analytics pirates bitcoin сервисы bitcoin bitcoin flapper обменять ethereum Also, there have been many attempts at making proof-of-work use non-specialist hardware. However, this is neither possible, because any specific proof-of-work function can be optimised with hardware, nor desirable, because specialist mining equipment improves security by committing miners to the specific network they are mining for.сложность bitcoin ad bitcoin What is Ethereum?monero pro Groups of smart contracts are used to create dapps. Smart contracts are scripts of code which can facilitate the exchange of money, shares, content, or anything of value. Smart contracts are formed using the Ethereum Virtual Machine (EVM). Once a smart contract is running on the blockchain, it acts like a self-operating computer program. They run as programmed, without censorship, downtime or influence from a third party.pro bitcoin bitcoin роботы график bitcoin ethereum 1070 новый bitcoin bitcoin кошелька bitcoin стоимость *****uminer monero bitcoin кошелька bitcoin dynamics bitcoin экспресс salt bitcoin bitcoin китай цена ethereum Wondering where to buy Ripple? Maybe still need a bit clarification on what is Ripple? Read our guide on Where to Buy Ripple and find out!This episode in bitcoin’s history demonstrated that no one was in control of the network. Not even the most powerful companies and miners, practically all aligned, could change bitcoin. It was an incontrovertible demonstration of the network’s resistance to censorship. It may have seemed like an inconsequential change. A majority of participants probably supported the increase in the block size (or at least the idea), but it was always a marginal issue, and when it comes to change, bitcoin’s default position is no. Only an overwhelming majority of all participants (naturally with competing priorities) can change the network’s consensus rules. And it really was never a debate about block size or transaction capacity. What was at stake was whether or not bitcoin was sufficiently decentralized to prevent external and powerful forces from influencing the network and changing the consensus rules. See, it’s a slippery slope. If bitcoin were susceptible to change by the dictate of a few centralized companies and miners, it would have established that bitcoin were censorable. And if bitcoin were censorable, then all bets would be off. There would have been no reasonable basis to believe that other future changes would not be forced on the network, and ultimately, it would have impaired the credibility of bitcoin’s fixed 21 million supply.ethereum прибыльность As such, software clients should not update automatically, as that would take power away from users and put it in the hands of developers.обновление ethereum bitcoin life bitcoin видеокарты счет bitcoin bitcoin хайпы tether пополнение bitcoin машина cryptocurrency exchanges metatrader bitcoin взлом bitcoin bitcoin кошелек
1 ethereum foto bitcoin iota cryptocurrency bitcoin trading кошелька ethereum аналоги bitcoin xmr monero кран bitcoin взломать bitcoin ethereum core оплата bitcoin перевод bitcoin ставки bitcoin accepts bitcoin bitcoin reindex bitcoin traffic скачать bitcoin boxbit bitcoin доходность ethereum магазин bitcoin bitcoin авито bitcoin 9000
A screenshot of the cryptocurrency market’s top cryptocurrencies in terms of prices per unit, according to coinmarketcap.com.кошелька bitcoin история ethereum ico monero putin bitcoin bitcoin png bitcoin node tether usb bitcoin golden ethereum регистрация bitcoin conf master bitcoin future bitcoin monero btc
mini bitcoin
bitcoin сайты
кошельки bitcoin
надежность bitcoin Feesalpari bitcoin ethereum forks bitcoin swiss
bitcoin blue bitcoin транзакция bitcoin оборот kaspersky bitcoin ethereum прогнозы trader bitcoin ethereum rig ethereum проекты tether bootstrap bitcoin goldman moneypolo bitcoin bitcoin proxy bitcoin attack bitcoin сервера grayscale bitcoin bitcoin casino ethereum логотип
форекс bitcoin bitcoin tools bitcoin drip теханализ bitcoin bitcoin список monero price nasdaq bitcoin ico monero node bitcoin описание ethereum monero обменять
bitcoin double bitcoin форумы accepts bitcoin bitcoin land
bitcoin доллар ethereum online bitcoin ваучер bitcoin monero free total cryptocurrency ios bitcoin takara bitcoin форки bitcoin карты bitcoin siiz bitcoin разделение ethereum миллионер bitcoin форекс bitcoin bitcoin maps bitcoin china bitcoin fan genesis bitcoin ethereum вывод е bitcoin ферма bitcoin webmoney bitcoin ethereum виталий python bitcoin ethereum pools email bitcoin email bitcoin bitcoin count 6000 bitcoin ethereum пул express bitcoin reddit cryptocurrency talk bitcoin сеть ethereum half bitcoin
bitcoin joker bitcoin boxbit wired tether tether скачать bitcoin qt bitcoin pools equihash bitcoin пример bitcoin nonce bitcoin шифрование bitcoin
bitcoin проверить bitcoin boxbit bitcoin transaction bitcoin халява ads bitcoin local ethereum bitfenix bitcoin bitcoin rpg ethereum курсы bitcoin charts bitcoin nedir transactions bitcoin серфинг bitcoin x2 bitcoin spend bitcoin bitcoin заработок bitcoin c
bitcoin rpc bitcoin зебра bitcoin investing rate bitcoin polkadot cadaver bitcoin pay лотереи bitcoin bitcoin prominer p2pool ethereum bitcoin analytics spin bitcoin Why would any merchant — online or in the real world — want to accept Bitcoin as payment, given the currently small number of consumers who want to pay with it? My partner Chris Dixon recently gave this example:reverse tether bitcoin forex приложение bitcoin widget bitcoin
эфир bitcoin swarm ethereum
The process that maintains this trustless public ledger is known as mining. Undergirding the network of Bitcoin users who trade the cryptocurrency among themselves is a network of miners, who record these transactions on the blockchain. bitcoin халява bitcoin миллионеры ubuntu ethereum
bitcoin cards
bitcoin обзор bitcoin poker трейдинг bitcoin cryptocurrency wikipedia monero logo tether io monero fee ethereum проблемы moon ethereum black bitcoin bitcoin loan ann bitcoin майнинга bitcoin bitcoin кошелька arbitrage cryptocurrency bitcoin algorithm bitcoin x2 ethereum сбербанк time bitcoin рост bitcoin динамика ethereum bitcoin сложность bitcoin doubler
bux bitcoin краны monero
ethereum описание bitcoin games bitcoin lurkmore usb bitcoin bitcoin коллектор ethereum addresses
cryptocurrency capitalisation курса ethereum
mail bitcoin bitcoin purse bitcoin avto exchange bitcoin coingecko ethereum bitcoin clicks siiz bitcoin
market bitcoin ethereum википедия ethereum testnet *****uminer monero tether yota ethereum логотип best bitcoin auction bitcoin wifi tether вики bitcoin abc bitcoin компьютер bitcoin bitcoin майнер bitcoin carding card bitcoin bitcoin calc bitcoin python bitcoin de торрент bitcoin bitcoin elena matteo monero wallets cryptocurrency 1080 ethereum monero address bitcoin buying platinum bitcoin ecdsa bitcoin film bitcoin иконка bitcoin ethereum farm cryptocurrency reddit download bitcoin bitcoin ira tether coin bitcoin мастернода space bitcoin bitcoin blue
js bitcoin bitcoin golden tether usd bitcoin создать usa bitcoin ethereum core ethereum btc
ethereum complexity client bitcoin ethereum txid краны monero bitcoin goldmine
poker bitcoin
free ethereum bitcoin stock bitcoin circle баланс bitcoin tether перевод цены bitcoin ethereum coingecko armory bitcoin
monero ico ropsten ethereum cryptocurrency calculator rbc bitcoin
king bitcoin bitcoin rig ethereum упал куплю bitcoin ethereum монета tether комиссии bitcoin portable bitcoin 2048 ethereum asics блок bitcoin difficulty bitcoin