The number of algorithms/consensus protocols that we see powering the various cryptocurrency products keeps rising by the day. Ever since the days of Proof-of-Work algorithms, various new inventions in the way blockchains govern themselves and produce their blocks have been implemented. Proof of Stake (PoS), Delegated Proof of Stake (DPoS), Proof of Weight, Byzantine Fault Tolerance (BFT), Directed Acyclic Graphs (DAGs), Proof of Elapsed Time (PoET) are just some of the laureates in the blockchain consensus Olympics. Today however we will be putting all of these aside and look at one specific algorithm called Proof of Assignment (PoA).
Proof-of-Assignment (PoA) is a consensus algorithm which can be used for permissioned ledgers. A permissioned ledger is one which isn’t available for public utility and has a limited number of users. It uses a set of “authorities” which are basically designated nodes that are in charge of creating new blocks and securing the ledger. With the PoA algorithm, a ledger will need a majority of its authority nodes to “approve” of a block in order for that block to be added.
This algorithm is very suitable for private networks, due to its ability to keep outsiders from participating in the consensus. However, its biggest feature is that it’s rather centralized. This helps it be more efficient and more scalable than the average public blockchain. Its faster, requires less power (both computational and electrical), it does suffer from all the usual pains that already existing centralized systems do:
- Lack of robustness
- Questions regarding the fairness selection of the authority nodes
- Isn’t Byzantine Fault tolerant (neither does it need to be)
- Potential security issues
PoA is seen as the answer to the shortcomings of currently most popular algorithms – PoW and PoS – which come to light when we attempt to apply these algorithms on the Internet of Things (IoT). IoT will be the network of physical devices, vehicles, home appliances, and other items embedded with electronics, software, sensors, actuators, and connectivity; In 2017 there were 8.4 billion IoT devices recorded globally and this number is expected to rise to 30 billion in 2020, according to Gartner. Most of these devices can and will be very limited when it comes to energy consumption.
PoW is currently very widespread but its cryptography solving system isn’t very environmentally friendly as it consumes a lot of energy. PoS requires less energy, but both are still too wasteful for IoT applications. In order to create a compact device that will be capable of existing and being mass produced in the IoT infrastructure, something smaller and much more energy efficient was required. PoA devices are exactly that.
The technology seems rather impressive already. Capable of processing thousands of transactions per second, the target of companies developing it is to reach 1 M/tps and leave even the centralized competitors like Visa in the dust. PoA can be safely deployed on IoT devices without risks of significant memory/energy loss. At the moment, PoA is being tried and tested on such projects like POA.Network, Ethereum Kovan testnet and IOTW. IOTW especially leads in this area, as they utilize the concept of “Micro Mining”, where IoT devices are required to perform relatively simple cryptography tasks while the authority nodes maintain the network’s transaction ledger.
So while PoA algorithms remain in their infancy, there is a lot of promise about them. For sure there is a lot of work ahead of the developers of this algorithm, but it’s almost certain that many product manufacturers, agents, distributors and service providers will be looking to become strategic partners with IOTW and similar PoA blockchains in the future. Any IoT device could benefit from this algorithm; the question remains will the companies/people be willing to accept the levels of centralization it brings. The answer to this question will probably be given soon enough.