Summary of the 4th learning of the blockchain-why the blockchain will fork

     Foreword: The csdn forum has a strict review of the content of blog posts, and there are too many sensitive words. As a result, blog posts are often misjudged as violations and cannot be published, so the blog has not been updated for a long time. But learning and research is a long-term process, and only by persisting in learning can we see hope.

    During this period of time, the epidemic has been repeated, and most of the time I can only stay at home. Thinking of the war-torn years, the senior scholars did not interrupt their academic research under such a difficult environment, and still insisted on learning and doing science. How can we not follow suit? Reduce going out during the epidemic, just use this time to write some blogs.

    In addition, I plan to record some blockchain videos and put them on station B. I hope to meet more blockchain research enthusiasts. Experts are welcome to enlighten me.

   The content planned to be shared includes smart contracts, Solidity language, how to use Remix, Dapp development Truffle framework, experience of using HardHat framework, Ethereum source code and Go language, discussion and outlook of blockchain 3.0.

Today we only discuss blockchain forks.

-----------------------------------------------------------------------------------------------------------------------------

1. What is a blockchain fork (fork)

    According to the most ideal state and simple understanding, the blockchain should be a linear chain structure such as a singly linked list. But in fact, the blockchain may have branches, that is, forks.

Ideally a chain like this:

 The actual situation is this:

But the above "forks" are only temporary forks, not the forks we are going to discuss today.

The real fork should be like this:

2. Why is there a fork

The substantive reason for the fork is that the original community's internal ideas have irreconcilable differences during the dynamic development of the project.

As a decentralized organization, the community behind the blockchain advocates the free association of non-violent free people, which means that in the process of moving towards an unknown future, when new problems encountered exceed the original established rules of the game, Once differences arise, it will be difficult to reach consensus, which is determined by the decentralized nature of the blockchain gene.

3. Types of forks  

Usually, in the blockchain, soft forks can be compatible with the old and new versions at the same time, but hard forks cannot be compatible with the old and new versions at the same time. Hard forks mean that they will be divided into two incompatible versions, the old and the new. 

  3.1 Soft Fork: When an update is made that is compatible with the original blockchain. When a new version of software (or protocol) appears in the system, and the old software can accept the blocks of the new software, both the old and the new work on the same chain from beginning to end, which is called a soft fork.

   3.2 Hard Fork: When an update is made that is incompatible with the original blockchain and declares the existing version of the protocol invalid.

    When a new version of the software (or protocol) appears in the system and is incompatible with the previous version of the software, the old software node cannot accept all or part of the blocks dug by the new software node (considered illegal), resulting in two chain. Although the computing power of the new node is relatively large, for example, 99% of the computing power is new nodes, 1% of the old nodes will still maintain a different chain, because the blocks generated by the new nodes are really unacceptable to the old nodes (even though they know that the network Accepted by 99% of the nodes above), this is called a hard fork.

The soft fork does not require all nodes to upgrade at the same time, allowing gradual upgrades without affecting the system stability and effectiveness during the soft fork; it can ensure that those who do not want to upgrade will not upgrade. This demand for not wanting to upgrade is in reality It is actually very common in life.
The hard fork must require all old nodes to be upgraded, otherwise the old nodes will not be able to recognize the transactions and blocks produced by the new nodes, causing the blockchain to split into two chains.

 in conclusion: 

  •    A hard fork is an artificial and expected fork, which is not compatible with the old chain.
  •    A hard fork is caused by a divergence or split in the consensus
  •     A soft fork can be seen as a software upgrade that is compatible with the original chain.

4. Forks of Bitcoin  

On August 1 ,   2017 , Bitcoin was artificially forked. In a " hard fork " event, a new digital currency called Bitcoin Cash (BCH) was born .

The first fork of Bitcoin was Bitcoin Cash (BCH) on August 1, 2017. Before the fork, there was a dispute among developers about the block size:

Some people want to set the block size to 1 megabyte to 2 megabytes.

Others want larger block sizes.

