27 May 2020
Ever since the first Bitcoin transaction, there is tremendous growth in the cryptosphere. To validate all these transactions and to achieve a common agreement within the network many consensus algorithms like Proof of Work, Proof of Stake, Proof of burn were proposed and are being used for winning the race to get a chance of validation in order to get rewards a cryptocurrency. These consensus mechanisms are considered as the backbone of the cryptosphere. Each algorithm proposed has the same destination/work purpose but the way to reach the goal is different. The goal of each of them is to validate the transactions and get a reward as cryptocurrency.
Proof of work (PoW) algorithm that completely relies on mining requires solving of a complex cryptographic puzzle, large amounts of electricity and, computing power. The proof of burn (PoB) algorithm depends on the number of coins burnt with no guarantee that the user will recover the equivalent amount of the coins burnt. Proof of stake (PoS) works on the basis of cryptocurrency held as a stake in order to validate the transactions. The more number of coins held as stake the more is the chance of getting the validation. Compared to all them, Proof of Authority (PoA) is different and solves all the above-mentioned problems.
Proof of Authority (PoA) works differently. It is regarded as a modified mechanism of Proof of stake in which the individual’s identity is taken as a stake rather than the monetary value. In other words, it is a reputation-based algorithm in which the validator’s identity in the network decides whether he/she can validate the transaction and receive rewards. The term PoA was coined by Gavin Wood, co-founder of Ethereum and Parity Technologies. To become a validator, a user has to clear a series of tests and pre-requisite screenings, once a user is cleared he/she would now be allowed to participate in validating network transactions.
How to establish authority?
The following conditions that must be fulfilled to be validator:
1. The identity must be verified on-chain, with a possibility to cross-check the information in a publicly available domain
2. It should be difficult to obtain eligibility (Example: potential validators are required to obtain public notary license)
3. For establishing an authority there must a standard procedure to be followed.
How does PoA work?
PoA based network is an automated process, it is not mandatory for the validator to constantly monitor their computers but they will require a capable device that runs round the clock. The validators have to run software which allows them to put transactions in the block. The identity of the validator is always kept anonymous by encryption and secured cryptographically and revealed only when the validator processes a fraudulent or malicious transaction. Validators are paid an incentive in the form of transaction fees in case of ‘good’ validating work, however, if the validator processes a malicious or a fraudulent transaction, his node can be deleted and the identity of the validator will be revealed causing him reputational harm.
• Compared to PoW, in PoA there is no requirement of spending computational resources for solving complex mathematical tasks.
• The block generation time in PoW and PoS consensuses varies but block generation time in PoA is predictable
• The authorized network nodes generate block in a sequence at the appointed time interval. This increases the speed of the validation of the transaction.
• PoA only allows non-consecutive block approval from any-one validator, in the network which means the risk of serious damage is minimized.
• PoA foregoes decentralization because by identifying the validators it becomes a centralized system
• PoA isn't suitable for most non-enterprise applications as it requires users to trust validators and authorizers, whereas public blockchains aim to be trustless.
Real-time PoA implementations:
• Ethereum's Rust-based client (Parity) has implemented a PoA algorithm called Aura (Authority Round)
• PoA on Ethereum is an algorithm in Geth (GoLang-based Ethereum client) called Clique
• Ethereum has a public testnet which uses the Clique consensus named Rinkeby.
• PoA is implemented in the Microsoft Azure platform.
PoA is an aid unique consensus algorithm solving the key problems with PoS and PoW consensus and ensures maintaining the legitimacy, security and long-term growth of both cryptocurrency and blockchain technology.