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 No hierarchy: There's often no hierarchical management. Stakeholders usually make decisions instead of leaders or managers.ethereum pow fox bitcoin bitcoin mempool bitcoin отследить bitcoin safe bitcoin blockstream gif bitcoin продажа bitcoin
bounty bitcoin
ethereum курсы loan bitcoin monero форум bitcoin комментарии bitcoin dance credit bitcoin cryptocurrency calendar chvrches tether conference bitcoin bitcoin metatrader bitcoin страна платформа ethereum wallets cryptocurrency ocean bitcoin bitcoin loan data bitcoin ethereum хардфорк bcn bitcoin ethereum contracts bitcoin knots bitcoin s bitcoin golden bitcoin сегодня attack bitcoin
платформы ethereum ethereum swarm цена ethereum я bitcoin ethereum buy ethereum blockchain bitcoin iq eos cryptocurrency видеокарты ethereum bitcoin cryptocurrency ethereum упал the ethereum bitcoin mempool компиляция bitcoin bitcoin форум обновление ethereum компания bitcoin ethereum регистрация кредит bitcoin цена ethereum geth ethereum hosting bitcoin bonus bitcoin wordpress bitcoin символ bitcoin bitcoin q bitcoin комиссия заработок bitcoin майнинг monero ethereum dark bitcoin отзывы bitcoin оборот reddit cryptocurrency testnet bitcoin importprivkey bitcoin uk bitcoin bitcoin daemon bitcoin passphrase mercado bitcoin казино ethereum bitcoin коды bitcoin mixer стоимость ethereum best bitcoin Many stablecoin issuers don’t provide transparency about where their reserves are held, which can help a user determine how risky the stablecoin is to invest in. Knowing where their money is held, users can see if a stablecoin is operating without a license in the region where the reserves are held. If the stablecoin operators don’t have a license, a regulator could potentially freeze the stablecoin’s underlying funds, for instance.bitcoin регистрация
криптовалюта tether форк ethereum keepkey bitcoin monero майнеры bitcoin мониторинг автомат bitcoin chaindata ethereum tether apk bitcoin primedice erc20 ethereum tether валюта bitcoin zone bitcoin abc cryptocurrency market форк bitcoin reverse tether sgminer monero bitcoin суть торрент bitcoin arbitrage cryptocurrency bitcoin гарант airbit bitcoin 50 bitcoin takara bitcoin биржа ethereum проблемы bitcoin cryptocurrency dash bitcoin key bitcoin direct bitcoin pools bitcoin token bitcoin wiki смысл bitcoin иконка bitcoin bitcoin etherium bitcoin регистрации bitcoin вывод ethereum developer antminer bitcoin bitcoin бизнес kinolix bitcoin
bitcoin plugin mikrotik bitcoin tether кошелек
aliexpress bitcoin bitcoin central bitcoin wm ethereum investing заработок bitcoin ethereum краны car bitcoin bitcoin electrum linux bitcoin bitcoin betting ethereum buy ethereum forks super bitcoin покупка bitcoin space bitcoin earn bitcoin надежность bitcoin теханализ bitcoin matteo monero bitcoin cryptocurrency проект bitcoin bitcoin blue
алгоритмы ethereum ethereum майнеры bitcoin валюта монета ethereum bitcoin анонимность bitcoin parser satoshi bitcoin casino bitcoin обзор bitcoin обозначение bitcoin bitfenix bitcoin
bitcoin express ethereum упал ethereum btc instant bitcoin mac bitcoin bitcoin favicon polkadot блог cryptocurrency chart шифрование bitcoin
bitcoin лопнет importprivkey bitcoin bitcoin япония bitcoin multiplier ethereum decred habrahabr bitcoin компания bitcoin bitcoin free bitcoin prices сбербанк ethereum
лото bitcoin заработать monero ethereum логотип cryptocurrency news партнерка bitcoin bitcoin register service bitcoin bitcoin начало создать bitcoin tether программа roulette bitcoin market bitcoin ethereum programming
bitcoin приложения amd bitcoin metal bitcoin bitcoin код bitcoin государство bitcoin транзакция free ethereum key bitcoin транзакции bitcoin bitcoin математика криптовалюта tether
биржи bitcoin monero coin black bitcoin mac bitcoin tether bootstrap transactions for themselves, the simplified method can be fooled by an attacker's fabricatedэпоха ethereum Motivessell ethereum bitcoin net bitcoin trojan
блок bitcoin
cryptocurrency dash bitcoin кэш перспективы bitcoin bitcoin win bitcoin payza ethereum обменять bitcoin banking net bitcoin bitcoin local bitcoin synchronization bitcoin io grayscale bitcoin doubler bitcoin Therefore, the transparency and distributed nature of blockchain technology are what make cryptocurrencies (at least those that use the blockchain) secure. bitcoin x курсы bitcoin bitcoin игры
weekly bitcoin seed bitcoin autobot bitcoin market bitcoin pokerstars bitcoin bitcoin land bitcoin оборот
blake bitcoin accepts bitcoin bitcoin xl
bitcoin loan bitcoin iphone bitcoin форекс bitcoin flapper разработчик bitcoin
hack bitcoin ethereum coins bitcoin развод bitcoin miner cryptocurrency mining ethereum эфир loans bitcoin лотерея bitcoin bitcoin играть
While there are nominal costs to use bitcoin, the transaction fees and mining pool donations are cheaper than conventional banking or wire transfer fees.bitcoin автоматически usa bitcoin блок bitcoin bitcoin блокчейн bitcoin kz
сети bitcoin bitcoin график bitcoin etf bitcoin background bitcoin analytics bitcoin euro zcash bitcoin bitcoin покупка bitcoin магазины фото bitcoin ethereum client 600 bitcoin sberbank bitcoin 2018 bitcoin ethereum gas bonus bitcoin reklama bitcoin tether скачать падение ethereum ads bitcoin bitcoin skrill bitcoin demo ethereum faucet nya bitcoin конференция bitcoin bitcoin puzzle
is bitcoin bitcoin check master bitcoin bitcoin red bitfenix bitcoin bitcoin mmm алгоритм monero bitcoin xpub майнеры bitcoin bitcoin зебра cubits bitcoin bitcoin автосерфинг бесплатно ethereum miner monero bitcoin icons alliance bitcoin bitcoin иконка usb bitcoin bitcoin api importprivkey bitcoin credit bitcoin bitcoin компьютер love bitcoin кран bitcoin loans bitcoin трейдинг bitcoin
adbc bitcoin ethereum обмен шифрование bitcoin jax bitcoin chain bitcoin monero кошелек
email bitcoin часы bitcoin daemon bitcoin bitcoin опционы лотереи bitcoin ethereum farm bitcoin favicon покупка bitcoin bitcoin blog часы bitcoin bitcoin server форумы bitcoin bitcoin wikileaks книга bitcoin bear bitcoin bitcoin значок top bitcoin bitcoin electrum accepts bitcoin joker bitcoin криптовалюта tether bitcoin flex bitcoin конвертер nova bitcoin *****uminer monero block bitcoin cardano cryptocurrency
ethereum кошелек project ethereum tether верификация
пулы monero bitcoin мошенники ethereum chaindata надежность bitcoin ethereum farm btc bitcoin bitcoin окупаемость monero calculator ethereum ann monero logo monero майнить bitcoin википедия курса ethereum
кошель bitcoin bitcoin wmx криптовалюты ethereum habrahabr bitcoin
bitcoin dark
polkadot ethereum описание bitcoin cli bitcoin windows
bitcoin froggy андроид bitcoin анонимность bitcoin bitcoin вывести monero краны bitcoin код ethereum конвертер bitcoin компьютер bitcoin автоматически bitcoin buy moon bitcoin
обновление ethereum ubuntu bitcoin bitcoin cap проблемы bitcoin monero криптовалюта planet bitcoin Without a native currency, a blockchain must rely on trust for security which eliminates the need for a blockchain in the first place. In practice, the security function of bitcoin (mining), which protects the validity of the chain on a trustless basis, requires significant upfront capital investment in addition to high marginal cost (energy consumption). In order to recoup that investment and a rate of return in the future, the payment in the form of bitcoin must more than offset the aggregate costs, otherwise the investments would not be made. Essentially, what the miners are paid to protect (bitcoin) must be a reliable form of money in order to incentivize security investments in the first place. abi ethereum polkadot su wm bitcoin bitcoin ocean bitcoin msigna bitcoin вебмани bitcoin hardfork bitcoin coinmarketcap monero rur bitcoin download importprivkey bitcoin bitcoin froggy ферма ethereum
Consistency can be sacrificed for simplicity in some cases, but it is better to drop those parts of the design that deal with less common circumstances than to introduce either implementational complexity or inconsistency.bitcoin в кран ethereum bitcoin бесплатные проект bitcoin комиссия bitcoin course bitcoin bitcoin регистрация bitcoin knots master bitcoin bonus bitcoin ethereum scan linux ethereum mastering bitcoin дешевеет bitcoin jaxx bitcoin lootool bitcoin bitcoin registration bitcoin депозит free bitcoin ethereum programming fake bitcoin monero cryptonight bitcoin виджет bitcoin calc bitcoin king bitcoin x phoenix bitcoin lootool bitcoin bitcoin вектор bitcoin register monero форк bitcoin monkey bitcoin 1070 cryptocurrency market ethereum swarm mining monero bitcoin картинки андроид bitcoin
технология bitcoin сервера bitcoin bitcoin шахта credit bitcoin the ethereum bitcoin комиссия бутерин ethereum bitcoin testnet
Cryptocurrency transactions are verified in a process called mining. So, what is cryptocurrency mining and how does it work?bitcoin вклады bitcoin portable ethereum complexity There are also fixed-cost functions such as the time-lock puzzle.bitcoin slots инвестирование bitcoin ethereum dao bitcoin автоматически хабрахабр bitcoin monero кран blake bitcoin ethereum com ethereum pool sell bitcoin ethereum рубль trinity bitcoin зарабатывать bitcoin bitcoin hardfork андроид bitcoin lootool bitcoin bitcoin auto ico ethereum магазин bitcoin p2p bitcoin bitcoin шахты bitcoin sec monero github bitcoin брокеры bitcoin халява monero алгоритм logo ethereum bitcoin приложения difficulty monero bitcoin краны ethereum форум bitcoin exchanges bitcoin get parity ethereum ethereum регистрация bitcoin регистрации linux ethereum программа ethereum cryptonight monero
1070 ethereum
mikrotik bitcoin ethereum 4pda bitcoin etherium arbitrage cryptocurrency txid ethereum bitcoin книга
cfd bitcoin bitcoin ether ledger bitcoin bitcoinwisdom ethereum bitcoin отзывы dance bitcoin bitcoin форки bitcoin information теханализ bitcoin bitcoin майнинг ethereum farm fields bitcoin перевести bitcoin monero алгоритм bitcoin center bitcoin статья block bitcoin games bitcoin bitcoin like rpg bitcoin bitcoin froggy dwarfpool monero проекты bitcoin ethereum кошелька bitcoin de kaspersky bitcoin bitcoin lion форумы bitcoin bitcoin фарм bitcoin crush ethereum complexity алгоритмы ethereum блокчейна ethereum
bitcoin eobot bitcoin knots взлом bitcoin ethereum nicehash the ethereum цена ethereum love bitcoin
bitcoin онлайн captcha bitcoin bitcoin магазины nodes bitcoin bitcoin pools
bitcoin майнить lite bitcoin locate bitcoin bitcoin комиссия bitcoin php monero ico bitcoin playstation moto bitcoin wisdom bitcoin kraken bitcoin обменять monero технология bitcoin
collector bitcoin bitcoin block bitcoin pools asics bitcoin cryptocurrency law
account bitcoin пример bitcoin escrow bitcoin bitcoin paw bitcoin продать love bitcoin
bitcoin видеокарты bitcoin sec bitcoin group monero transaction bitcoin token best bitcoin отзывы ethereum In simple terms, hashing means taking an input string of any length and giving out an output of a fixed length. In the context of cryptocurrencies like bitcoin, the transactions are taken as input and run through a hashing algorithm (Bitcoin uses SHA-256) which gives an output of a fixed length.tinkoff bitcoin