A Beginner’s guide to Proof of Authority

Introduction to Consensus

In decentralised systems, confirming transactions becomes tricky. The challenge is that the power of confirming a transaction shouldn’t lie in the hands of a single entity. There were several attempts to solve this challenge. The mechanism to confirm these transactions in a decentralised manner is referred to as consensus.

Proof of Work

In the beginning, we started with the proof-of-work consensus mechanism. Here, the entity confirming a transaction needs to solve a mathematical problem in order to validate transactions. Hence, every entity in the decentralised network has equal opportunities to validate transactions as long as they make adequate investments in mining resources.

However, this brought a new problem. The proof-of-work consensus mechanism turned out costly. It has been estimated that by 2020, the first system which implemented this mechanism needs the same energy that is required to power the entire United States.

Proof of Stake

Since the cost was too high, innovators brought in the proof-of-stake mechanism. Here the entity validating transactions needs to put their money at stake. If they behave maliciously they will lose their staked money. Though is was cost-effective, there is still the question: do we achieve true decentralisation?

The minimum amount of investment required to participate in the popular proof-of-stake system is around 1250 ETH (~$220k on 16/11/2018). Hence the power to become a participant in this mechanism is only for the wealthy. They are small in number, hence the power of validation lies in the hands of a few.

Proof of Authority

This problem forced us to innovate and bring in a new consensus mechanism: proof of authority. This mechanism is carried out through three algorithms.

Algorithm 1: Approval of the list of validating nodes

In proof of authority, one doesn’t have to spend excessive energy or need to be wealthy to confirm transactions. However, they need to register into the network and win the votes of existing entities. If the entity behaves maliciously they can be voted out.

Algorithm 2: Determining the right of the entity to confirm the next block of transactions

Here unlike the previous mechanism, the entities participating in the consensus should confirm transactions within a limited period of time. They perform this operation by sequentially validating transactions and confirming their validity through execution. Later it signs these transactions and send them to the network. Once the network receives them, it performs a check to see if the entity has the right to confirm the block of transactions in the specified interval. Since the confirmation of new blocks occurs at a specified time interval, the throughput of this mechanism is drastically higher.

Algorithm 3: Confirmation of transaction validity

In the blockchain ledger, we have a list of confirmed transactions. Now, when the new set of transactions are received, the validating entities can execute these transactions on the confirmed ledger. These transactions are sequentially executed.

Hence every validating entity should reach the same conclusion in the ledger and reach a consensus. In case of discrepancies, the length of individual chains are taken and the longest chain becomes the winner. The other entities whose chain was not accepted will roll back and work over their blocks.

Summary

The consensus is a mechanism in the blockchain to validate a set of transactions. It’s important for the consensus mechanism to be carried out in a decentralised manner because if the power of confirming transaction lies with a single entity, it can be abused.

Though proof of work mechanism was a great innovation, it consumed a ridiculous amount of energy. The proof of stake mechanism which addressed the energy problem brought a new risk of validation being in the hands of wealthy entities.

Hence proof of authority was conceived, where the validating entities are selected through a voting process. They need to validate transactions through execution and reach a consensus for the blocks of the transaction to be confirmed. They provide better decentralization and higher throughput of confirmed transactions when compared with other mechanisms.

Febin John James is one of the top writers in Innovation and Technology on Medium. He writes for publications like Hackernoon, FreeCodeCamp, etc.

Blockchain Business Review from Apla provides high-quality educational material from the world of blockchain to inform the business community of the competitive advantage that can be gained by integrating distributed ledger data storage within organizations. Our mission is to promote knowledge about blockchain and its uses in both the private and public sector and demonstrate the value of blockchain integration.

A Beginner’s guide to Proof of Authority was originally published in Apla on Medium, where people are continuing the conversation by highlighting and responding to this story.

 •  0 comments  •  flag
Share on Twitter
Published on November 16, 2018 04:24
No comments have been added yet.