Validators in blockchain networks’ proof of authority (POA) consensus mechanism validate transactions and create new blocks through consensus. Validators rely on reputation/identity score rather than computational power/token holdings, unlike proof of work (pow) or proof of stake (pos).
The system in POA networks is efficient and fast because validators are pre-approved and qualified. PoA is best suited for private or consortium blockchains with known and trusted participants, such as supply chain management or enterprise applications.
Table of Contents
Motivation and Early Development
PoA was developed to overcome the limited scalability problems interrelating to the use of PoW (as used in Bitcoin, Ethereum, or other blockchains) and fast and effective verification in private (permissioned) blockchains where the participants are known and trusted. PoA networks were created for consortiums or enterprise applications where a small group of validators runs under predefined rules and unlike public blockchains anyone can participate.
Private and Permissioned Networks adoption, 2018:
The use of PoA then gained momentum with the launch of Ethereum-based side chains such as Kovan Testnet and Rinkeby Testnet, which both use PoA for the speedy finality of transactions.
PoA could quickly create blocks and yet remain secure and stable for non-production environments, which was demonstrated in these test networks.
POA Network: The POA Network was one of the first public PoA implementations aiming to create a decentralized blockchain infrastructure for running dApps with speed, cost efficiency, and interoperability in mind.
Calculation of Proof of Authority
- Validator Selection:
Validators are chosen because of predefined criteria such as reputation or identity. Typically, 𝑛 in the network n validators are implied and 𝑛 is a small number. Each validator has the same authority.
- Block Production Process:
Assume that we have 𝑁 total number of validators. Validators take turns proposing blocks in a round-robin or time-based schedule. For example, let us say that the validator 𝑉𝑖 generates a block at time 𝑡, and therefore next validator 𝑉(𝑖+1) mode will choose the next block at t+Δt.
- Block Time Calculation:
Block time (𝑇𝑏) is predetermined, usually short, such as 5-10 seconds. A new block is generated after every fixed interval 𝑇𝑏 by validator 𝑉𝑖. If the block time is missed by one validator, the responsibility is shifted to the next in line.
- Deterministic Selection Formula:
The validator responsible for producing the block at time 𝑡 can be calculated using: 𝑉𝑖=(𝑡÷𝑇𝑏)mod𝑁 Where: 𝑡: Current time 𝑇𝑏: Block time 𝑁: Total number of validators 𝑉𝑖: The current block’s validator index (the one responsible for the current block)
- PoA: Byzantine Fault Tolerance.
While PoA networks can include BFT mechanisms to handle failures: Next if the validator fails to create a block within the time, the next validator would create that block in sequence. Validators may lose their ability to perform over time through penalization for non-performance.
Example of PoA Calculation
Assuming Nb=5 validators and block time Tb=10 seconds, suppose B =10.
- t=30 seconds, the responsible validator will be:
Vi= (30÷10)mod5=3mod5=3
Validator 3 will produce the block at this time.
- At time t=40 seconds, the calculation becomes:
Vi= (40÷10)mod5=4mod5=4
Validator 4 will now take its turn.
Proof of Authority (PoA) applications
Since PoA’s advantage in efficiency, low latency, and trust of validators, it’s a good fit for many use cases, especially within permissioned networks. Below are some prominent applications:
- Supply Chain Management:
Supply chains in businesses use Proof-of-Authority (PoA) based blockchains to transparently monitor goods and products.
Example: To enable product traceability from end to end, Chain uses a PoA consensus to enforce product traceability across industries such as pharmaceuticals, luxury goods, and agriculture. Benefits: Tracking shipments and products in real-time. Both validations with a minimum of computational power.
- Enterprise Blockchains and Consortiums:
PoA is used by organizations and consortia to create private blockchains based on pre-authorized participants. Example: The PoA networks supported by Microsoft’s Azure Blockchain Service facilitated enterprises to build data-sharing networks capable of high throughput.
Use Case: Banks and financial institutions use PoA across a group of pre-approved entities for inter-bank settlements and data sharing among these entities.
Public Services and Governments:
PoA is widely used by governments in public service systems as the trust of participants is mandatory.
Example: PoA was investigated by Brazil’s government to create secure blockchain solutions for land registries and other public records. Benefit: It forces only authorized officials to approve transactions, and prevents someone else from tampering with the public data.
- Identity Management Systems:
In PoA, the chain has identity records and verified authorities can only issue or update credentials.
Example: PoA is used by consortiums that manage digital identities (schools, banks) to issue, update, or revoke verified credentials. Benefit: It stops identity fraud and means quick, easy credential verification.
- Blockchain Networks have their tenets:
Ethereum-based testnets heavily use PoA due to speed and reliability considerations over decentralization. Kovan: PoA is used by these testnets to permit application developer dApps to be run on top of blockchain testnets in a controlled environment. Reason: Validators are trusted participants (like foundations or companies) guaranteeing that things are predictable and stable concerning network operations.
- Gaming and NFT Platforms:
Low fees and fast transactions are critical in gaming and non-fungible token (NFT) platforms, and PoA networks may be used in these.
Example: Platforms using poa could effectively run nft-based assets or in-game currencies, providing users with a smooth experience while also avoiding bottlenecks in scaling capabilities.
- Healthcare Data Sharing In the healthcare industry:
Data sharing between hospitals, insurance companies, and research institutes is made secure by poA-based blockchains.
Use Case: PoA is used by healthcare consortia to keep patient data and share it between trusted parties without the use of a decentralized network. Benefit: Uncomplicated application, high transaction speed, and data security.
Limitations of Proof of Authority (PoA)
Although PoA doesn’t seem to shine in terms of its positive attributes compared to deployments that require a Proof of Work (PoW) chain mode, it has a couple of downsides that tend to constrain its adoption for some blockchain deployments.
- Decentralization of PoA suffers from reliance on a small set of trusted validators. As a result, these validators hold too much power in the network, and an action by a few of them may lead to collusion or manipulation of the network’s consensus process.
- PoA assumes that there is a set of known, trusted validators and so is best suited for private or permissioned blockchains. Its use in public, open blockchains (decentralized, trustless networks), however, is limited by this.
- In the case of the former, the validators need to reveal their identity and reputation to the network to secure their reputation. It compromises privacy making PoA monopoly unsuitable for such systems where participants may seek to remain anonymous as is the case for many public blockchain ecosystems.
- The network would get disrupted if any of the validator’s nodes stops responding or is compromised. There are fallback mechanisms (say switch to the next validator) but these failures can introduce time or reliability issues.
Conclusion
As opposed to cryptographic competition, PoA based on deterministic logic chooses between validators based on their identity and reputation.
Time-based block production is the basis for calculating within PoA with minimal overhead. PoA’s predictable nature makes it perfect for private blockchains and permissioned blockchain systems lack suitability for public blockchains due to centralization, trust dependencies, and regulatory risks, despite its advantages of efficiency, low cost, and fast block production.
In private or consortium blockchains with known, trusted, and willing participants, it’s best to sacrifice decentralization for performance.