Forks and rewards.
The notion of a fork is critically important on public blockchains because nobody can force users to download and start using a new version of software.
Both users and miners can simply ignore any update and keep using the network the way they have been using it before, no matter what improvements the creators of new code are promising to the members of the community.
This means that simply issuing a new version of software is not enough, which is very different what happens in conventional computing.
When you have a computer running Microsoft Windows or MacOS and Microsoft or Apple issue an update, it is in your interest to download, install and start using the update.
Typically, conventional companies issue updates to provide users with new features to stay ahead of the competition or to fix the flaws in the software. Also, there’s no potential financial incentive for users to not download the software.
Therefore, in both of these cases, users are interested in getting the software. And in the instance of something going wrong, there is a central authority responsible for what is happening. Companies such as Microsoft and Apple are public companies and problems with their software can impact their stock in a negative way, so it is in their self-interest to be creating products that are secure and work as advertised.
This is not what happens with blockchain networks. A foundation may issue an update that users do not believe is beneficial to them. Users can also choose to see what happens to the price of the network’s coin. If users do not understand how an update works, they may choose to wait and see what happens, which is not the case with updates from Microsoft and Apple and people often having their devices downloading and installing updates automatically, without sending any notifications. For this reason, success of a developing blockchain network is not just about software but it is also about communication and being able to cultivate a community of users and miners, talk to them, get feedback from them and explain changes to them in case of an update so that the network goes through a fork update smoothly, without losing a large number of miners or users.
Types of forks on blockchain networks
Blockchain forks can be soft and hard. With soft forks, the software is backwards compatible and with hard forks it is not. In practical terms it means that with a soft fork, new software and old software will work together and with a hard fork you can’t operate on a new version of the network if you don’t download and install the update. With a hard fork, if you are using old software, you are a part of a new network.
Typically, with a case of a foundation issuing an update, the old network would be called Core or Classic and the new network will keep the name. This has been the case with Bitcoin Core vs Bitcoin forks such as Bitcoin Cash, Ethereum vs Ethereum Classic, and others.
The problem of nothing at stake
When a fork occurs on a network, be it the introduction of Bitcoin Cash or new Ethereum vs Ethereum Classic, the network splits in two. This means that users who had funds on a network before the split will have the same amount of funds on two networks.
While some people think that this is free money, it is not necessarily so because when a network splits, the value of both coins typically goes down and the sum of two values may or may not exceed the value of the original coin.
With a hard fork, there are a lot of risks and a lot of chances of things going wrong such as miners switching between the network or switching mining on a different blockchain network altogether because of the stability of the network compared to the network that is going through a fork.
High risk means a potential of high rewards but it can also result in high losses, so a fork that ends up with users having funds on two networks is not always a winning scenario.
With blockchain networks that have proof of work as consensus algorithm everything is easy: miners need to make a decision for which blockchain network they will be mining the blocks after a fork occurs. In the instance of a hard fork, the software is not compatible and there is a two-option choice that miners need to make.
However, with proof of stake the issue becomes complex because miners now have stake not in one network, but in two networks and if there are no penalties, it is in the interest of miners to be getting rewards from two networks and possibly wait before deciding to which network they want to commit. The result of this is that the short term self-interest of a miner may be different from both short term and long term goals of a network. A proof of stake network with a large number of such miners may not be able to reach consensus for a prolonged period of time.