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 картинки ethereum акции bitcoin allstars all bitcoin KEY TAKEAWAYSmonero настройка flappy bitcoin create bitcoin пополнить bitcoin
flappy bitcoin
cpa bitcoin bitcoin marketplace konvert bitcoin maps bitcoin etherium bitcoin abi ethereum reklama bitcoin валюта tether bitcoin qr business bitcoin credit bitcoin master bitcoin claim bitcoin mine monero
ethereum farm заработка bitcoin ethereum price bitcoin бумажник добыча bitcoin ethereum calculator bitcoin рублях film bitcoin bitcoin farm мерчант bitcoin ethereum price алгоритмы ethereum habrahabr bitcoin daemon bitcoin bitcoin ann бутерин ethereum ethereum настройка ssl bitcoin bitcoin trezor
bitcoin sweeper ethereum casino blender bitcoin cryptocurrency ethereum bitcoin china видео bitcoin bitcoin qt exchange ethereum ethereum tokens polkadot ico mainer bitcoin bitcoin apple all cryptocurrency график ethereum rus bitcoin куплю bitcoin
cryptocurrency chart cryptocurrency forum dark bitcoin трейдинг bitcoin
topfan bitcoin bitcoin etf ico monero bitcoin информация hd bitcoin bitcoin login bitcoin зебра habrahabr bitcoin технология bitcoin top bitcoin cryptocurrency wikipedia динамика ethereum 4pda bitcoin
red bitcoin bitcoin atm dorks bitcoin bitcoin paypal bitcoin word tether clockworkmod динамика ethereum source bitcoin 22 bitcoin king bitcoin accepts bitcoin бесплатно bitcoin bitcoin simple matrix bitcoin bitcoin api видеокарты bitcoin connect bitcoin bitcoin лохотрон bitcoin rbc казино ethereum вложения bitcoin bitcoin betting
сборщик bitcoin water bitcoin пожертвование bitcoin bitcoin play bitcoin эмиссия monero майнить bitcoin транзакция ethereum dark monero bitcointalk bitcoin kran gek monero график monero bitcoin source You can purchase it directly from another individual in person or over the web.bitcoin trinity click bitcoin bitcoin reserve цена ethereum golden bitcoin блокчейн ethereum
joker bitcoin bitcoin продать box bitcoin ethereum code bitcoin запрет bitcoin cards bitcoin пополнение bitcoin добыча bitcoin circle bitcoin удвоитель bitcoin traffic bitcoin pizza bitcoin википедия Growing communityThis is a great improvement on its own, but when you combine Confidential Transactions with CoinJoin then you can build a mixing service that severs any links between transaction inputs and outputs.опционы bitcoin logo ethereum цена ethereum цена bitcoin bitcoin lucky покер bitcoin metropolis ethereum scrypt bitcoin
bitcoin развитие 2018 bitcoin bitcoin seed bitcoin land кредит bitcoin bitcoin доллар торрент bitcoin monero hardware bitcoin addnode microsoft ethereum зарабатывать bitcoin bitcoin спекуляция краны monero mercado bitcoin bitcoin matrix bitcoin проверить bitcoin ферма lazy bitcoin bitcoin json ethereum siacoin bitcoin tx хешрейт ethereum monero обменять статистика ethereum decred ethereum coin bitcoin monero пулы статистика ethereum alpha bitcoin
bitcoin auto
Cryptocurrencies can help make the world a fairer, safer and more peaceful place for us all to live in.bitcoin golang ethereum client wirex bitcoin Bitcoin is two things: it is a digital currency unit and it is the global payment network with which one sends and receives those currency units. Both the currency unit and the payment network share the same name: Bitcoin.bitcoin calculator payoneer bitcoin swarm ethereum ethereum decred
bitcoin xt bitcoin hd
bitcoin trinity
love bitcoin best bitcoin ethereum логотип simple bitcoin click bitcoin продажа bitcoin bitcoin center nodes bitcoin сложность ethereum it bitcoin bitcoin спекуляция зарегистрироваться bitcoin bitcoin мерчант loco bitcoin bitcoin com кошель bitcoin bitcoin пожертвование bitcoin роботы история bitcoin
bitcoin logo цена ethereum bitcoin suisse bitcoin media ethereum новости технология bitcoin information bitcoin bitcoin картинка 2 bitcoin monero transaction bitcoin 2x trading bitcoin card bitcoin bio bitcoin bitcoin бонусы bitcoin euro mine ethereum ethereum faucet blog bitcoin daemon bitcoin часы bitcoin bitcoin ishlash
bitcoin dollar bitcoin payza instant bitcoin bcc bitcoin
tether addon monero прогноз bitcoin jp bitcoin review ethereum nicehash
film bitcoin обсуждение bitcoin vps bitcoin bitcoin reklama bitcoin p2p bitcoin selling
bitcoin hyip
tether provisioning обвал bitcoin ethereum complexity bitcoin комиссия bitcoin карты loan bitcoin bitcoin stellar bitcoin icons monero btc jax bitcoin san bitcoin ethereum вики bitcoin scam ethereum rub символ bitcoin bitcoin анализ bitcoin background dwarfpool monero tether mining bitcoin alliance ios bitcoin cryptocurrency bitcoin аналитика ethereum bonus bitcoin
ethereum обмен bank bitcoin и bitcoin l bitcoin mikrotik bitcoin бизнес bitcoin 9000 bitcoin airbitclub bitcoin ethereum gas bounty bitcoin stealer bitcoin bitcoin paw ethereum рост bitcoin etf roulette bitcoin cryptocurrency wallets bitcoin registration
coins bitcoin bitcoin 4 purchase bitcoin ava bitcoin best bitcoin таблица bitcoin phoenix bitcoin bitcoin 2x coffee bitcoin email bitcoin billionaire bitcoin bitcoin бизнес Bitcoin has never existed before. We are in uncharted territory with more uncertaintyethereum пул cryptocurrency magazine bitcoin monkey withdraw bitcoin купить bitcoin microsoft bitcoin bitcoin кран bitcoin registration bitcoin advcash parity ethereum sell ethereum MV = PTbitcoin is abi ethereum bitcoin коллектор майнер ethereum difficulty bitcoin яндекс bitcoin bitcoin journal ethereum miner bitcoin wiki bitcoin основы bitcoin synchronization bitcoin forbes tether wifi
iso bitcoin
cpa bitcoin bitcoin moneybox Blockchain is one of the widely discussed concepts in the business world. The first lesson of the blockchain tutorial gives you a comprehensive introduction to blockchain technology, how it works, and why it is becoming more popular. Blockchain offers significant advantages over other technologies, and you can learn how it is different from other technological concepts. bitcoin location Buy and sell intellectual property.bitcoin сервисы Electrum is open source, allows its users to set custom transaction fees, and has the option to choose between legacy Bitcoin and Segwit. It also offers users the ability to determine the level of security they wish to use. For example, you can create a standard wallet, one with 2-factor authentication, or a multi-signature wallet. You can also elongate your seed phrase with custom words. bitcoin новости bitcoin sberbank monero криптовалюта лотереи bitcoin bitcoin rub iso bitcoin часы bitcoin
ethereum complexity bitcoin payment antminer bitcoin форки bitcoin
ann monero monero алгоритм bitcoin pay love bitcoin удвоитель bitcoin bitcoin telegram bitcoin ios zcash bitcoin book bitcoin ethereum акции bitcoin loan bitcoin trojan 7. What is Ethereum: Understanding its Features and Applicationsbitcoin сколько пример bitcoin
raspberry bitcoin monero logo bitcoin обменники
get bitcoin
wallets cryptocurrency
payable ethereum кошелька bitcoin тинькофф bitcoin simple bitcoin ava bitcoin bitcoin widget логотип bitcoin moto bitcoin
bitcoin plus excel bitcoin bitcoin счет bitcoin рынок bitcoin koshelek взлом bitcoin
chaindata ethereum bitcoin genesis lottery bitcoin simplewallet monero bitcoin scam bitcoin сервисы bitcoin валюты tether gps monero minergate bitcoin registration mikrotik bitcoin bitcoin python bitcoin расшифровка
bitcoin banking clame bitcoin пицца bitcoin qiwi bitcoin clame bitcoin bitcoin баланс ethereum blockchain bitcoin сбербанк bazar bitcoin добыча ethereum parity ethereum bitcoin лотерея bitcoin news pool bitcoin bus bitcoin биткоин bitcoin bitcoin проект
bitcoin books ecdsa bitcoin alpha bitcoin bitcoin machines отзыв bitcoin bitcoin linux википедия ethereum
bitcoin купить poloniex monero
wiki ethereum bitcoin code bitcoin grant кошельки bitcoin Once step (1) has taken place, after a few minutes some miner will include the transaction in a block, say block number 270. After about one hour, five more blocks will have been added to the chain after that block, with each of those blocks indirectly pointing to the transaction and thus 'confirming' it. At this point, the merchant will accept the payment as finalized and deliver the product; since we are assuming this is a digital good, delivery is instant. Now, the attacker creates another transaction sending the 100 BTC to himself. If the attacker simply releases it into the wild, the transaction will not be processed; miners will attempt to run APPLY(S,TX) and notice that TX consumes a UTXO which is no longer in the state. So instead, the attacker creates a 'fork' of the blockchain, starting by mining another version of block 270 pointing to the same block 269 as a parent but with the new transaction in place of the old one. Because the block data is different, this requires redoing the proof of work. Furthermore, the attacker's new version of block 270 has a different hash, so the original blocks 271 to 275 do not 'point' to it; thus, the original chain and the attacker's new chain are completely separate. The rule is that in a fork the longest blockchain is taken to be the truth, and so legitimate miners will work on the 275 chain while the attacker alone is working on the 270 chain. In order for the attacker to make his blockchain the longest, he would need to have more computational power than the rest of the network combined in order to catch up (hence, '51% attack').вклады bitcoin ethereum news 1000 bitcoin bitcoin рейтинг создатель bitcoin
ethereum курсы bitcoin plus500 cryptonator ethereum bitcoin bow location bitcoin iso bitcoin bitcoin generation bitcoin vip ethereum alliance
bitcoin hunter форк bitcoin bitcoin easy trezor bitcoin
bitcoin car
tether wifi обвал bitcoin bitcoin symbol bitcoin fast ethereum blockchain zebra bitcoin bitcoin etf coin bitcoin bitcoin download adc bitcoin автомат bitcoin сатоши bitcoin автомат bitcoin bitcoin arbitrage история ethereum bitcoin куплю monero minergate bitcoin ledger bitcoin icon client ethereum bitcoin конверт bitcoin school ethereum аналитика bitcoin описание 20 bitcoin bitcoin grant bitcoin аккаунт сети bitcoin talk bitcoin bitcoin security yandex bitcoin tether перевод оплата bitcoin bitcoin xl bitcoin magazin
пулы bitcoin
куплю bitcoin bitcoin халява bitcoin advcash 60 bitcoin программа tether ethereum 1070 habrahabr bitcoin bitcoin 4pda играть bitcoin 5 bitcoin ethereum stats Digital networkmicrosoft ethereum mail bitcoin ютуб bitcoin
bitcoin покер bitcoin bitcoin buying bitcoin litecoin strategy bitcoin bitcoin доллар ethereum заработок blocks bitcoin кошелька ethereum ru bitcoin flappy bitcoin bitcoin desk byzantium ethereum bitcoin books bitcoin red bitcoin obmen my ethereum bitcoin classic monero proxy история ethereum bitcoin cms динамика ethereum mini bitcoin платформы ethereum billionaire bitcoin bitcoin безопасность bitcoin check стоимость monero алгоритмы ethereum bitcoin раздача
ethereum регистрация carding bitcoin пополнить bitcoin C0: call(C1); call(C1);ethereum chaindata yandex bitcoin bitcoin maps фьючерсы bitcoin youtube bitcoin byzantium ethereum difficulty ethereum For example, banks have severe reporting obligations to agencies such as FinCEN. Every single time they authorize a transaction of more than $10,000, they must report the information to FinCEN, who stores it for use as an anti-money laundering database.bitcoin win bitcoin tails часы bitcoin ethereum купить пример bitcoin bitcoin habr фри bitcoin bitcoin spinner bitcoin playstation billionaire bitcoin bitcoin daemon фьючерсы bitcoin bitcoin ваучер okpay bitcoin red bitcoin bitcoin 3 заработай bitcoin bitcoin site статистика bitcoin tokens ethereum arbitrage bitcoin криптовалюты bitcoin ethereum акции ads bitcoin bitcoin live bitcoin froggy валюта tether tether usd bitcoin invest
clicks bitcoin
bitcoin кран bitcoin вклады bitcoin пулы store bitcoin bitcoin ферма javascript bitcoin
bitcoin talk
ethereum game golang bitcoin ad bitcoin приват24 bitcoin bitcoin talk
We can remove the dollar and various models from the price equation, and just look at Bitcoin priced in another scarce asset: grams of gold.Faster Operationssupernova ethereum Some proposed characteristics of a DAO include:erc20 ethereum автомат bitcoin bitcoin аккаунт bitcoin рухнул bitcoin сайты Nvidia has asked retailers to do what they can when it comes to selling GPUs to gamers instead of miners. 'Gamers come first for Nvidia,' said Boris Böhles, PR manager for Nvidia in the German region.обмен ethereum reddit bitcoin bitcoin email monero cpuminer
продать monero zone bitcoin е bitcoin bitcoin exchanges 3d bitcoin bitcoin spinner
Once you have installed the graphics card into your PC or laptop, follow the same steps as you would if you were CPU mining.wallet cryptocurrency pizza bitcoin получение bitcoin bitcoin бизнес today bitcoin ethereum crane bitcoin обналичить tether программа bitcoin talk bitcoin prosto биржи ethereum bitcoin торговать bitcoin зарегистрироваться