A Guide to Consensus Algorithms on Blockchain Networks Part 12

Nothing at stake issue with Proof of Stake. The issue of having nothing at stake. Forks.

 

Many of the early blockchain networks that used chain-based proof of stake (as opposed to networks such as Stellar Lumens XLM and NEO that use variations of Byzantine Fault Tolerance proof of stake), had rewards for miners creating blocks of the blockchains similarly to Bitcoin’s proof of work and did not have any penalties because proof of work doesn’t have any penalties.

On the Bitcoin network, miners are free to participate in mining whenever they want and are free to stop mining whenever they want and potentially join a different network. When and if they do, they will not be getting any rewards from the Bitcoin network, but there are no penalties. Miners do not have to pay a fee when they stop, their coins do not disappear or go down in value.

The difference between proof of work and proof of stake is what later became known as “nothing at stake problem.” The issue is that with proof of work miners are solving mathematical problems (creating hashes) and they can only be solving the problems on one network at a time. A miner could mine on several platforms by switching often, but it would still be one network at a time.

However, this is very different with proof of stake. To understand why, you need to understand how fork on blockchain networks (forks work similarly on all networks, regardless of what consensus algorithm the network is using).

 

 

Introduction to forks on blockchain networks

A cryptocurrency network is usually a combination of philosophy, technological approach, development approach of the network, community of users, and more. For example, the philosophy behind digital money and blockchain technology is more or less the same for all cryptocurrency networks. The philosophy is about transparency, absence of central authority, full access for everyone, decentralized storage of information, and immunity of records.

Technological approach varies from network to network. For example, the Bitcoin network is just a financial application and miners on the network only compile information about financial transactions into blocks of Bitcoin blockchain. The Ethereum network in addition to financial capabilities has Ethereum Virtual Machine that can execute computer code and run smart contracts, which are contracts on the Ethereum network. Such contracts can communicate with external sources of information and run fully independently. For example, a smart contract on the Ethereum network can be gathering temperature data and execute an insurance claim is a crop of a farmer spends a period of time in hot or cold weather.

Other networks may have other capabilities. For example, Steem Network is a social blockchain network on which users can post content and get paid when others like their content. Blocks of Steem explorer contain all kinds of information about the content. For example, as you can see here https://steemblockexplorer.com/block/23026075 , block #23026075 of the Steem Blockchain contains information about users following other users, users liking (or “upvoting” as it is called on the Steem network) posts by other users and so on.

With all of this going on, it is easy to forget that the main part of any blockchain network is software. Software is the main part because on most public blockchains such as Bitcoin, Ethereum and others, software is open-source, meaning that any person can download it and use it at any time in any way the person wants, including taking the code apart and using any or all of it in any way, shape or form, be it inspection of the code or use of parts of code to create a new blockchain network or some other software.

Practically speaking, this means that even the philosophy behind a network changes or if something else changes, the code will still exist.

A fork on a blockchain network is a modification to the code of the software (there are also temporary forks that happen on blockchain networks all the time, but in case of unintentional temporary forks a blockchain network resolves the issue quickly in a way that most people don’t even notice that there was an issue. This article focuses on intentional forks). Typically, a blockchain network would have a non-profit foundation that works on improving the network and creating new versions of software.