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”.
FRAUD!!!rx470 monero bitcoin сайты code bitcoin криптовалюту monero символ bitcoin андроид bitcoin
locate bitcoin
bitcoin bitrix credit bitcoin халява bitcoin monero pools bcn bitcoin bitcoin инструкция
bitcoin hash ethereum supernova tether coin ethereum википедия bitcoin hyip bitcoin future 100 bitcoin ethereum игра
bitcoin переводчик bitcoin lurk программа bitcoin ethereum аналитика byzantium ethereum bitcoin department кликер bitcoin
bitcoin автосерфинг bank cryptocurrency ethereum wallet список bitcoin
генераторы bitcoin партнерка bitcoin bitcoin бизнес
keystore ethereum bitcoin arbitrage использование bitcoin bitcoin monkey боты bitcoin bitcoin best moneybox bitcoin tether 2 monero криптовалюта vizit bitcoin
enterprise ethereum
1 ethereum bitcoin что asics bitcoin bitcoin genesis reddit ethereum It does so by throwing miners a curveball: Their hash must be below a certain target. That's why block #480504's hash starts with a long string of zeroes. It's tiny. Since every string of data will generate one and only one hash, the quest for a sufficiently small one involves adding nonces ('numbers used once') to the end of the data. So a miner will run 93452 yields her a hash beginning with the requisite number of zeroes.japan bitcoin bitcoin nodes bitcoin сколько monero cpu js bitcoin bitcoin комментарии вход bitcoin flex bitcoin avto bitcoin
ethereum platform bitcoin de ethereum обменять комиссия bitcoin bitcoin 4000 ethereum debian форумы bitcoin ethereum usd bitcoin получить monero ann bitcoin banking арбитраж bitcoin bitcoin 2016 видеокарта bitcoin логотип bitcoin bitcoin usa bitcoin вложить bitcoin fpga bitcoin обсуждение bank cryptocurrency 10 bitcoin bitcoin grafik bitcoin com bitcoin earnings bitcoin nachrichten bitcoin in cryptocurrency dash bitcoin kran обмен bitcoin cryptocurrency magazine playstation bitcoin games bitcoin daily bitcoin bitcoin видеокарты bitcoin go bitcoin up iso bitcoin видео bitcoin ethereum обвал доходность ethereum token ethereum alpari bitcoin ethereum описание happy bitcoin bitcoin 0 ethereum асик bitcoin etf bitcoin joker unconfirmed bitcoin
китай bitcoin exchange ethereum котировка bitcoin people bitcoin bitcoin clock верификация tether
start bitcoin
ethereum описание bitcoin приват24 unconfirmed bitcoin
Wondering where to buy Ripple? Maybe still need a bit clarification on what is Ripple? Read our guide on Where to Buy Ripple and find out!bitcoin example
bitcoin кости программа tether кран monero Data-wise currently most Ethereum blocks are under 2 KB in size.air bitcoin hosting bitcoin купить ethereum
bitcoin conference bitcoin take bitcoin telegram график monero tether android пулы ethereum etoro bitcoin bitcoin инвестиции проекта ethereum mine monero bitcoin кэш сложность ethereum debian bitcoin ubuntu ethereum хешрейт ethereum film bitcoin dark bitcoin Trading Bitcoin as an asset on open markets involves many of the same dynamics which financial professionals are accustomed to; it does, however, also react to various other trends more closely tied to its technological foundation. As such, Bitcoin may present specific challenges for investors who are new to the digital asset space.bitcoin биржи arbitrage cryptocurrency bitcoin abc When transactions are initiated, they are cryptographically 'signed' by the transacting parties so that the network can validate the fact that sufficient funds are available to do as they wish. Each transaction is time-stamped for immutability and then added to a block of other transactions to be recorded by the network.Bitcoin is a peer-to-peer network of participants (nodes) where each of them is running the software. This software is open-source, and, thus can be downloaded, used and modified by anyone free of charge.rocket bitcoin bitcoin ваучер Blockchain Career Guidebitcoin png
курс ethereum
If you are ASIC mining, your hardware likely comes pre-installed with mining software. If you are CPU or GPU mining, you will need to choose your own software, keeping security in mind. A software package could contain malware. You should also watch out for other tricky, if not outright malicious, behavior. It's easy enough to find yourself accidentally mining on behalf of the software's developer because their system configures their worker as the default.mastering bitcoin blogspot bitcoin стоимость ethereum ethereum android
терминалы bitcoin bitcoin code конвектор bitcoin bitcoin обменники coinmarketcap bitcoin bitcoin форумы ethereum сайт tether bitcointalk cryptocurrency charts chart bitcoin bitcoin qiwi
зарабатывать bitcoin bitcoin mail bitcoin symbol android tether bitcoin бесплатный куплю bitcoin
bitcoin зарегистрировать minergate ethereum кредиты bitcoin reddit cryptocurrency casascius bitcoin reddit cryptocurrency 2016 bitcoin bitcoin x2 bitcoin видеокарты blogspot bitcoin курс ethereum bitcoin код bitcoin магазины ethereum news bitcoin hunter bitcoin курсы to bitcoin логотип bitcoin bitcoin flip reddit cryptocurrency etf bitcoin
ethereum ферма mining bitcoin bitcoin cost стоимость monero технология bitcoin
bitcoin форк mastering bitcoin minergate bitcoin bitcoin department clame bitcoin bitcoin информация ethereum core мастернода bitcoin ethereum miner bitcoin информация bitcoin motherboard bitcoin 4096 bitcoin rate ethereum википедия kupit bitcoin enterprise ethereum bitcoin шахта san bitcoin монета ethereum testnet bitcoin bitcoin информация bitcoin vps пулы ethereum
bitcoin land bitcoin количество bitcoin testnet bitcoin 4pda battle bitcoin ubuntu ethereum greenaddress bitcoin bitcoin capitalization bitcoin blockstream cryptocurrency news monero node bitcoin расшифровка поиск bitcoin 50 bitcoin monero proxy ethereum web3 кран ethereum tp tether bitcoin рубли app bitcoin
tether приложение bitcoin faucets cryptocurrency trading уязвимости bitcoin bitcoin aliexpress bitcoin suisse bitcoin safe OutlookDrawing on these pre-packaged narratives, various 'investment' funds have cropped up like cargo cults, re-packaging white papers from groups like IBM’s 'Institute for Business Value.' It argues that 'enterprises, once constrained by complexity,' can use blockchain to 'scale with impunity.' It sees blockchains as useful for transactions between institutions, promising 'the tightening of trust' and 'super efficiency.' Many of these investment advisors seek to launch individual 'tokens' or 'crypto-assets' for privately-operated networks, designed for niche enterprise 'needs.'bitcoin stealer