Proof of authority

Proof of authority

Proof of authority (PoA) is a permissioned consensus mechanism wherein consensus is referred to a group of known and reputable validators who are authorized to process transactions.

Proof of authority (PoA) is a permissioned consensus mechanism wherein consensus is referred to a group of known and reputable validators. Validators are member nodes who are authorized to take part in validating transactions and adding blocks to the blockchain.

In a proof-of-authority system, each member node has its own unique identity. Validators can run redundant nodes for each identity to ensure that consensus participation is maintained even in the event that one node goes down. 

Advantages and Disadvantages of Proof-of-Authority

Achieving consensus through a network of authorized nodes gives proof-of-authority some advantages and disadvantages when compared to other consensus algorithms such as proof-of-work and proof-of-stake.

With known and reputable validators, there is no need to mine cryptocurrencies in a PoA system. This is because the purpose of mining in permissionless, decentralized blockchain systems is to provide economic incentives for nodes to validate transactions honestly. When nodes are already identified and authorized by network administrators in order to participate, they don't need to be incentivized to be honest in this manner.

As a result, PoA can achieve greater efficiency relative to other consensus mechanisms that use cryptographic hash functions. Transaction throughput is limited by bandwidth instead of more severe limits in software and hardware, and fees can be set and maintained rather than fluctuating with the market. Additionally, PoA has high Byzantine Fault Tolerance compared to typical centralized systems without a distributed consensus mechanism. 

A disadvantage of PoA is that it isn't suitable for most non-enterprise applications because it requires users to trust validators and authorizers, whereas public blockchains aim to be trustless.

Use Cases for Proof-of-Authority

Due to its permissioned nature, proof-of-authority is best-suited to be the consensus algorithm used in private blockchain networks.

A proof-of-authority algorithm called Aura (Authority Round) has been implemented in Ethereum's Rust-based client, Parity. Microsoft built an enterprise blockchain solution on top of Aura which is named Azure. There are several features of Azure that make it ideal for enterprise clients, including that enterprise developers can write smart contracts in popular programming languages such as C++ and Rust instead of Solidity. 

A second implementation of proof-of-authority on Ethereum is an algorithm in Geth (GoLang-based Ethereum client) called Clique. There is an active testnet using Clique consensus named Rinkeby.



Related Golden topics

Further reading


Clique: cross-client Proof-of-authority algorithm for Ethereum

Timur Badretdinov


Ethereum Proof-of-Authority on Azure

Cody Born

Setup your own private Proof-of-Authority Ethereum network with Geth



Documentaries, videos and podcasts


Ethereum Proof of Authority Tutorial in Azure

November 4, 2018




Satya Nadella

Seattle, Washington