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”.
33 bitcoin mindgate bitcoin bitcoin роботы the cost of gas expended within the block by the transactions included in the blockbitcoin перспектива
компиляция bitcoin
платформ ethereum tokens ethereum bitcoin инструкция
bitcoin motherboard addnode bitcoin халява bitcoin bitcoin india bitcoin автокран cryptocurrency wallet monero кошелек
проект bitcoin
antminer ethereum bitcoin server вход bitcoin bitmakler ethereum цена ethereum invest bitcoin bitcoin auto bitcoin coingecko
майнинга bitcoin bitcoin обменник dogecoin bitcoin bitcoin продам кликер bitcoin planet bitcoin fpga ethereum bitcoin адреса конвертер bitcoin monero windows bitcoin transaction ethereum farm
пулы ethereum 999 bitcoin bitcoin center транзакции bitcoin заработок bitcoin vip bitcoin
asics bitcoin ethereum картинки hash bitcoin cryptocurrency calendar linux bitcoin сделки bitcoin attack bitcoin магазин bitcoin кости bitcoin hashrate bitcoin ethereum хешрейт 999 bitcoin bitcoin gadget stock bitcoin
ethereum форк ethereum testnet bitcoin cgminer игра ethereum сколько bitcoin
remix ethereum multiplier bitcoin dash cryptocurrency boom bitcoin weather bitcoin moneybox bitcoin
bitcoin get bitcoin sha256 logo ethereum bitcoin block
обменять ethereum direct bitcoin
bitcointalk monero bitcoin com by bitcoin multiply bitcoin
bitcoin лого electrum bitcoin картинки bitcoin обменники bitcoin bitcoin stock bitcoin kz
rpg bitcoin adbc bitcoin autobot bitcoin bitcoin 99 робот bitcoin difficulty bitcoin etoro bitcoin деньги bitcoin bazar bitcoin bitcoin yandex bitcoin in bitcoin antminer bitcoin status
баланс bitcoin red bitcoin mining ethereum bitcoin nonce сети bitcoin credit bitcoin bitcoin kraken ethereum получить debian bitcoin monster bitcoin ethereum transactions bitcoin land car bitcoin bitcoin blog клиент ethereum bitcoin ios
collector bitcoin сервер bitcoin
bitcoin создать ethereum studio продать monero bitcoin bloomberg ethereum ios ethereum проблемы bitcoin окупаемость bitcoin играть bitcoin darkcoin bitcoin cap decred ethereum bitcoin farm инструкция bitcoin game bitcoin bitcoin payoneer bitcoin прогноз golden bitcoin cryptocurrency arbitrage bitcoin rpg порт bitcoin
freeman bitcoin monero продать
bitcoin rub bitcoin автосерфинг bitcoin tor transaction bitcoin ethereum contracts bitcoin рейтинг fork bitcoin криптовалюта ethereum комиссия bitcoin bitcoin приложение
clame bitcoin рулетка bitcoin dog bitcoin bitcoin суть bitcoin раздача cryptocurrency tech widget bitcoin bitcoin получить
Settling up a GPU is a complex task and you can browse plenty of advice about which ones are the most profitable based on how many hashes the GPU can compute per second, power consumption and the initial expense of the card.bitcoin mainer Bitcoin is limited by transaction processing time, an issue which has caused rifts between factions within the bitcoin mining and developing communities.кошелек bitcoin бонусы bitcoin bitcoin кредиты bitcoin ротатор georgia bitcoin All transaction operations must be deterministic. It should only be possible for a transaction to be executed in one way if the system state is the same; factors that are external to the system should have no effect upon its computations. Similarly, you should not have scripts that work in two different ways in two different machines. The only solution to this is isolation - smart contracts and transactions must be independent from non-deterministic elements.ecdsa bitcoin panda bitcoin
monero криптовалюта bitcoin funding bitcoin dark ethereum stats bitcoin видеокарты bitcoin exe асик ethereum bitcoin traffic ethereum кошельки миксер bitcoin api bitcoin future bitcoin bitcoin multisig cryptocurrency market вирус bitcoin cryptocurrency calendar monero курс яндекс bitcoin bitcoin fund bitcoin работать bitcoin отслеживание продать monero
bitcoin safe bitcoin play bitcoin blockstream bitcoin half genesis bitcoin ethereum difficulty расчет bitcoin ethereum прогнозы casinos bitcoin bitcoin в
tether app ethereum вывод ethereum shares прогнозы bitcoin Personal opinion: If you want to get hold of some cryptocurrency but don’t want to invest in expensive mining hardware, just buy some Bitcoin with the money you would have spent on a cloud mining contract. That way, if the market takes a dramatic downturn, you can sell your position. You won’t be stuck in a mining contract that is becoming more and more worthless by the day.lamborghini bitcoin bitcoin download bitcoin форки ethereum создатель отдам bitcoin цена ethereum bitcoin вконтакте
alpari bitcoin
bitcoin security
bitcoin окупаемость Different proof-of-work algorithms mean different hardware. You must be sure that your mining rig meets the proper specifications for producing Litecoin.How to Buy Litecoinkurs bitcoin bitcoin laundering bitcoin trend bitcoin multiplier ethereum алгоритм bitcoin magazin government, although governments can plausibly limit access to Bitcoin in various ways.script bitcoin casper ethereum machine bitcoin
tp tether скрипт bitcoin tether tools 1080 ethereum bitcoin exe генераторы bitcoin курс ethereum bitcoin информация bitcoin видеокарты bitcoin machine github ethereum значок bitcoin bitcoin telegram go bitcoin
bitcoin machines банк bitcoin bitcoin сервера отдам bitcoin boxbit bitcoin doubler bitcoin bank cryptocurrency loan bitcoin ethereum shares ethereum конвертер ethereum miners bitcoin nyse продажа bitcoin bitcoin lottery 20 bitcoin курс ethereum bitcoin favicon buying bitcoin bitcoin crypto bitcoin запрет ethereum асик reddit ethereum bitcoin coinmarketcap blockchain ethereum bitcoin графики monero faucet cnbc bitcoin bitcoin antminer портал bitcoin love bitcoin
pos ethereum monero майнеры
bitcoin проблемы
bitcoin майнить bitcoin daily ethereum курсы game bitcoin titan bitcoin bitcoin шахта ethereum 2017 ethereum vk How To Mine Bitcoinsbitcoin euro bitcoin ммвб bitcoin main zcash bitcoin pow bitcoin bitcoin analytics bitcoin gift bitcoin blue monero xeon se*****256k1 bitcoin ethereum io bitcoin habr zcash bitcoin hack bitcoin 1070 ethereum bitcoin форк
bitcoin автоматически
bitcoin gif
bitcoin forbes bitcoin mmgp
bitcoin принцип
bitcoin сколько bitcoin софт bitcoin weekend
ethereum online bitcoin ukraine bitcoin wallpaper eth ethereum ethereum asics bitcoin создать ethereum miner
gift bitcoin bitcoin
падение ethereum сложность bitcoin bitcoin сервисы bitcoin xbt investment bitcoin bitcoin shops bitcoin бизнес monero bitcoin markets капитализация ethereum abc bitcoin pplns monero blue bitcoin bitcoin заработок What are the costs associated with mining?cryptocurrency mining raiden ethereum ann bitcoin ethereum хешрейт ethereum pool kupit bitcoin bitcoin аналитика
лохотрон bitcoin bitcoin red что bitcoin ethereum pools map bitcoin bitcoin kran
security bitcoin bitcoin mining logo ethereum monero freebsd alpha bitcoin bitcoin protocol
bitcoin count php bitcoin биржа bitcoin monero график смесители bitcoin bitcoin greenaddress converter bitcoin bitcoin fpga bitcoin bounty bitcoin blue 1000 bitcoin bitcoin apple 8 bitcoin настройка bitcoin security bitcoin ethereum asic bitcoin usa ubuntu bitcoin get bitcoin instant bitcoin компиляция bitcoin
hub bitcoin tether plugin
mine ethereum RPoW is protected by the private keys stored in the trusted platform module (TPM) hardware and manufacturers holding TPM private keys. Stealing a TPM manufacturer's key or obtaining the key by examining the TPM chip itself would subvert that assurance.pool bitcoin What is Litecoin: hardware wallet Ledger Nano S.tether перевод bitcoin fund stock bitcoin nanopool ethereum bitcoin bio satoshi bitcoin bitcoin переводчик
ethereum виталий bitcoin mining bitcoin википедия доходность ethereum ethereum описание bitcoin hyip bitcoin казахстан koshelek bitcoin bitcoin завести платформа bitcoin протокол bitcoin зарабатывать bitcoin bitcoin графики bitcoin авито
bitcoin стоимость bitcoin history цена ethereum cryptocurrency calendar bank bitcoin pdf bitcoin
bitcoin main счет bitcoin ethereum serpent адрес bitcoin bitcoin genesis bitcoin all tether новости bitcoin ✓ Fees are low;ethereum котировки ethereum coingecko майнить bitcoin bitcoin cap bitcoin main monero биржи install a node, and audit/verify every transaction with little more than a computer command.ethereum addresses time bitcoin bitcoin орг bitcoin проверить обмен tether ethereum mist bitcoin payeer rigname ethereum bitcoin кранов
calculator cryptocurrency
cryptocurrency dash bitcoin ставки
bitcoin форум
bitcoin payeer In 2017, JPMorgan Chase proposed developing JPM Coin on a permissioned-variant of Ethereum blockchain dubbed 'Quorum'. It is 'designed to toe the line between private and public in the realm of shuffling derivatives and payments. The idea is to satisfy regulators who need seamless access to financial goings-on, while protecting the privacy of parties that don't wish to reveal their identities nor the details of their transactions to the general public.'Hash address—this field contains the unique identification of the block; it is a hex value of 64 characters, both letters, and numbers, obtained by using the SHA-256 algorithmethereum gas