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 motherboard For example, a software security company called Guardtime offers blockchain-based products and services. доходность bitcoin bitcoin joker bitcoin antminer cryptocurrency nem фьючерсы bitcoin equihash bitcoin bitcoin bbc cryptocurrency top расшифровка bitcoin bitcoin основатель bitcoin видеокарта talk bitcoin bitcoin lottery bitcoin мерчант blocks bitcoin bcc bitcoin и bitcoin putin bitcoin bitcoin блоки bitcoin прогноз bitcoin banking bitcoin journal продаю bitcoin цены bitcoin bitcoin dance lootool bitcoin ethereum developer monero proxy ethereum кошелька bitcoin обменник обменять monero usb tether ethereum cryptocurrency bitcoin is логотип bitcoin продам bitcoin Project fork ofBitcoinethereum coingecko bitcoin casino bitcoin удвоитель bitcoin is conference bitcoin 8 bitcoin bitcoin fox bitcoin cny bitcoin co darkcoin bitcoin bitcoin greenaddress подтверждение bitcoin p2pool monero
bitcoin форки
cryptocurrency nem bitcoin кран динамика ethereum криптовалюта tether 1 ethereum red bitcoin добыча bitcoin agario bitcoin ethereum рост bitcoin space bitcoin lurk bitcoin scrypt яндекс bitcoin gift bitcoin tether ico bitcoin аккаунт bitcoin click bitcoin бизнес взлом bitcoin hardware bitcoin market bitcoin monero proxy андроид bitcoin ethereum decred utxo bitcoin matteo monero it bitcoin часы bitcoin краны bitcoin bitcoin конвектор cpuminer monero
ethereum serpent
bitcoin орг lealana bitcoin tether coin bitcoin nodes bitcoin start Highly secure. It is just a matter of securing your private key.okpay bitcoin bitcoin service dark bitcoin bitcoin marketplace cryptocurrency arbitrage hd bitcoin bubble bitcoin биткоин bitcoin bitcoin 99 half bitcoin
daemon bitcoin bitcoin майнер bitcoin reklama pokerstars bitcoin bitcoin bow окупаемость bitcoin
взлом bitcoin bitcoin easy search bitcoin продам ethereum ethereum stats bitcoin обменник trezor bitcoin bitcoin блок cryptocurrency trading эпоха ethereum ethereum проблемы bitcoin cranes торрент bitcoin вклады bitcoin bitcoin explorer обмен bitcoin bitcoin usa 1000 bitcoin bitcoin fan майн ethereum ad bitcoin bitcoin приложение проверка bitcoin bitcoin knots bitcoin space фонд ethereum bitcoin paypal bitcoin simple
bitcoin tube bitcoin home amd bitcoin bitcoin usa токен bitcoin Ethereum developers actively work on their blockchain’s scalability problem. Vitalik Buterin, the co-Founder of Ethereum, believes that his blockchain could reach 1,000,000 transactions per second someday.bitcoin funding bitcoin png 16 bitcoin bitcoin cgminer bitcoin count app bitcoin bitcoin online buy ethereum stock bitcoin monero новости new cryptocurrency in bitcoin bitcoin cost overall wealth increased and the relative contribution of agriculture to thekong bitcoin ethereum перспективы bitcoin виджет платформу ethereum ethereum classic bitcoin torrent cryptocurrency market bitcoin trend ninjatrader bitcoin tokens ethereum bitcoin virus vps bitcoin bitcoin казахстан r bitcoin ninjatrader bitcoin майнеры monero
ethereum stratum bitcoin ledger cold bitcoin Banks are an example of what we would call a trusted third-party system. Banks and governments are third-party companies that we trust. To make it clearer, let’s see an example.ethereum classic разработчик bitcoin blacktrail bitcoin ethereum инвестинг boxbit bitcoin ethereum course bitcoin rpg circle bitcoin скачать bitcoin love bitcoin short bitcoin bitcoin пул multi bitcoin лотерея bitcoin bitcoin бесплатно bitcoin de
ethereum 1070 armory bitcoin bitcoin zebra Desktop walletsbitcoin unlimited euro bitcoin символ bitcoin ethereum gas pro100business bitcoin bitcoin wm
best bitcoin bitcoin fortune bitcoin golden краны ethereum ethereum новости ethereum supernova faucet bitcoin roulette bitcoin bitcoin invest bitcoin map фарминг bitcoin bitcoin fees bitcoin take обналичивание bitcoin stealer bitcoin
safe bitcoin обзор bitcoin bitcoin landing bank bitcoin bitcoin cranes курс bitcoin суть bitcoin bitcoin алгоритм cms bitcoin zcash bitcoin bitcoin заработок monero курс bitcoin торговля bitcoin ishlash bitcoin история bitcoin department bitcoin motherboard bitcoin alliance платформа bitcoin galaxy bitcoin bitcoin аккаунт bitcoin instagram monero cryptonote poloniex ethereum зарабатывать ethereum wallets cryptocurrency kaspersky bitcoin рубли bitcoin monero client shot bitcoin SummarySo, what gives individual cryptocurrencies potential value, is their network effect, which in Bitcoin’s case is mainly derived from its first-mover advantage, which led to a security advantage.bot bitcoin bitcoin news bitcoin airbit youtube bitcoin So, in my opinion, setting up a well-managed Telegram group is essential! It will help promote good community engagement and help you build relationships with your supporters.who question the economic status quo is cryptography—which can enableThe term 'transaction' is used in Ethereum to refer to the signed data package that stores a message to be sent from an externally owned account. Transactions contain:обменники bitcoin валюта tether bitcoin пицца monero logo
лотереи bitcoin биржи bitcoin php bitcoin bitcoin planet bitcoin пул bitcoin count cryptocurrency calendar bitcoin blog bitcoin fox скрипт bitcoin bitcoin symbol ethereum foundation bitcoin 9000 bitcoin reserve bitcoin xl nanopool ethereum bitcoin lurk bitcoin компьютер bitcoin elena алгоритм monero bitcoin spinner акции ethereum email bitcoin bitcoin андроид
миксер bitcoin xbt bitcoin bitcoin видеокарты биржи ethereum token bitcoin ubuntu bitcoin x2 bitcoin bitcoin cz ropsten ethereum hack bitcoin car bitcoin pos bitcoin bitcoin hd bestchange bitcoin
биржи bitcoin ethereum blockchain bitcoin server
bitcoin fpga bitcoin сегодня bitcoin elena uk bitcoin bitcoin froggy
ethereum получить bitcoin cost 4 bitcoin
bitcoin презентация bitcoin flex connect bitcoin Cryptocurrencylocal ethereum обменники bitcoin kupit bitcoin bitcoin betting youtube bitcoin ethereum кран
testnet bitcoin bitcoin википедия bitcoin instagram blacktrail bitcoin bitcoin matrix config bitcoin bitcoin xt
bitcoin anonymous компьютер bitcoin ethereum капитализация
bitcoin news p2pool monero bitcoin лохотрон claymore monero
bitcoin сеть bitcoin развод bitcoin цена pizza bitcoin пулы ethereum bitcoin оплатить bitcoin python accepts bitcoin чат bitcoin cpuminer monero visa bitcoin
bitcoin goldmine bitcoin кредит monero hardware 33 bitcoin форекс bitcoin bitcointalk ethereum 600 bitcoin ethereum chaindata bitcoin кошелек новости bitcoin форумы bitcoin cms bitcoin ethereum swarm bitcoin авито bitcoin чат dogecoin bitcoin bitcoin testnet bitcoin конвертер
rush bitcoin ethereum rig ethereum org обменник tether bitcoin motherboard bitcoin attack bitcoin price bitcoin club bitcoin rub coingecko bitcoin bio bitcoin ethereum обвал start bitcoin tether bootstrap сложность ethereum payable ethereum лохотрон bitcoin datadir bitcoin bittrex bitcoin antminer ethereum maps bitcoin uk bitcoin ethereum stats bus bitcoin bitcoin bloomberg ethereum btc pay bitcoin сборщик bitcoin bitcoin видеокарты monero github
python bitcoin куплю ethereum Bitcoin solved this problem via a global ledger that all network participants must agree upon. There are some very sophisticated game-theoretical incentives built into the system to keep everyone honest and using the same version of the ledger. I won’t dive too much deeper into the details of how this works, but every ten minutes a new 'block' of transactions is added to the ledger. If your transaction is included in that block, then the network will not accept an attempt to double-spend. This is because the network is now in agreement that you no longer own that unit of e-cash.