We have already seen that consensus methods are fundamental for the whole blockchain concept. While Proof of Work is the consensus method adopted by Bitcoin, it is not the only one we can find in the cryptocurrency space.
A consensus protocol is needed to ensure that the processed transactions are valid for the nodes of the system. It is also essential in order to avoid cheating of the system at a general level.
Lastly, it provides for consistency between all the nodes partecipating in the system. This means that all the nodes should in principle provide the same indication of acceptance or refusal of a transaction. It is still however possible that some nodes fail to provide an answer consistent with the others. This could happen for inefficiency of the node or in case a node is trying to cheat the system. In such a case, the consensus method should provide a certaing degree of fault tolerance, meaning that the whole system should not result compromised.
Lastly, it provides for consistency between all the nodes partecipating in the system. This means that all the nodes should in principle provide the same indication of acceptance or refusal of a transaction. It is still however possible that some nodes fail to provide an answer consistent with the others. This could happen for inefficiency of the node or in case a node is trying to cheat the system. In such a case, the consensus method should provide a certaing degree of fault tolerance, meaning that the whole system should not result compromised.
Each of the consensus methods tries to provide its own solution to the previous outlined necessities. We will below describe the most popular ones.
Proof of Work is the consensus method made famous by bitcoin. It is based on the principle that nodes have to solve a “problem” in order to be able to validate transactions and add blocks to the chain. This problem consists in the generation of a hash, which is a long string of numbers and letters which represents the proper “proof” of work.
This string must respect some conditions in order to be valid, which are more and more stringent the more the chain grows. The computational power needed to generate a valid hash is therefore always increasing, making the “problem” more and more difficult. Nodes try to generate a valid hash competing with each other and , once a valid one is found, it is published on the network and transactions are validated, also creating a new block. The reward, as already mentioned, consists in a coin of the system. It is important to note that the hash also permits a link to the previous block of transactions. Also, it permits to verify if a transaction is trying to be altered and reject it, given that it points to all past valid transactions and can check for those.
Basically, trying to alter the blockchain would consist in trying to alter a lot of blocks, all the ones coming after the one object of the modification. A blockchain exploiting proof-of-work is therefore pretty safe.
Problems come in the form of the computational power needed for satisfying the proof of work the more the conditions to satisfy become strict. The network could not be able to offer cost-efficiency for the nodes and eventually eliminates for them all the incentives in partecipating to the network itself. Also, the always increasing complexity of the process affects the speed of the network, which cannot process transactions as fast as it should.
An alternative consensus method is the so called Proof of Stake. In this process, there is no work to be done from the nodes, so no problem to be solved in order to create a new block.
The system is based instead on the fact that nodes are actual owners of the coin and put their wealth at stake. They are randomly chosen in order to create the new block, with increasing probability with respect to their wealth. If they act in a fraudulent manner, however, and the block is not deemed valid for the system, they lose the wealth put at stake.
The lack of need for a lot of computing power makes for more light and fast networks while still providing incentives for not cheating the system.
Differently from the Proof of Work method, it is not possible to mine a new coin and usually the whole number of those is premined. The reward for the nodes of the network is represented by transaction fees they get in order to validate transactions.
Still, there is nothing preventing a node to cheat the system apart from the wealth put at stake, which can in principle be not enough to guarantee a fair behaviour.
Ethereum, which is currently operating with a Proof of Work consensus method, will soon switch to a Proof of Stake one.
While those two are the most widespread, several other consensus methods do exist. Proof of Capacity is based on the hard drive space the node has at his disposal, which increase the chance of being chosen for mining a new block.
Proof of Elapsed Time makes a random choice based on the time of connection to the network, in which nodes are chosen randomly and can mine a new block.
All these variations solve in principle the computational intensity problem of the Proof of Work consensus method. Still, they are not as widespread as the first two because usually they are not as safe, not as efficient or simply they offer not as much disincentive to cheat the system.