Towards Next-Generation Proof-of-Authority Consensus
peter_zhou last edited by peter_zhou
Towards Next-Generation Proof-of-Authority Consensus
The Proof-of-Authority (PoA) consensus is a consensus algorithm that demands nodes to be authorized in order to participate in blockchain consensus. Once authorized, nodes are given equal chances to publish new blocks and gain rewards. As a result, there is no need for nodes to spend vast amount of resources to compete with each other. In addition, richer nodes won't have more advantages than other nodes in the system.
PoA is also an efficient consensus algorithm in terms of network bandwidth usage. It takes little time to decide block producers and thus, allows more time for transmitting transaction data. The system can, therefore, have a high throughput, or TPS, within the range allowed by the underlying network.
Despite all the advantages and the fact that it has been working securely on VeChainThor in the past year, PoA still has its own limitations. For example, like Ethereum, it lacks, algorithm-wise, an effective means to deter a node from manipulating the system when given the right to add a new block, although PoA makes sure that any traced misbehavior can be used as the evidence against the node later.
Moreover, PoA belongs to the family of the Nakamoto consensus and therefore, only provides probabilistic assurance to the safety of transactions, which might not be enough to maintain system consistency against the extremely asynchronous situation such as being subject to large-scale network partitioning.
Therefore, we have been working on the next-generation PoA that will address these issues and provide the needed security and stability to support the ever-growing on-chain business activities on a public blockchain platform such as VeChainThor. As the outcome of our work, the new PoA will deliver:
- absolute finality (or safety guarantee) on blocks and transactions;
- significant reduction of the platform's risk of being temporarily disrupted = better stability of blockchain service;
- faster-converging probabilistic finality = faster transaction confirmation for applications.
We propose to introduce two new mechanisms into the existing PoA protocol.
The committee-endorsing mechanism fundamentally changes the way a block is created. More specifically, besides the selected block producer, it demands other nodes to participate in the process of forming a new block.
In each round of consensus, some nodes will be randomly selected as a committee member. Committee members need to validate the proposal sent from the block producer and formally endorse the proposal by signing it. The consensus algorithm will demand the block producer to combine sufficient legit endorsements into the new block to make it valid. Furthermore, the verifiable random function (VRF) will be used to make sure that the committee members are truly picked randomly from all the nodes. Note that VRF functions similarly to a cryptographic hash function except that it requires a private key as input.
As a result, to create multiple conflicting blocks, the block producer will now have to work with a certain number of committee members. Due to the use of VRF, he can do so only if
- he colludes with a number of other nodes; and
- among those nodes there are, by chance, a sufficient number of them being selected as a committee member.
The above conditions will make it much harder for the block producer to do so to disrupt the blockchain system. In other words, the probability of a node manipulating its right to add a new block will be kept low. An important implication is that we will be able to reach a satisfactory probabilistic finality (e.g., the probability of a transaction being reverted is smaller than 0.0000001) much faster than the current POA.
Block Finality Mechanism
The block finality mechanism grants qualified blocks absolute safety guarantee. Once a block acquires its finality, the consensus will assure that it cannot be modified, replaced or removed from the public ledger even when the network encounters some extremely asynchronous situation such as being subject to large-scale network partitioning.
In theory, a block can be considered final if it is confirmed by the BFT consensus. We adopt the framework that implements the BFT consensus as a consecutive three-phase process . In each phase, more than two-thirds of nodes have to agree on the block to be confirmed.
To apply the framework, we embed features that carry information of the finality process in blocks and consider endorsing a block as the way the committee members confirm such information. As a result, we can achieve one phase of the BFT consensus on a particular block once observing more than two-thirds of nodes having participated in the chain that descends from the block. We also introduce additional rules to assure system's consistency and liveness.
In this way, instead of asking more than two-thirds of all the nodes to respond simultaneously, our algorithm requires only the block producer and committee to respond in time. As a result, the service will be less likely to be delayed or temporarily halted.
The next-generation PoA will introduce
- committee-endorsing mechanism that significantly lowers the possibility of a node manipulating his right to produce a new block and results in faster converging probabilistic finality;
- block-finality mechanism that grants absolute safety guarantee to blocks (as well as the included transactions) that qualify certain criteria.
It can be seen that both probabilistic and absolute finality will be allowed to coexist by the consensus protocol, providing different levels of security guarantee for applications running on the blockchain platform. In general, the higher security is required, the less efficient the application will be, and vice versa. Consequently, enterprises will be able to select the correct security guarantee that best suits their needs to maximize application performance.
The implementation, testing and integration of the new POA consensus on VeChainThor will have to go through multiple phases. We would expect a brand new test net to be launched for the debugging and testing purposes. Moreover, details of the algorithm will be published in multiple VeChain Improvement Proposals (VIPs). I will write about these VIPs in my future articles.
 Yin, M., Malkhi, D., Reiter, M.K., Gueta, G.G., Abraham, I.: Hotstuff: BFT consensus in the lens of blockchain. arXivpreprint arXiv:1803.05069 (2018)