Both parties in the dispute did not compromise, and in the end the community decided to continue according to their own opinions, and there was a subsequent fork.

   Due to the version switch, the Bitcoin blockchain was forked into two separate blockchains. Everyone who owned Bitcoin before the fork was entitled to the same amount of "Bitcoin Cash" tokens, similar to a dividend payout in a stock.

 Since then, Bitcoin has been forked into two currencies, BTC and BCH, and of course they also represent two directions.

    BTC:

    Bitcoin Cash BCH: Bitcoin Cash (BCH) is a new version of Bitcoin with different configurations launched by a small group of Bitcoin developers. It is a new type of blockchain asset

5. Forks of Ethereum

      In 2016, The DAO, a well-known Ethereum project, was hacked and lost more than 60 million US dollars worth of ETH. Then the Ethereum team "recovered" the assets stolen by hackers through a hard fork (rollback in disguise). Community members believe that this move violates the basic spirit of the blockchain that cannot be rolled back and tampered with, and still insists on maintaining the old chain. Since then, two independent blockchain projects have been split - Ethereum (ETH) and Ethereum Classic (ETC)

       ETH: The digital currency on the chain after the update of Ethereum.         

       Ether (ETH) is a digital token of Ethereum, and developers need to pay Ether (ETH) to support the operation of the application. Ether, like other digital currencies, can be bought and sold on trading platforms.

In layman's terms, Ethereum is an open source platform digital currency and blockchain platform, which provides developers with a platform to build and publish applications on the blockchain. Ethereum can be used to program, decentralize, secure and trade anything, voting, domain names, financial exchanges, crowdfunding, corporate governance, contracts and most agreements, intellectual property, and smart assets thanks to hardware integration.

   V God and his team support ETH, which is an encrypted digital currency on the new chain generated after the hard fork. V God and his team believe that since the system has loopholes and defects, it is reasonable and reasonable to upgrade the software matter.

    ETC: The old chain.

    Ethereum Classic (ETC) runs on the same protocol performing ETH-like functions, but it does have some notable differences in the community. The 10% or so from the original Ethereum are relatively in the shadows and are loyal to the concept of an immutable ledger. ETC has value primarily because of the speculator market, like many other altcoins.

 ETC is the Ethereum chain maintained by Ethereum users who insist on not forking. They refuse to fork and believe that the blockchain cannot be tampered with. The hard fork violates the promise that the blockchain cannot be tampered with and the blockchain is decentralized The spirit of modernization development is a betrayal and self-denial of the distributed consensus mechanism. Since it is promised that the blockchain cannot be modified, even if it has loopholes and errors, it should not be modified.

6. Are Forks Good or Bad?

     How do you view blockchain forks? Is the fork accidental or inevitable? Is it a good thing or a bad thing?

    The original intention of the blockchain design did not take into account forks. Ideally, a chain will continue to develop.

However, the actual situation is: the development of blockchain technology is still in a very early stage. For the blockchain, forking is equivalent to a process of technological iteration. As people continue to discover the existing limitations of blockchain technology , Only by continuously upgrading and expanding this technology can blockchain technology mature.

    Of course, this kind of fork runs counter to the immutable nature of the blockchain, but there is no inherently perfect technology, and the blockchain is no exception. If the development of technology is uncontrollable when errors occur, then this technology cannot be done. Even in the world, people's trust in it cannot be improved. And the result of the fork is determined by the votes of community members, and to some extent it still abides by the principle of decentralization.

People have different opinions on blockchain forks, but in the historical process of blockchain development, forks undoubtedly make blockchains more stories and possibilities.

 To sum up: the fork may be caused by the need for software upgrades, or it may be caused by the failure of the blockchain community to reach a consensus.

Software upgrades may cause soft forks or hard forks.

A fork formed when the blockchain cannot reach a consensus must be a hard fork.

If it is artificially manipulated and uses the fork to seek personal gain, to achieve the purpose of some people or some groups to seek personal gain, then I think this deliberate hard fork is similar to a malicious attack.

Guess you like

Origin blog.csdn.net/zsheep/article/details/117321172