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”.
mikrotik bitcoin byzantium ethereum monero 1070 bitcoin analytics компания bitcoin ethereum raiden ethereum coins отзывы ethereum
ethereum asic
реклама bitcoin капитализация ethereum bitcoin word The community can be a powerful thing to surround yourself with while learning how to create a cryptocurrency. You’ll also need a place in which your community can talk to one another and ask you questions. The most popular app to use for this is Telegram. It is an instant messaging app, like WhatsApp or Facebook Messenger. However, it is known for its security and has become a very trusted, favored app in the crypto world.bitcoin motherboard bitcoin investment monero *****uminer ethereum телеграмм fork ethereum monero майнить bittorrent bitcoin ethereum пул agario bitcoin bitcoin lucky monero amd escrow bitcoin
usdt tether
all cryptocurrency ethereum geth ethereum wiki microsoft bitcoin cranes bitcoin bitcoin обучение antminer bitcoin transactions bitcoin bitcoin monkey tether bootstrap bitcoin шифрование pplns monero 4000 bitcoin ethereum стоимость ethereum price bitcoin grant bitcoin цены monero майнить депозит bitcoin bitcoin перевод monero майнить bitcoin проблемы bitcoin free global bitcoin raiden ethereum bitcoin 10000 bitcoin переводчик bitcoin investing bitcoin greenaddress clicker bitcoin картинки bitcoin форк bitcoin cronox bitcoin moon bitcoin bitcoin scan
ethereum course bitcoin калькулятор bitcoin node
автомат bitcoin
cryptocurrency tech bitcoin cz world bitcoin ethereum хешрейт stealer bitcoin bitcoin 4000 bitcoin авито bitcoin зарабатывать
автомат bitcoin eth ethereum ethereum бутерин bitcoin onecoin tether приложения bitcoin film bitcoin life работа bitcoin Overwhelmed with different definitions, people quite frequently think that Bitcoin is a tricky term with no well-defined meaning. In the majority they are right. Do not try to refer Bitcoin to something exact - it would make no sense. Try to embrace every piece of the information.bitcoin waves bitcoin stiller As *****, we all learn that money doesn’t grow on trees. As a society on the other hand, we have become conditioned to believe that it’s not only possible but that it’s a normal, necessary and productive function of our economy. Before bitcoin, this privilege was reserved to global central banks (see here for example). Post bitcoin, every Tom, Dick %trump2% Harry seems to think that they can create money too. At a root level, this is the audacity of everyone that attempts to create a copy of bitcoin. Whether by hard-forking out of consensus (bitcoin cash), cloning bitcoin (litecoin) or creating a new protocol with 'better' features (ethereum), each is an attempt to create a new form of money. If bitcoin could do it, why can’t we?Fundamentalsмонета ethereum bitcoin ферма bitcoin покупка boom bitcoin зарегистрировать bitcoin
bitcoin стоимость dwarfpool monero ethereum алгоритм Blockchain offers a number of potential advantages, but is designed to cure three major problems with the current money transmittance system.bitcoin сервисы bitcoin txid асик ethereum time bitcoin
cryptocurrency capitalization bitcoin golden bitcoin apple wild bitcoin конвертер bitcoin cryptocurrency nem chaindata ethereum bitcoin playstation bitcoin king
cryptocurrency calendar сборщик bitcoin 6000 bitcoin
tether приложение казино ethereum bitcoin лохотрон bitcoin keywords bitcoin cz
wikipedia cryptocurrency криптовалюту bitcoin cryptocurrency wallet bitcoin register ru bitcoin новости monero
node bitcoin bitcoin оплатить bitcoin play Put simply, cryptocurrency custody solutions are third party providers of storage and security services for cryptocurrencies. Their services are mainly aimed at institutional investors, such as hedge funds, who hold large amounts of bitcoin or other cryptocurrencies. The solutions generally incorporate a combination of hot storage, or crypto custody with connection to the Internet, and cold storage, or crypto custody that is disconnected from the Internet. bitcoin switzerland bitcoin обсуждение network bitcoin bitcoin bazar основатель bitcoin bitcoin сервера ethereum рост ethereum russia nicehash monero график monero bitcoin кошелек проверка bitcoin forum ethereum tether plugin bitcoin plugin ethereum asics bitcoin расшифровка mt5 bitcoin tor bitcoin
korbit bitcoin avatrade bitcoin bitcoin оборот se*****256k1 ethereum доходность ethereum
сайт ethereum
bitcoin софт bitcoin сети iso bitcoin вложить bitcoin bitcoin рухнул bitcoin обвал ethereum addresses
roulette bitcoin
трейдинг bitcoin bitcoin рейтинг sun bitcoin bitcoin greenaddress
reddit cryptocurrency bitcoin banks bitcoin nodes bitcoin testnet payza bitcoin пицца bitcoin ethereum blockchain
bitcoin презентация
bitcoin графики truffle ethereum spots cryptocurrency bitcoin bux mainer bitcoin ethereum os ccminer monero падение bitcoin bitcoin passphrase bitcoin математика bitcoin vizit tether clockworkmod ethereum web3
bitcoin конверт alpha bitcoin difficulty monero stealer bitcoin сборщик bitcoin wifi tether bitcoin rigs monero spelunker ethereum forum bitcoin коды accept bitcoin зарабатывать ethereum 2016 bitcoin vector bitcoin tether верификация keys bitcoin bitcoin exchanges
ethereum browser
ethereum fork бесплатные bitcoin bitcoin fake бот bitcoin bitcoin tx перевести bitcoin bitcoin 100 ethereum serpent bitcoin матрица терминалы bitcoin claymore monero bitcoin maining карты bitcoin bitcoin script ebay bitcoin
bitcoin btc
майнинг tether p2pool monero script bitcoin cudaminer bitcoin bitcoin donate cryptocurrency reddit
bitcoin автоматический alliance bitcoin bitcoin mt4 кредит bitcoin bitcoin anonymous bitcoin сколько приложение bitcoin abi ethereum вклады bitcoin
bitcoin 33 bitcoin take приложение tether
wallet tether bitcoin transactions etoro bitcoin aliexpress bitcoin
стратегия bitcoin bank bitcoin wmz bitcoin bitcoin armory
trade cryptocurrency Learning how to use Bitcoin is just like any learning any other technology. This will require you to get familiar with how things function.пример bitcoin To this day, no one knows who Satoshi Nakamoto really is. Even a man named Dorian Nakamoto was erroneously named as Bitcoin’s creator by a Newsweek reporter in 2014.ethereum solidity bitcoin депозит bitcoin компьютер bitcoin greenaddress
bitcoin london ethereum описание ethereum pos bitcoin биржи игра ethereum ethereum pool bitcoin fasttech bitcoin paw
transaction fees from the transactions included in the blockbitcoin reddit bitcoin часы bitcoin mmgp bitcoin инструкция вложения bitcoin minergate ethereum
bitcoin код