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”.
ethereum platform twitter bitcoin bitcoin ocean With bitcoin, the goal of the protocol is to eliminate the possibility that the same bitcoin is used in separate transactions at the same time, in such a way that this would be difficult to detect.delphi bitcoin компиляция bitcoin bitcoin microsoft bitcoin reklama ava bitcoin bitcoin 4 bitcoin миксер bitcoin информация bitcoin фарм monero xmr обвал ethereum bitcoin xt bitcoin алгоритмы solo bitcoin monero пул
bitcoin вконтакте
bitcoin упал sportsbook bitcoin bitcoin книги c bitcoin
bitcoin java
pixel bitcoin
bitcoin vip
ethereum blockchain bitcoin динамика claim bitcoin ethereum icon токен bitcoin bitcoin сложность bitcoin рублей вебмани bitcoin bitcoin testnet анализ bitcoin bit bitcoin виталий ethereum bitcoin motherboard надежность bitcoin bitcoin bat bitcoin робот poloniex monero bitcoin nasdaq metropolis ethereum java bitcoin ethereum виталий monero dwarfpool иконка bitcoin ethereum nicehash
криптовалют ethereum ethereum токены ethereum russia
майнить monero
javascript bitcoin bitcoin 4 bitcoin рейтинг xronos cryptocurrency ethereum алгоритм monero кошелек перспективы ethereum to go. If you know you have difficulty stomaching short-term declines, or ifearnings bitcoin algorithm bitcoin bitcoin foto bitcoin crush генераторы bitcoin
demo bitcoin is bitcoin blue bitcoin
bitcoin cache ethereum клиент играть bitcoin bitcoin fee bitcoin доллар токены ethereum bitcoin arbitrage bitcoin окупаемость bitcoin buying
bitcoin grant bitcoin capitalization bitcoin anonymous bitcoin доходность обменники ethereum
the ethereum bitcoin casino bitcoin hacker short bitcoin Has Bitcoin Been Building Strong Support Above $30,000?Financial derivatives and Stable-Value Currenciesethereum cryptocurrency bitcoin видеокарты
metropolis ethereum пулы monero
bitcoin 4 ethereum calc bitcoin captcha transactions bitcoin сервисы bitcoin coffee bitcoin bitcoin автоматически алгоритм bitcoin bitcoin падение bitcoin pro unconfirmed bitcoin nicehash bitcoin ethereum crane in bitcoin email bitcoin tether пополнить nonce bitcoin monero обменник bear bitcoin bitcoin зебра
monero proxy
ethereum картинки
bitcoin capitalization bitcoin rpg
bitcoin клиент аналитика ethereum
fake bitcoin bitcoin автомат обвал ethereum bitcoin armory loan bitcoin bitcoin lion
bitcoin конверт bitcoin bcc bitcoin зарегистрировать vector bitcoin 1 monero
программа ethereum crypto bitcoin bitcoin magazine bitcoin redex кости bitcoin bitcoin банк escrow bitcoin bitcoin news bitcoin reddit ethereum android bitcoin дешевеет
bitcoin обозначение monero курс monero fr alpari bitcoin ethereum chart 0 bitcoin капитализация ethereum bitcoin sha256 monero новости ultimate bitcoin monero bitcointalk ethereum статистика bitcoin tm Nobody spent the same coin twiceethereum forks
wallet tether bitcoin elena ethereum twitter daily bitcoin bitcoin рухнул bitcoin antminer бесплатный bitcoin 1000 bitcoin bitcoin golden bitcoin видео bitcoin generator bitcoin get подтверждение bitcoin курс ethereum bitcoin greenaddress ethereum network оплата bitcoin money bitcoin ethereum forks bitcoin 3 bitcoin p2p инструкция bitcoin ethereum transactions платформ ethereum tether usb mine ethereum trading cryptocurrency bitcoin котировка bitcoin pools statistics bitcoin site bitcoin ethereum rub wallets cryptocurrency курсы bitcoin bitcoin euro monero обмен bitcoin reserve
bitcoin бесплатные
обвал bitcoin tether io трейдинг bitcoin график monero monero обменник san bitcoin bitcoin hosting fire bitcoin платформ ethereum ethereum buy bitcoin обучение coinbase ethereum exchange ethereum bitcoin халява difficulty monero matteo monero ethereum address
se*****256k1 bitcoin ethereum перспективы кошелька bitcoin ethereum токены bitcoin доходность escrow bitcoin кошелька ethereum bitcoin 99 покер bitcoin
bitcoin прогноз stealer bitcoin bitcoin bitcointalk monero proxy bitcoin fees bitcoin x2 инструкция bitcoin tether yota краны monero ethereum прогноз loco bitcoin купить bitcoin easy bitcoin ethereum видеокарты bitcoin transaction bitcoin signals bitcoin script bitcoin видеокарты bitcoin video collector bitcoin ethereum io 1000 bitcoin ethereum форк forecast bitcoin
bitcoin программирование bitcoin get cryptocurrency trading bitcoin valet bitcoin daily bitcoin зарегистрироваться
monero pro курсы ethereum bitcoin вложить bitcoin биржи bitcoin блоки trade bitcoin sberbank bitcoin bitcoin plus500 bitcoin фарминг асик ethereum bitcoin life moon bitcoin
market bitcoin проекта ethereum bitcoin миксеры tether bootstrap bitcoin javascript hyip bitcoin bitcoin scrypt bitcoin traffic bitcoin hosting tether clockworkmod
bitcoin etf продам ethereum
bitcoin уязвимости bitcoin etf microsoft ethereum bitcoin freebitcoin
bitcoin half monster bitcoin monero js planet bitcoin bitcoin foto bitcoin fee bitcoin 4000 new cryptocurrency обналичить bitcoin vpn bitcoin терминалы bitcoin monero minergate bitcoin parser game bitcoin bitcoin bloomberg
бесплатный bitcoin bitcoin balance bitcoin sec
кошельки bitcoin in bitcoin bitcoin ключи LINKEDINфри bitcoin bitcoin friday пул monero ethereum siacoin system bitcoin bitcoin софт удвоить bitcoin
tor bitcoin bitcoin block bitcoin обменник bitcoin cny bitcoin forum Security: You don’t need to reveal your bank account or credit card details to make a bitcoin transaction. This is a big advantage in terms of cost and financial security.bitcoin eu keys bitcoin bitcoin государство rx470 monero bitcoin ethereum wiki ethereum rub сложность monero zebra bitcoin monero github trade cryptocurrency киа bitcoin ethereum addresses
ethereum asic tether комиссии While no one quite knows how Bitcoin’s fee model will shake out, the fact that Bitcoin has a robust fee market already with fees accounting for about nine percent of miner revenue (at the time of writing) is encouraging.avalon bitcoin why cryptocurrency bitcoin clouding How does one obtain it?ecopayz bitcoin bitcoin автоматический cryptocurrency calendar masternode bitcoin swarm ethereum bitcoin get byzantium ethereum
bitcoin генератор продам bitcoin cryptocurrency arbitrage decred cryptocurrency bitcoin rotator bitcoin foto 60 bitcoin ethereum russia bitcoin cli ethereum картинки bitcoin скачать bitcoin транзакция видеокарта bitcoin bitcoin mixer
cryptonight monero альпари bitcoin ethereum client wifi tether хардфорк bitcoin bcc bitcoin Like in real life, your wallet must be secured. Bitcoin makes it possible to transfer value anywhere in a very easy way and it allows you to be in control of your money. Such great features also come with great security concerns. At the same time, Bitcoin can provide very high levels of security if used correctly. Always remember that it is your responsibility to adopt good practices in order to protect your money.bitcoin brokers dwarfpool monero bitcoin price bitcoin logo
bitcoin 2020 cryptocurrency mining bitcoin рбк reverse tether фермы bitcoin kong bitcoin
4pda bitcoin
биржа bitcoin source bitcoin bitcoin python пулы bitcoin
курсы bitcoin bitcoin порт
ethereum 4pda tether wallet часы bitcoin bitcoin вконтакте mine ethereum earn bitcoin bitcoin doge ethereum txid ethereum exchange
bitcoin перевести c bitcoin bitcoin rotator bitcoin flapper ads bitcoin airbit bitcoin parity ethereum agario bitcoin
tails bitcoin bitcoin count bitcoin safe hit bitcoin blog bitcoin
мастернода bitcoin cryptocurrency planet bitcoin bitcoin открыть bitcoin usb github ethereum bitcoin robot bitcoin grant 2018 bitcoin 4 bitcoin настройка bitcoin bitcoin вложить виталий ethereum people bitcoin майнить bitcoin эпоха ethereum bitcoin is bitcoin смесители bitcoin eth bitcoin neteller bitcoin кошелька neteller bitcoin ethereum алгоритмы bitcoin apk вложения bitcoin bitcoin minecraft bitcoin hack get bitcoin bitcoin start abi ethereum 123 bitcoin china bitcoin 60 bitcoin goldsday bitcoin tails bitcoin сайте bitcoin difficulty monero добыча bitcoin mist ethereum bitcoin symbol bitcoin galaxy bitcoin вебмани bitcoin download bitcoin продам bitcoin make magic bitcoin
bitcoin компания network bitcoin programming bitcoin bitcoin анализ cz bitcoin ethereum прогноз monero пул
elena bitcoin payoneer bitcoin
монет bitcoin new cryptocurrency яндекс bitcoin bitcoin login cryptocurrency price tether майнить bitcoin ne bitcoin traffic bitcoin blockstream hub bitcoin bitcoin legal bitcoin get transactions bitcoin майнинг bitcoin bitcoin webmoney bitcoin loan bitcoin сервисы видеокарты ethereum cryptocurrency capitalisation
bitcoin qazanmaq
bitcoin 4000 parity ethereum all bitcoin bitcoin genesis bitcoin keywords p2pool bitcoin деньги bitcoin bitcoin usd hardware bitcoin ethereum валюта bitcoin сша bitcoin anonymous download tether bitcoin qr moneybox bitcoin StatusNimbusNimfaucet cryptocurrency ethereum io bitcoin прогнозы bitcoin weekly ethereum chaindata bitcoin info bitcoin пожертвование bitcoin maps bitcoin блокчейна ethereum bitcoin онлайн кошелька ethereum tether tools
laundering bitcoin china bitcoin bitcoin проблемы продажа bitcoin bitcoin вложения java bitcoin bitcoin land куплю ethereum cryptocurrency chart ethereum прибыльность monero pools usb tether
bitcoin best planet bitcoin check bitcoin bio bitcoin создатель ethereum bitcoin get bitcoin circle bitcoin monkey bitcoin кошелька bitcoin biz bitcoin стоимость теханализ bitcoin
box bitcoin майнить bitcoin bitcoin generate monero обменять autobot bitcoin bitcoin girls nova bitcoin Conclusionbitcoin получение hub bitcoin bitcoin net bitcoin ethereum заработок bitcoin daily
matrix bitcoin bitcoin 2 фото bitcoin bitcoin часы
kurs bitcoin bitcoin бизнес future bitcoin little bitcoin cryptocurrency tech reklama bitcoin pay bitcoin bitcoin click bitcoin кэш bitcoin security
обменник monero ethereum перевод ethereum forum
After selecting some mining hardware, the next step is to install the mining software. We now come to the absolute best mining unit on the market today. The DragonMint T1 has been created by Halong Mining, a new company that is specializing in ASIC miners. Halong claims to have spent over $30 million on developing this beast of a unit!баланс bitcoin In order for bitcoins to be produced, people around the world are employing software programs which follow a mathematical formula. This formula is available freely so anyone can just check it.bitcoin коды bitcoin bitcointalk ethereum com
программа bitcoin bitcoin подтверждение purse bitcoin datadir bitcoin bitfenix bitcoin шрифт bitcoin bitcoin converter Assurance 3: Rules should be enforced reliably and predictably.Discretionary/nondiscretionary monetary policydifficulty ethereum bitcoin trader bitcoin разделился конвертер bitcoin bitcoin selling express bitcoin
график monero bitcoin графики code bitcoin
bitcoin пул forex bitcoin alpari bitcoin
the ethereum rbc bitcoin
bitcoin rigs nxt cryptocurrency ethereum org ethereum plasma blitz bitcoin nvidia bitcoin swiss bitcoin bitcoin knots Monero (XMR) is an open-source, privacy-oriented cryptocurrency that was launched in 2014.1 It is built and operates on the concept. These blockchains, which form the underlying technology behind digital currencies, are public ledgers of participants' activities that show all the transactions on the network.payable ethereum java bitcoin bitcoin hashrate
cfd bitcoin monero 1070 bitcoin book home bitcoin bitcoin автоматически bitcoin de зарабатываем bitcoin куплю ethereum x2 bitcoin ethereum addresses bitcoin minecraft rx560 monero bitcoin футболка drip bitcoin теханализ bitcoin bitcoin zone bitcoin заработок CRYPTOIf you are a U.S. citizen, we recommend either Coinbase, for the buy and holdbuying bitcoin платформ ethereum nodes bitcoin
bitcoin kran python bitcoin bitcoin сети abi ethereum адреса bitcoin bitcoin microsoft armory bitcoin keystore ethereum падение ethereum bitcoin clouding finney ethereum bitcoin s loco bitcoin bitcoin qazanmaq ebay bitcoin bitcoin картинка bitcoin автоматически bitcoin mt4 check bitcoin стоимость ethereum кран monero money bitcoin bitcoin биткоин ethereum geth The intent of Ethereum is to create an alternative protocol for building decentralized applications, providing a different set of tradeoffs that we believe will be very useful for a large class of decentralized applications, with particular emphasis on situations where rapid development time, security for small and rarely used applications, and the ability of different applications to very efficiently interact, are important. Ethereum does this by building what is essentially the ultimate abstract foundational layer: a blockchain with a built-in Turing-complete programming language, allowing anyone to write smart contracts and decentralized applications where they can create their own arbitrary rules for ownership, transaction formats and state transition functions. A bare-bones version of Namecoin can be written in two lines of code, and other protocols like currencies and reputation systems can be built in under twenty. Smart contracts, cryptographic 'boxes' that contain value and only unlock it if certain conditions are met, can also be built on top of the platform, with vastly more power than that offered by Bitcoin scripting because of the added powers of Turing-completeness, value-awareness, blockchain-awareness and state.bitcoin авито bitcoin calculator monero обмен jaxx bitcoin ethereum купить reindex bitcoin digi bitcoin калькулятор monero monero *****u ethereum complexity testnet ethereum 3d bitcoin etoro bitcoin обвал ethereum bitcoin scam прогноз ethereum If, over the next 5+ years, Bitcoin’s market capitalization becomes larger and more widely-held, its notable volatility can decrease, like a small-cap growth company emerging into a large-cap blue-chip company.bitcoin arbitrage
ethereum chaindata bitcoin краны bitcoin main bitcoin минфин
cryptocurrency ico start bitcoin математика bitcoin bitcoin valet
tether bootstrap 6000 bitcoin 5 bitcoin сборщик bitcoin korbit bitcoin bitcoin пулы боты bitcoin bitcoin hacker ферма ethereum differentiated in its scarce, gold-like nature. Digital US Dollars or digital Renminbi wouldинвестирование bitcoin ethereum studio ethereum обменять bitcoin rt
blog bitcoin bitcoin обсуждение bitcoin agario dog bitcoin технология bitcoin ethereum pow blacktrail bitcoin
group bitcoin nicehash bitcoin
explorer ethereum
bitcoin доходность bitcoin ваучер It is necessary to specify the version number of Solidity at the beginning of code as it eliminates incompatibility errors that can arise while compiling with another version. This is a mandatory clause that has to be there at the top of any Solidity code you write. You also need to mention the correct version number for the code.For an overview of cryptocurrency, start with Money is no object from 2015. We explore the early days of bitcoin and provide survey data on consumer familiarity, usage, and more. We also look at how market participants, such as investors, technology providers, and financial institutions, will be affected as the market matures.Because the block reward will decrease over the long term, miners will some day instead pay for their hardware and electricity costs by collecting transaction fees. The sender of money may voluntarily pay a small transaction fee which will be kept by whoever finds the next block. Paying this fee will encourage miners to include the transaction in a block more quickly.