Hard Fork, Soft Fork
Subsequent modification of the blockchain is not possible. Adding new blocks is also a feat that can only be accomplished with the computing power of various computers. However, once data has been stored in the blockchain, the information can be considered correct. On average, a new block is produced within this system every ten minutes. In order for the blockchain to remain stable and balanced, the difficulty to calculate blocks increases regularly. When the limit of possible transactions is reached, high price drops can occur. This has already happened with Bitcoin, which is why an increase in the size of the blocks is planned.
Definition and explanation
A hard fork, unlike a soft fork, is a way of making changes to the blockchain that is incompatible with the old blocks. Old clients do not understand this change in the protocol and, in case of doubt, discard the individual transactions or entire blocks. The prime example of a hard fork is a change in block size. A block that is larger than one megabyte on Bitcoin’s blockchain is considered faulty by current clients and thus discarded. Thus, proponents of the new block size cannot simply send the large blocks to all clients, but must ensure that they are accepted. This is only possible if enough participants can be found who use the appropriately adapted mining software.
Changing the size of the protocol is technically comparatively easy to do. The problem is rather to convince a large part of the community of the new block size so that it is accepted during implementation. In the case of the hard fork, the new system is introduced after a certain block, which was determined in advance. This creates two different blockchains: the first blockchain continues the old system and refuses to accept the changed blocks. The second blockchain, in turn, accepts only the new blocks and refuses to accept the old ones. The two blockchains share a common past, but go their separate ways after the split.
Possible consequences of a hard fork
A hard fork is a difficult undertaking because it requires community support. In the absence of miner support, the hard fork is a failure, as no transactions will be forwarded without it. Likewise, a failure would be a lack of user support: in this scenario, all users, exchanges, and traders use the old version, making the miner reward system no longer profitable. Accordingly, it is in the miners’ best interest to have many users behind the new system. With a large minority of miners, the result would be that the “mined” coins could only be exchanged for fiat currencies within the small circle of supporters, resulting in low demand and a collapse in the price of the generated coins.
The worst-case scenario would be if both protocols are actively used and therefore run in parallel alongside each other. This would, for example, create a second currency alongside Bitcoin. Such a case has already occurred twice, once Bitcoin Cash and once Bitcoin Gold were created to exist in parallel alongside Bitcoin. For a fork to be avoided, there must be consensus among both miners and users. Achieving this in practice is difficult, however, as all blockchain participants are concerned with their own economic advantage and hope to gain an advantage over other market participants through the hard fork.
What is a Soft Fork?
In a soft fork, the risk of a spin-off is much lower than in a hard fork. The soft fork approach is often used to update the blockchain. Two well-known and successful soft forks of the Bitcoin blockchain are BIP 66, in which the validation of signatures was revised, or P2SH, in which the formatting of wallet addresses was changed. The soft fork rejects all blocks that still have the old properties. However, this only works with the soft fork if the community and the miners are behind the change. Dissent would otherwise lead to a fork, i.e. a second cryptocurrency.
What happens in the event of a fork from the blockchain?
Bitcoin has already been split twice in the last year. Investor fear was strongly felt before the first split: huge price fluctuations occurred. However, investors’ fears were unfounded, as the split of Bitcoin and Bitcoin Cash resulted in a gain for all market participants. During the split, the new currency was made available to all investors on a 1:1 basis. So, if a user had two Bitcoin in his portfolio, he will be given the same amount in the new currency. However, the future of Bitcoin will remain exciting even after the two hard forks: The next hard fork is already scheduled for November 2017, but it should not lead to a split of the blockchains, as the extension is supported by all major miners and users.
A soft fork is understood to be a change to the protocol that is backwards compatible. This means that the new rules do not exclude the rules of the protocol that already existed until the time of the soft fork. As a result, all nodes and are still capable of generating blocks and joining the blockchain.
Since this all sounds very abstract, let’s explain the situation again with an example. The already existing rules of the protocol dictate that a block must reach 5MB and then it is attached to the blockchain. However, now the protocol is updated and the blocks are supposed to be only 3MB until they are pinned to the blockchain. Since the older nodes can append blocks with the storage capacity of 5MB, they are now also able to append blocks with 3MB to the blockchain. Thus, both old and new nodes can append blocks to the blockchain.
However, if old nodes try to append a block with 5MB to the blockchain, it will be rejected by the new nodes because this block does not comply with the new rules of the protocol. Over time, the old nodes now also only follow the rules of the new protocol.
A hard fork, on the other hand, is a change to the protocol that is not backward compatible. It therefore represents the opposite of a soft fork. In a hard fork, the rules of the protocol are changed in such a way that the old nodes can no longer pack a transaction into blocks of the new regulation, since the old rules contradict the new ones. Thus, miners must decide whether to update their nodes to the new protocol or keep the nodes running on the old protocol.
The first case is to implement a fork that most users perceive as an improvement to the old protocol. If this is the case, most users will join the new blockchain and continue to transact there. Hardly any participants will still follow the old protocol and so it will die out over time.
However, there is also a second case. Here, a large number of users disagree on whether the update will lead to an advantage and therefore whether they want to join the new protocol. If the protocol is now updated, two blockchains will be formed from the previous blockchain. -> One cryptocurrency will become two!
All blocks registered on the blockchain up to that point can now be viewed on the old blockchain as well as the new blockchain. You will have the number of your coins from the old blockchain stored on both the old and the new blockchain after this type of hard fork. However, from the moment of the fork, transactions are published only on the blockchain where they are made.
Let’s describe the situation again with an example. Suppose the pre-existing rules of the protocol prescribe 5 MB as the block size, as in the above example. However, the new protocol specifies that a data size of 7MB per block must be reached for it to be attached to the blockchain. In this case, the old nodes are not compatible with the new protocol. The miner must now decide whether to continue running his node on the old protocol or update it to the new one.
In order to create a hard fork, a sufficiently large community is always necessary, which also accepts it. If there are only a few participants, transactions will hardly be confirmed.
Examples: Hard Fork
There have been quite a few hard forks in the crypto world so far. Among the best known, however, are those of Bitcoin and Ethereum.
Hard Fork Bitcoin – Bitcoin Cash
On August 01, 2017, the hard fork of Bitcoin took place. On this day, the Bitcoin Blockchain split into two parts at block 478558. The Bitcoin Blockchain remained and the Bitcoin Cash Blockchain was created. Every user who held Bitcoins on the blockchain now has the same amount of coins in Bitcoin Cash.
The basic goal of this fork was to increase the block size from 1MB to 8MB. This fork was seen as much overdue by developers as it allows more transactions to be processed simultaneously. Due to the lower transaction time, transaction costs have also decreased. Since as already known: The higher the transaction fee, the faster the transaction is processed.
Hard Fork Ethereum – Ethereum Classic
In the history of Ethereum, there have already been several hard forks. Probably the most discussed hard fork of Ethereum was performed on July 20, 2016. The fork resulted from a series of hack attacks against a smart contract.
This smart contract (DAO) allowed all users who invested in it to decide which dApps on the Ethereum Blockchain would be co-funded and which would not. However, there was also the option to exchange one’s DAO tokens back into Ether. And it was precisely in this system that there was a vulnerability, which hackers made their own. In this way, they captured a total of 50 million US dollars.
To ensure that the security of the blockchain could be guaranteed again for everyone, a large part of the community spoke out in favor of a hard fork. This is how the new blockchain (Ethereum) was created and the old blockchain (Ethereum Classic) still remained. On the homepage of Ethereum Classic, this is also made clear once again.
First, an investment fund called Dao was created in Ethereum. This fund received some money, which the fund wanted to use to invest in various projects. An attacker wanted to steal the money with a trick. The other investors caught on to this and now they are looking for the best solution to keep everyone happy (except the attacker).
Imagine you have a huge cookie jar with a lock (Dao) and into this cookie jar everyone puts their cookies (Ether). For putting them into the cookie jar, everyone gets a receipt (Dao Token).
It was agreed from the beginning that everyone who put in a cookie would vote on what happens to the cookies. For example, they could give them away or hire pledge finders to sell the cookies.
But now one of the cookie depositors (the attacker) finds out that if you kick the cookie jar really hard, a cookie will fly out. So the cookie jar is opened, even though that was not the agreement. The lock is outwitted.
But the cookie jar attacker thinks to himself, “I don’t care, it can be done, so I’ll do it. I have every right to do it.” and he does so until he is stopped by the cookie jar overseer (Ethereum Community and Vitalik Buterin).
By this time, he has put ~⅓ of the cookies into a glass box, but it is sealed by a scheme. The cookie depositors want the ~⅓ back, but don’t know which way: Smash, pick the lock, ask the attacker to lock the glass box forever.
Soft fork: The Ethers of the Dao are frozen
This is possible because with DAO you have to split the tokens first, then the tokens are “brought” to a child Dao and from there you can only pay out the Ethers again. So the Ether are stuck first before they can be completely taken out of the Dao.
The Dao processes are very complex, the only important thing to know is that the stolen Ether can be blocked by a soft fork. This buys time to find a solution to the problem. However, the Dao tokens are still tradable.
Some will argue that the programming code allowed this after all, the attacker was just smart enough to exploit it. While I can understand this argument, it should be rejected due to the purpose of the Dao.
The Dao should vote as a unit on the ethers used together. The DAO took a loss involuntarily (!) and the payout was against the will (!) of the Dao.
If you already have the unique opportunity to not reward the attacker for taking something that doesn’t belong to him, then you should/must do it!
Hard fork: Ether is returned to Dao investors
On the other hand, there is a possibility that the stolen Ether will be returned to the rightful owners through a hard fork. However, there is a very large potential for dispute with this possibility.
One side is against this hard fork because it would set a precedent: From now on, everyone could run and say that they want their Ether back that they lost in a smart contract. The biggest concern: where should we draw the line here? Another argument is that such behavior is tantamount to a centralized institution, which means Ethereum would have to give up its ideology.
The other side wants a hard fork. For image reasons, a hard fork would be preferable. While The DAO is a project built on Ethereum and not directly in the Ethereum protocol, laymen do not understand this. This gives the impression to the masses through false messaging that the Ethereum Blockchain is insecure and one should not invest in it.
Another argument for the hard fork is the planned mining algorithm change from Proof of Work (GPU mining) to Proof of Stake (“creating Ether”). The attacker would have just under 4 percent of the Ether. That would also be centralization! That would not necessarily be a good starting position for the further Ethereum course.
Moreover, Bitcoin also had a “similar” hard fork in 2010 and survived it. However, there is a distinction to be made between a Bitcoin and Ethereum hard fork.
Further, a lot of money really poured into the DAO and everyone was hoping to get in on this innovation. These people with such huge capital will think twice about investing anything in Ethereum again if the community gives them the cold shoulder.
What will be the outcome of the decision?
Each of the two sides has their arguments and everyone can decide for themselves which position he or she wants to take. However, only the miners will and can decide. The majority of miners must decide whether to accept the soft and hard forks. If the majority want to implement these forks, then these forks will be implemented. If not, then they won’t.
How should you vote
I am pro hard fork, yet I respect every opinion. There is a (once in a lifetime) opportunity to see justice done for an injustice. The collapse of the Dao follows not because of stupid decisions, but because of a deceitful theft. The argument “it says so in the code” does not convince me. An ATM is used to withdraw money, so I still can’t empty someone else’s bank account. A power outlet is used for electricity, but I’m still not allowed to tap my neighbor’s electricity, and so on. Also, it was “in the code” that a full refund is possible before the first investment of the Dao has been made. There is no investment here.
Moreover, the Ethereum Foundation cannot be accused of centralization. They provide the code that others could not program, but they leave the decision to the community, the miners. The miners are the decentralized judges of this situation.
What do the miners / mining pools say about this?
We follow the decision of the majority. However, we believe that the decision to do a soft fork for a smart contract will have a significant impact on Ethereum’s reputation.
How does this incident affect Ethereum and Bitcoin?
Ethereum has already suffered image and “price damage” now. The smart contracts are not so smart after all. The further impact will be determined depending on the outcome of the situation.
If the hard fork does not go through and the 3.6 million Ether is locked, there will be an artificial shortage. If there is no soft fork, the attacker will receive these Ethers and will flog them. If the Dao gets the Ether back, there will be more Ether on the market again. However, psychology plays a big role here. It may be that Dao investors are investing in the Ethereum ecosystem or in the Ether currency due to the increased confidence.
Who was the attacker and does he own the Ether?
A letter has surfaced claiming that the attacker is speaking out. Roughly summarized, the letter states: I only executed the code and thus acted within the scope of the contract. The 3.6 million Ether belong to me.
So far it could not be confirmed that the letter is from the attacker. It is likely that this is an attack to divide the Ethereum community.
Moreover, it is very unlikely that the attacker will risk being discovered. If he goes public, it will probably hail criminal charges (if any damage is done).
In addition, he certainly acted with foresight, i.e. he gambled on Dao tokens and Ether falling in price and was thus able to make tidy profits.
Conclusion: the mistake was known
The person who exploited the programming code is not a legitimate owner of the coins. He (she/he) has willfully abused a vulnerability instead of pointing out the vulnerability. The attacker could have also split the Ether and addressed the Ether community after the fact that he found the bug and returned the Ether Coins. The Dao could have continued to exist that way and the investors of the Dao would have certainly paid him a reward for uncovering it.
The problem is that this vulnerability was known and not fixed. There were warnings about this bug, but the scope of the vulnerability was misjudged. Just a few days before the attack, a blog article was published by slock.it, which apparently considers this very bug to be harmless. Or rather, that the Dao assets were not at risk.
However, the work ethic from the beginning of the Dao Armageddon must be acknowledged and praised. This mistake was not intentional and is damaging to slock.it. People make mistakes, that should be considered before someone here swings big hate speeches. Constructive criticism is necessary at this stage. Nevertheless, Ethereum and the Dao have to deal with the schadenfreude of non-investors and other cryptocurrencies. Those who do the damage do not need to provide for the ridicule.
The future of Ethereum depends on Ethereum laymen, the masses. If the money is not returned to the rightful owners after a theft, then this will burn itself into the minds of the people. The lay people do not necessarily care about the decentralized ideology aspect, but they understand what ownership and theft mean. Any first uninfluenced statement from a layperson will be: This is theft. And that’s how this action needs to be evaluated to prepare Ethereum for the future.