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”.
Electrum: Best Hot Wallet for Advanced Usersbitcoin продать tether gps The transaction fees in Bitcoin are entirely optional. You can pay the miner more money to have him pay special attention to your transaction; however, the transaction will go through even if you don’t pay a fee. On the other hand, you must provide some amount of ether for your transaction to be successful on Ethereum. The ether you offer will get converted into a unit called gas. This gas drives the computation that allows your transaction to be added to the blockchain.ethereum прогноз bitcoin c
bitcoin рубли
alipay bitcoin High Leverage: Many forex brokers offer leverage for bitcoin trades. Experienced traders can use this to their benefit. However, such high margins should also be approached with great caution as they magnify the potential for losses.bitcoin suisse satoshi bitcoin 4000 bitcoin buying bitcoin ethereum php карты bitcoin
hit bitcoin abi ethereum bitcoin rotator poker bitcoin bitcoin тинькофф bitcoin golang сокращение bitcoin autobot bitcoin 1 ethereum мастернода ethereum bitcoin legal ethereum api bitcoin заработок создатель ethereum script bitcoin project ethereum
bitcoin work bitcoin софт
bitcoin goldman
half bitcoin dwarfpool monero Choose your walletbitcoin node bitcoin png bitcoin paper daily bitcoin wallets cryptocurrency ethereum *****u bitcoin metal buy ethereum bitcoin обменники bitcoin books bitcoin регистрация forex bitcoin production cryptocurrency ethereum txid metal bitcoin email bitcoin dat bitcoin ethereum кошельки ethereum телеграмм topfan bitcoin cryptocurrency forum 22 bitcoin tether верификация bitcoin андроид bitcoin информация usb tether bitcoin life
wikipedia cryptocurrency стоимость bitcoin minergate ethereum homestead ethereum bitcoin x2 bitcoin options seed bitcoin расчет bitcoin bitcoin apk bitcoin акции bitcoin nachrichten что bitcoin bitcoin easy server bitcoin лотерея bitcoin курс bitcoin cryptonight monero boxbit bitcoin bitcoin sha256 ethereum динамика bitcoin депозит bitcoin cms bitcoin миллионеры ethereum настройка bitcoin eobot ethereum pools
логотип bitcoin bitcoin token search bitcoin пул monero bitcoin xl Bitcoin logoEnter the Information Age and a new economic order unleashed by computer science andкошель bitcoin joker bitcoin
mail bitcoin bitcoin converter настройка monero фьючерсы bitcoin ethereum coingecko bitcointalk ethereum bitcoin приложение waves cryptocurrency ethereum 1070 json bitcoin wm bitcoin new bitcoin bitcoin проект магазин bitcoin server bitcoin bubble bitcoin bitcoin проблемы bitcoin json If a miner solves and proposes an invalid block, specifically one that either includes invalid transactions or an invalid coinbase reward, the rest of the network will reject it as invalid. Separately, if a miner builds off a version of history that does not represent the longest chain with the greatest proof of work, any proposed block would also be considered invalid. Essentially, as soon as a miner sees a new valid block proposed in the network, it must immediately begin to work on top of that block or risk falling behind and performing invalid work at a sunk cost. As a consequence, in either scenario, if a miner were to produce invalid work, it would incur real cost but would be compensated nothing in return.conference bitcoin монета ethereum bitcoin торговля bitcoin kraken
bitcoin ютуб стоимость monero bitcoin окупаемость monero hardware
bitcoin список bitcoin eobot bitcoin инструкция main bitcoin bitcoin бонусы win bitcoin bitcoin bloomberg
bitcoin блок ethereum classic bitcoin обменять mine monero monero gpu usa bitcoin алгоритм bitcoin bitcoin вклады bitcoin land txid ethereum
space bitcoin ethereum купить bitcoin dynamics You’re choosing your own project, so you have more at stake.reddit ethereum bitcoin lucky
bitcoin nodes bitcoin сколько bitcoin терминалы dat bitcoin bitcoin future
bitcoin hd book bitcoin bitcoin форум
reindex bitcoin byzantium ethereum best bitcoin cryptocurrency calendar tracker bitcoin
bitcoin atm динамика ethereum bitcoin reserve play bitcoin bitcoin youtube bitcoin main bitcoin darkcoin bitcoin ann
vip bitcoin добыча bitcoin
bitcoin qiwi bitcoin пожертвование ферма bitcoin monero ann bitcoin etf bitcoin анимация bitcoin slots pokerstars bitcoin bitcoin transaction 100 bitcoin litecoin bitcoin wallpaper bitcoin ethereum markets
bitcoin course bag bitcoin bitcoin payeer bitcoin mac bitcoin проблемы 60 bitcoin chaindata ethereum пополнить bitcoin electrodynamic tether vps bitcoin bitcoin сервера bitcoin обменник bitcoin 3 bubble bitcoin tether android dark bitcoin ethereum decred
kaspersky bitcoin bitcoin paypal monero кран
monero node
депозит bitcoin bitcoin location развод bitcoin
swarm ethereum bitcoin virus nvidia monero ethereum os bitmakler ethereum
криптовалюта tether bitcoin blockchain
bitcoin chain
миксер bitcoin кошельки bitcoin bitcoin alliance
bitcoin компания bitcoin change ethereum casper дешевеет bitcoin bitcoin code
взломать bitcoin bitcoin транзакция playstation bitcoin курса ethereum se*****256k1 ethereum gek monero monero calc bitcoin icons
приложение bitcoin скрипты bitcoin
ethereum bitcoin bitcoin автоматом bitcoin бесплатно депозит bitcoin bitcoin club работа bitcoin обсуждение bitcoin зарегистрировать bitcoin bitcoin vector dwarfpool monero bitcoin generation bitcoin клиент
сборщик bitcoin zcash bitcoin bitcoin деньги bitcoin registration
life bitcoin tether верификация local ethereum bitcoin описание big bitcoin ethereum homestead ethereum кошелька bitcoin knots покер bitcoin куплю ethereum bitcoin япония linux ethereum bitcoin darkcoin bitcoin часы bitcoin гарант вики bitcoin курсы bitcoin bitcoin investing talk bitcoin monero *****uminer обменник bitcoin polkadot блог ethereum browser bitcoin official bitcoin покер
nodes bitcoin bitcoin мошенничество
bitcoin poloniex bitcoin traffic
bitcoin блоки
bitcoin растет lootool bitcoin bitcoin money fake bitcoin bitcoin машины купить ethereum ethereum прогнозы
monero coin bitcoin теханализ bitcoin air earn bitcoin ethereum casino minergate ethereum вики bitcoin who wants to make the recipient believe he paid him for a while, then switch it to pay back toпрограмма ethereum bitcoin legal bitcoin kurs
рулетка bitcoin играть bitcoin
monero сложность bitcoin neteller bitcoin investment 10000 bitcoin future bitcoin credit bitcoin bitcoin forbes ethereum видеокарты bitcoin stealer invest bitcoin
bitcoin video monero pro bitcoin коллектор difficulty bitcoin bitcoin auto daemon monero
сервер bitcoin bitcoin desk hack bitcoin bitcoin обозначение bitcoin widget bitcoin forums bitcoin status cryptocurrency news rus bitcoin decred ethereum bitcoin комбайн bitcoin скачать bitcoin программирование что bitcoin
p2p bitcoin bitcoin com world bitcoin
mt5 bitcoin bitcointalk ethereum bitcoin background bitcoin magazin bitcoin accelerator claymore monero monero майнить monero client bitcoin fpga что bitcoin monero github продам ethereum payable ethereum mindgate bitcoin bitcoin получение
sell ethereum bitcoin kazanma форк bitcoin
top cryptocurrency coin bitcoin bitcoin картинка blockchain ethereum bitcoin security адрес ethereum bitcoin сети
подтверждение bitcoin script bitcoin bitcoin drip статистика bitcoin ethereum покупка buy ethereum
bitcoin pro tether clockworkmod monero ann direct bitcoin криптовалюта ethereum bitcoin fake bitcoin сатоши monero usd удвоить bitcoin и bitcoin bitcoin покупка пополнить bitcoin ethereum сегодня bitcoin purchase parity ethereum bitcoin проблемы
ethereum stratum mine ethereum ethereum сбербанк bitcoin etf биржа monero safe bitcoin day bitcoin chaindata ethereum short bitcoin bitcoin ukraine blocks bitcoin ethereum miners bitcoin service bitcoin vip
bitcoin удвоить tether комиссии ethereum прогноз bitcoin virus основатель bitcoin cryptocurrency news
Best Bitcoin mining hardware: Your top choices for choosing the best Bitcoin mining hardware for building the ultimate Bitcoin mining machine.bitcoin euro hashrate bitcoin drip bitcoin bitcoin bounty bitcoin карта обмен tether usb tether bitcoin кэш bitcoin rub
bitcoin фирмы information bitcoin bitcoin переводчик ethereum токен electrum ethereum ethereum block
bitcoin луна технология bitcoin
buy ethereum
bitcoin миксеры bitcoin принцип bitcoin blockchain matteo monero bitcointalk monero dogecoin bitcoin micro bitcoin cryptocurrency это cryptocurrency prices ethereum gas 15 bitcoin надежность bitcoin андроид bitcoin video bitcoin bitcoin film tether download перспективы ethereum обменник tether hacking bitcoin bitcoin сервисы tether верификация bitcoin регистрация bitcoin биткоин фото bitcoin nicehash ethereum bitcoin hesaplama bitcoin token криптовалют ethereum ethereum calc cryptocurrency chart Now, as we’re all newbies here. Here’s the blockchain for dummies:bitcoin click займ bitcoin takara bitcoin abi ethereum ethereum news cryptocurrency forum bitcoin прогнозы bitcoin зарегистрироваться конференция bitcoin bitcoin currency bitcoin explorer king bitcoin
bitcoin вход status bitcoin bitcoin puzzle bitcoin skrill bitcoin bitrix bitcoin зарегистрироваться forbot bitcoin ферма bitcoin
kupit bitcoin flypool ethereum monero xeon bitcoin андроид wikileaks bitcoin monero difficulty bitcoin терминал
bitcoin investing account bitcoin bitcoin стоимость reddit bitcoin bitcoin ads bitcoin cms box bitcoin
home bitcoin работа bitcoin bitcoin зебра конференция bitcoin ethereum pos r bitcoin
decred cryptocurrency cryptocurrency ethereum bitcoin hash bitmakler ethereum