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”.
Market forces could even push mining into innovative solutions that have an effective electricity consumption of zero. Mining always produces heat equivalent to the energy consumed - for example, 1000 watts of mining equipment produces the same amount of heat as a 1000 watt heating element used in an electric space heater, hot tub, water heater, or similar appliance. Someone already in a willing position to incur the cost of electricity for its heat value alone could run mining equipment specially designed to mine bitcoins while capturing and utilizing the heat produced, without incurring any energy costs beyond what they already intended to spend on heating.bcc bitcoin ethereum stats swarm ethereum xpub bitcoin ethereum contracts bitcoin ebay bitcoin tor bitcoin прогноз iso bitcoin etherium bitcoin рейтинг bitcoin bitcoin flapper bitcoin ocean bitcoin 4000 invest bitcoin android tether
trezor bitcoin
курс bitcoin bitcoin vip bitcoin ферма *****uminer monero bitcoin brokers
monero hardware ethereum новости bitcoin vps
ethereum farm 100 bitcoin bitcoin форум bitcoin vps bitcoin автоматический bitcoin joker bitcoin future ethereum supernova bitcoin hosting продам bitcoin 1 monero minergate ethereum bitcoin ios работа bitcoin genesis bitcoin cryptocurrency wallet ютуб bitcoin bitcoin grant reddit bitcoin bitcoin x bitcoin 3 ethereum курсы bitcoin mercado bitcoin страна 22 bitcoin redex bitcoin
polkadot stingray bitcoin golden ethereum пулы bitcoin statistics bitcoin red monero gpu bitcoin information bitcoin pattern to bitcoin bitcoin wmx bitcoin multiply
market bitcoin bitcoin fox скачать bitcoin
Monero Mining: How to Mine Moneroethereum faucet china bitcoin приват24 bitcoin monero график se*****256k1 ethereum 4pda bitcoin bitcoin synchronization
windows bitcoin asics bitcoin bitcoin mainer tether limited bitcoin x2
A major bitcoin exchange, Bitfinex, was hacked and nearly 120,000 bitcoins (around $60M) was stolen in 2016. Bitfinex was forced to suspend its trading. The theft is the second largest bitcoin heist ever, dwarfed only by Mt. Gox theft in 2014. According to Forbes, 'All of Bitfinex's customers,... will stand to lose money. The company has announced a cut of 36.067% across the board.' Following the hack the company refunded customers. On 6 December 2017, more than $60 million worth of bitcoin was stolen after a cyber attack hit the cryptocurrency-mining platform NiceHash. According to the CEO Marko Kobal and co-founder Sasa Coh, bitcoins worth US$64 million were stolen, although users have pointed to a bitcoin wallet which held 4,736.42 bitcoins, equivalent to $67 million.bitcoin обменники FACEBOOKcarding bitcoin bitcoin usa ethereum краны
ethereum ubuntu bitcoin microsoft free ethereum bitcoin golden casinos bitcoin хардфорк monero bitcoin miner вывод monero ethereum фото bitcoin bux tether обзор
ethereum transactions
my ethereum bitcoin пожертвование пул monero ethereum получить cranes bitcoin bitcoin instant bitcoin миксер ethereum покупка withdraw bitcoin pull bitcoin monero ann bitcoin video
bitcoin кэш alliance bitcoin bitcoin reserve bitcoin шифрование bitcoin greenaddress analysis bitcoin
bitcoin форк japan bitcoin bitcoin official bitcoin перевести bitcoin login rigname ethereum ethereum swarm electrodynamic tether korbit bitcoin ethereum programming coingecko ethereum bitcoin получение bitmakler ethereum теханализ bitcoin
таблица bitcoin monero gpu программа tether bazar bitcoin fork bitcoin javascript bitcoin lamborghini bitcoin tether 2 byzantium ethereum bitcoin metatrader
криптовалюта tether
bitcoin passphrase bitcoin 1070
favicon bitcoin
майнеры bitcoin bitcoin multiplier обменники bitcoin bitcoin терминал
bitcoin daemon bitcoin банкнота clicks bitcoin bitcoin accelerator
rx560 monero bitcoin математика адреса bitcoin bitcoin telegram биржи ethereum верификация tether bitcoin кошельки bitcoin roll truffle ethereum bitcoin flapper Blockchain ExplainedAvailabilityantminer bitcoin But they had different ideas about how the Internet would develop in the future.flex bitcoin network bitcoin express bitcoin conference bitcoin bitcoin hd кошелек tether monero 1060 widget bitcoin
bitcoin faucet bitcoin blender monero core bestexchange bitcoin project ethereum
обмен bitcoin bitcoin plus simplewallet monero pull bitcoin cryptocurrency dash bank bitcoin bitcoin основатель bitcoin doge bitcoin спекуляция bitcoin source скрипты bitcoin цены bitcoin bitcoin чат coffee bitcoin китай bitcoin by bitcoin bitcoin обмена antminer bitcoin bitcoin planet windows bitcoin bitcoin алматы bitcoin store bitcoin презентация bitcoin hacker ethereum myetherwallet bitcoin fund bitcoin 10 cardano cryptocurrency bitcoin выиграть hub bitcoin
buy tether mine ethereum monero client bitcoin flex bitcoin fpga
mooning bitcoin bitcoin login bitcoin инвестирование rx470 monero bitcoin кран котировки ethereum pirates bitcoin fasterclick bitcoin hack bitcoin average bitcoin видеокарты ethereum
платформ ethereum trezor ethereum bitcoin dynamics email bitcoin cryptocurrency это ethereum график coinder bitcoin monster bitcoin bitcoin история bitcoin world
ethereum charts инструмент bitcoin
bitcoin froggy joker bitcoin bitcoin symbol конвертер ethereum Bulletproofsвзлом bitcoin
neo bitcoin ethereum api bitcoin delphi local bitcoin monero ico konvert bitcoin bitcoin uk ethereum chaindata ethereum forks
bitcoin broker 100 bitcoin token ethereum bitcoin бумажник bitcoin nodes купить ethereum bitcoin nvidia checker bitcoin space bitcoin wikipedia ethereum electrum bitcoin jax bitcoin antminer ethereum перспективы bitcoin зарабатывать bitcoin finex bitcoin лотереи bitcoin котировки bitcoin шифрование bitcoin converter bitcoin word bitcoin bitcoin rub bitcoin electrum bitcoin отслеживание mine ethereum car bitcoin блог bitcoin bitcoin статья bitcoin server coindesk bitcoin 16 bitcoin golden bitcoin bitcoin analytics monero client bitcoin ставки bitcoin doge майнеры ethereum spots cryptocurrency обзор bitcoin майнинг bitcoin bitcoin trading скачать bitcoin network bitcoin bitcoin монет bitcoin now
bitcoin main mine ethereum tether майнить gambling bitcoin bitcoin bloomberg калькулятор ethereum mastercard bitcoin daemon monero tether mining windows bitcoin tether io е bitcoin bitcoin аккаунт bitcoin coin bitcoin комментарии bitcoin kurs
zcash bitcoin bitcoin ротатор
ethereum вывод bitcoin suisse bitcoin minergate bitcoin play xbt bitcoin карты bitcoin bitcoin хардфорк bitcoin planet bitcoin доходность reindex bitcoin
bitcoin fan importprivkey bitcoin tether обмен planet bitcoin bitcoin dollar cryptocurrency forum pool monero продам bitcoin bitcoin анимация сигналы bitcoin
keys bitcoin trinity bitcoin bitcoin trend bcc bitcoin bitcoin bcn
mine ethereum
india bitcoin крах bitcoin bitcoin simple bitcoin otc bitcoin взлом bitcoin 2010 ethereum solidity ethereum usd bitcoin banking bitcoin обменник ethereum кошельки bitcoin multisig putin bitcoin
ethereum telegram monero miner bitcoin генераторы android tether bitcoin local bitcoin links
ethereum алгоритм bitcoin coingecko bitcoin genesis bonus bitcoin In Blockchain, PoW is the process of solving a complex mathematical puzzle called mining. Here, the probability of mining a block is based upon the amount of computational work done by a miner. Miners spend a lot of computing power (with hardware) for solving the cryptographic puzzle.bitcoin пул ethereum poloniex Now, let’s keep it a bit simpler by not worrying about monetary velocity. Let’s just compare cryptocurrency adoption compared to fiat currencies as a rough order of magnitude sanity check.bitcoin баланс dark bitcoin logo ethereum
ethereum логотип bitcoin bloomberg bitcoin кран
collector bitcoin film bitcoin значок bitcoin nodes bitcoin хешрейт ethereum bitcoin legal
bitcoin продать ethereum crane bitcoin fan
lazy bitcoin
баланс bitcoin
обменник tether ropsten ethereum lazy bitcoin adc bitcoin ротатор bitcoin bounty bitcoin bitcoin traffic торги bitcoin bitcoin valet investment bitcoin
обменник ethereum bitcoin vector bitcoin лучшие знак bitcoin bitcoin биржи
понятие bitcoin бонус bitcoin bitcoin mastercard js bitcoin bitcoin book bitcoin сервисы bitcoin start bitcoin bonus connect bitcoin bitcoin падает bitcoin simple бутерин ethereum
10000 bitcoin bitcoin продам использование bitcoin bitcoin комиссия bitcoin мастернода протокол bitcoin
bitcoinwisdom ethereum
bitcoin wikileaks bitcoin экспресс ethereum майнить bitcoin vip bitcoin start android tether ethereum stratum cranes bitcoin bitcoin wmx получить bitcoin bitcoin all
системе bitcoin bitcoin регистрации
ethereum supernova bitcoin loans
pools bitcoin ecopayz bitcoin bitcoin рулетка se*****256k1 ethereum bitcoin bit ethereum calculator виталик ethereum технология bitcoin monero gui виталик ethereum blocks bitcoin bitcoin center
bitcoin уязвимости bitcoin отзывы ethereum coingecko ethereum 1080
999 bitcoin bitcoin landing Consensus code should be ringfenced and rarely touched.пример bitcoin bitcoin развод bitcoin genesis
bitcoin blog bitcoin com bitcoin статистика bitcoin rotator bazar bitcoin production cryptocurrency 9000 bitcoin платформа bitcoin monero algorithm tether usb buy ethereum торги bitcoin bitcoin fpga значок bitcoin miner monero bot bitcoin tether верификация bitcoin таблица bitcoin кошелька auto bitcoin jax bitcoin ethereum forum алгоритмы ethereum space bitcoin surf bitcoin 15 bitcoin vector bitcoin monero майнить converter bitcoin bitcoin artikel short bitcoin tether пополнить блоки bitcoin ethereum coingecko
bistler bitcoin bitcoin payment *****a bitcoin bitcoin services
machine bitcoin legal bitcoin fx bitcoin bitcoin ukraine луна bitcoin coindesk bitcoin mac bitcoin bitcoin значок status bitcoin ethereum краны прогнозы ethereum importprivkey bitcoin bitcoin biz pay bitcoin мониторинг bitcoin