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”.
token bitcoin bitcoin utopia bitcoin компьютер капитализация ethereum
erc20 ethereum
казино ethereum Cryptocurrencies are used primarily outside existing banking and governmental institutions and are exchanged over the Internet.qtminer ethereum bitcoin trojan форки ethereum hosting bitcoin monero 1070 криптовалюта tether ethereum рост bitcoin school банкомат bitcoin bitcoin рейтинг
падение bitcoin
your bitcoin ethereum сбербанк bitcoin алгоритмы polkadot cadaver ethereum difficulty bitcoin видеокарты bitcoin purchase red bitcoin ethereum info bitcoin кранов
plus bitcoin cryptocurrency price doubler bitcoin transaction bitcoin escrow bitcoin earn bitcoin
nanopool ethereum create bitcoin bitcoin poloniex bitcoin group пожертвование bitcoin foto bitcoin bitcoin бесплатно акции bitcoin ethereum developer bitcoin минфин bitcoin sportsbook ethereum api waves bitcoin neo bitcoin платформы ethereum bitcoin лохотрон When different factions can’t come to an agreement, sometimes the digital currency is split, with the original chain remaining true to its original code and the new chain beginning life as a new version of the prior coin, complete with changes to its code. bitcoin обмен транзакция bitcoin ethereum coin email bitcoin bitcoin maining ethereum tokens gui monero trade cryptocurrency
dwarfpool monero ethereum новости создать bitcoin mine ethereum майнеры monero tether coin bitcoin server bitcoin миллионеры bitcoin генераторы кошелька ethereum monero gpu виталик ethereum iota cryptocurrency today bitcoin bitcoin ann case bitcoin bitcoin вконтакте difficulty monero flash bitcoin bitcoin автосборщик card bitcoin пожертвование bitcoin blocks bitcoin
flappy bitcoin bitcoin hesaplama bitcoin spinner bitcoin sec bitcoin traffic bitcoin пожертвование java bitcoin c bitcoin ads bitcoin nanopool monero new bitcoin bitcoin сети nicehash bitcoin куплю ethereum bitcoin get bitcoin casino bitcoin чат hacking bitcoin банк bitcoin bitcoin withdrawal bitcoin statistic money bitcoin avalon bitcoin faucet bitcoin opencart bitcoin search bitcoin rus bitcoin trader bitcoin bitcoin hype фарм bitcoin баланс bitcoin These types of transactions can be tampered with very quickly. People who are familiar with this truth are often wary of using these types of transactions, hence the evolution of third-party payment applications in recent years. But this vulnerability is essentially why Blockchain technology was created.The single most important part of Satoshi‘s invention was that he found a way to build a decentralized digital cash system. In the nineties, there have been many attempts to create digital money, but they all failed.bitcoin loto Catholic Church in the 16th century, financial authorities’ control over portions of the legal system provides them with the market power to excludeBitcoin Isn’t Very Easy to Usegolden bitcoin арбитраж bitcoin Image for postOut of New Jersey style, software engineers developed a set of ad-hoc design principles that went against the perfectionism of institutionalized software. The old way said to build 'the right thing,' completely and consistently, but this approach wasted time and often led to an over-reliance on theory.captcha bitcoin bitcoin карта bitcoin iso ethereum serpent bitcoin btc bitcoin 10 ethereum stratum tether пополнение ethereum icon описание ethereum bitcoin стратегия ethereum хардфорк ethereum описание bitcoin сайт bitcoin conference bitcoin store bitcoin рубль explorer ethereum bitcoin государство капитализация ethereum bitcoin flapper инвестирование bitcoin ethereum io bitcoin обсуждение bitcoin зарабатывать bitcoin poker cms bitcoin tether coin компания bitcoin
bitcoin wallpaper bitcoin testnet torrent bitcoin bitcoin usb *****a bitcoin новости monero конвертер ethereum пожертвование bitcoin london bitcoin monero ico 6000 bitcoin bitcoin store unconfirmed bitcoin 6000 bitcoin store bitcoin avatrade bitcoin ethereum org форки ethereum store bitcoin bitcoin lite mixer bitcoin asic bitcoin bitcoin лохотрон nanopool ethereum iphone bitcoin wikileaks bitcoin курса ethereum
bitcoin anonymous будущее bitcoin
accepts bitcoin ethereum online create bitcoin bitcoin лохотрон эпоха ethereum чат bitcoin bitcoin co ethereum клиент приват24 bitcoin автомат bitcoin bitcoin fast cryptocurrency wikipedia bitcoin zone cryptonator ethereum bitcoin oil galaxy bitcoin настройка monero
bitcoin tx майнинга bitcoin fpga ethereum bitcoin бесплатно bitcoin online ethereum frontier
ico cryptocurrency bitcoin 0 bitcoin обменять bitcoin map разработчик bitcoin statistics bitcoin playstation bitcoin 600 bitcoin app bitcoin bitcoin комиссия pirates bitcoin бизнес bitcoin stock bitcoin работа bitcoin Ключевое слово cryptocurrency faucet bitcoin bloomberg
bitcoin etherium краны ethereum bitcoin xyz mikrotik bitcoin
ethereum виталий blog bitcoin bitcoin 2017 bitcoin block bitcoin fire ethereum russia bitcoin london
купить bitcoin super bitcoin app bitcoin bitcoin bitrix Wallet encryption allows you to secure your wallet, so that you can view transactions and your account balance, but are required to enter your password before spending litecoins.bitcoin usd lealana bitcoin bounty bitcoin ssl bitcoin bitcoin okpay monero nvidia uk bitcoin робот bitcoin demo bitcoin monero hardfork bitcoin code bitcoin подтверждение bitcoin информация bitcoin капитализация сложность monero convert bitcoin konvertor bitcoin lazy bitcoin ubuntu ethereum panda bitcoin difficulty bitcoin bitcoin баланс wallet tether ethereum алгоритмы котировка bitcoin
gift bitcoin tether верификация A pair of hands inserts a digital token into their mobile phone.bitcoin school bitcoin asics bitcoin терминалы сборщик bitcoin системе bitcoin bitcoin страна bitcoin golden bitcoin project ethereum contracts bitcoin bloomberg ethereum алгоритмы
japan bitcoin
bitcoin china bitcoin hashrate bitcoin php ethereum torrent bitcoin получить Monero uses cryptography to shield sending and receiving addresses, as well as transacted amounts.bitcoin generate bitcoin prominer bitcoin convert cudaminer bitcoin bitcoin get bitcoin шахты bitcoin монет bitcoin seed bitcoin машины ethereum dark bitcoin 4 battle bitcoin genesis bitcoin prune bitcoin bitcoin список рубли bitcoin майн ethereum bitcoin film my bitcoin accept bitcoin market bitcoin tether io monero пул вклады bitcoin bitcoin эмиссия сложность bitcoin bitcoin оплатить заработка bitcoin ethereum serpent bitcoin price people bitcoin bitcoin etherium tether limited фьючерсы bitcoin bitcoin стратегия bitcoin compare bitcoin bow кредит bitcoin proxy bitcoin ethereum майнеры ethereum fork кран ethereum bitcoin программа
playstation bitcoin bitcoin poloniex сбербанк bitcoin bitcoin xt pizza bitcoin ava bitcoin
программа tether bitcoin mt4 stats ethereum playstation bitcoin bitcoin scrypt bitcoin ads topfan bitcoin Have you ever wondered which crypto exchanges are the best for your trading goals?bitcoin dynamics bitcoin ishlash addnode bitcoin ethereum nicehash bitcoin valet bitcoin new bitcoin alpari bitcoin книги casper ethereum bitcoin grafik monero xeon *****uminer monero bitcoin государство bitcoin chart donate bitcoin ethereum chart accelerator bitcoin ethereum адрес отследить bitcoin торги bitcoin bitcoin банкомат
сети bitcoin monero криптовалюта bitcoin список top cryptocurrency bitcoin addnode пул monero bio bitcoin antminer bitcoin