Few digging questions on PoA vs PoS


#1

Hello all, i’m writing here because i have few questions that i would like to fill out

  1. We know that in PoA the set of validators is well known and public. But many says that PoA is like PoS but the stake is the Authority of each node itself. Can you explain me that? I mean, the algorithm (lottery) for choosing the next validator is the same of a generic PoS algorirthm where instead of using stake it uses some authority index?

  2. As rewarding for the winner there are only transaction fees ?

3)Do you think is possible using PoA network without a built in token? Excluding the rewarding system of course

Many thanks and congrats for your amazing project!


#2

Bud,

Thanks for the question.

As a Validator on both the Sokol testnet and mainnet Core here are my views:

  1. POA Network uses a consensus Algorithm called Aura. This is a round robin algorithm where the current Validator node has 5 seconds to create a block. If the current Validator node is unable to do so for what ever reason, it will go to the next Validator node. Also, a clarification the node is not a stake per se but rather the identity of the person who is hosting the Validator node.

From: ( https://medium.com/poa-network/proof-of-authority-consensus-model-with-identity-at-stake-d5bd15463256 )

Just like in PoS, in PoA consensus, identity as a form of stake is also scarce. But unlike PoS, there’s only one identity per person. Unless we dive into criminal affairs or psychological complications, the majority of people only have one true identity.

Staking identity means voluntarily disclosing who you are in exchange for the right to validate the blocks.

So staking of one’s Identity, maintenance ( availability, performance, security ) of a Validator node ( time/cost ), participating in community, POA network maintenance and online governance are the responsibilities/risks one assumes to acquire rights to the block creation and rewards ( see 2 ).

  1. There rewards for creating a block are based on the value of the network whereby the first year 1% of the network will be distributed across Validator nodes. Clearly the more Validator nodes the less the reward for each block created.

  2. Yes, it is possible to run a PoA network without a built in token or reward. This is usually the use case for a private PoA network. POA Network is a public network so the built in token serves as an incentive for all players to act in best interest of POA Network and community.

John


#3

John, many thanks for your help. I still have some doubts that i would like to cover, sorry but i need to understand and dive into things for sleeping well.

What i do not understand is that in PoS, everyone with a certain amount of stake (cryptocurrency on that chain) partecipating in consensus and the validator node is choosen among more or less every node on the network. So they “bet” their stakes to win the lottery.
Here instead, there are only 12 trusted validators that in turn seal blocks to the chain. So the first difference is that here the validator set is limitated to 12 members, in PoS instead, everyone can be a staker.

Furthermore, if you consider me as a normal user of PoA Network (not in the validator set) i perform a tx and i trust one of you notary for adding it in the chain right? So hundreds of user propagate/broadcast their transactions and only 12 validators are allowed to add them in the chain !?
Is this not a sort of DPoS?

More technical questions on whitepaper:

  1. In the whitepaper is stated that "

" Block can be verified by checking that the signature belongs to the correct primary for the given step. "

Backup nodes for that step simply check that the received block has the signature of the current step leader/primary? What if the Primary itself is maliciuous ? Can someone explain me in detail how the Primary’s block verification works?

2)The Master of Ceremony is a fixed validator of the validator set or is a software entity?

3)Difference between mining node and a validator one?

4)How can i adjust the PoA network to use it in a private environment?


#4

Bud,

Thanks for your deep questions.

Regarding 1 & 4 above, You can find details around PoA consensus ( here ) and and private chains ( here ).

Specifically regarding a malicious Primary node, my understanding is that if the current Primary is malicious and attempts to add a block to a different chain, i.e. not the “best” chain known by the majority of other Validators ( who also need to verify the block ) the block creation would fail.

(2) The Master of Ceremony is a Validator node ( a software entity ) that participates in Consensus ( is part of the Validator set of Aura Consensus that creates blocks ) but has limited voting rights in the Governance model.

(3) There are no mining nodes in a PoA network, Mining in Proof of Work ( PoW ) consensus is a node that solves an arbitrarily complex mathematical puzzle using specialized hardware and lots of energy for the right to create a block on the chain. In PoA, there is a well defined set of Validators who stake their identity and reputation to create blocks. Seems in current parlance “mining” and block creation have become synonymous, likely given the dominance of PoW in first generation blockchains.

Hope this helps.

John


#5

many thanks John. few more things

  1. The MoC and its distributing keys’s feature is performed only in the first step of the chain? or happens in each step ?

2)Reading your link, i find out this

The protocol contains a chain scoring rule SCORE ( C )
On each step, each honest node will propagate the chain with the highest score it knows
about to all other nodes. Honest primaries will only issue blocks on top of the best chain they are aware of during their turn."

Can you explain me this better ? I mean the primary send the block on top of its highly scored chain and each validator who receives this block propagate the highly scored chain signed ?


#6

Bud,

Regarding (1) – The MoC and the Initiation Ceremony are done once and only once to bootstrap the network.

There is a description on our wiki: Governance Overview

Regarding (2) – This is deep question, don’t really have the expertise to provide a thorough answer. Further on in the Aura documentation.

Finality

Under the assumption of a synchronous network which propagates messages within the step duration t,

Let SIG_SET(Blocks) be the set of all authors of the blocks in Blocks

If there is a valid chain C ending with C[K…], where |SIG_SET(C[K…])| > n/2, then C[K] and all of its ancestors are finalized.

This definition of finality stems from a simple majority vote. In this setting, 2f + 1 <= n, so the faulty nodes cannot finalize a block all on their own.

POA Network had and independent audit done on Aura Consensus Protocol ( here ), which endorses the claim that Aura is tolerant up to 50% malicious nodes.

Hope this helps and sorry couldn’t give a more precise answer.


#7

Thanks man. Don’t worry if you are not able to respond i’ll have time to get deeper. Can i ask you as well:

  1. Are you using an ETHEREUM chain or a new one built from skratch? In the first case, you just “downloaded” and adjusted the open source code for the ethereum chain?

  2. Secondly, what is parity and how are you related with that?


#8

Just wanted to clarify on your question regarding PoA: the MoC process originally initiated 12 validators into the core network but through the governance model, new validators will continue to be voted in. The minimum criteria for new validators to be added is that the have to be 1) notary public & 2) participated in POA testnet. be At the current moment, there are actually 13 validators on the core network and will continue to expand - there’s actually a pretty interesting discussion previously discussing the benefits of adding in more validators. Business Modeling


#9

HI John, I really enjoyed your answer for POA vs POS. Comparing POA vs POS vs POW has been really critical in my learning about the role of POA in the blockchain ecosystem.


#10

Theresa,

Glad you found comparison useful. Always looking for opportunities to improve so please share any comments/critiques.

Also, would be nice to hear your thoughts on how you view POA’s role in the Blockchain ecosystem.

Thanks,
john


#11

Here is some of the information I found useful to add to what you already mentioned. I found it helpful comparing POW vs. POS vs POA. Some main points being the advantage of POA for decentralization and the network’s resilience against malicious nodes.

POS and POW are limited in that with POS it could take one entity with large enough capital to gain over 50% stake in a network to control. POW has similar issues with BTC and ETH containing 3 hash pools with around 50% of the network. It is not that decentralized.

I looked further into “Decentralization in Bitcoin and Ethereum Networks” paper https://arxiv.org/abs/1801.03998 where results show that Byzantine’s quorum system of a size 20 could achieve better decentralization than POW while also containing much lower in resource costs. With POA since each validator is treated equally and if you have 20-25 validator nodes, then it become much more decentralized than POW and POS with a few large entities that contain a majority stake for participation in consensus. Miners are limited in POW, and POS where those eligible for staking is finite. PoA, validators are known, and real decentralization can occur when projects can launch their chains (sub -chains) .

I also looked into the Aura Consensus Protocol Audit . Since the goals of collusion of malicious nodes are to seal blocks that should not be sealed to influence selection of a validator. Collusion of more than 50% of the validators could disrupt the protocol execution in which more validators in the network allows for the network to be more resilient against malicious nodes.

As Bud mentioned, I do still need help comparing POA vs DPOS. It would be great to hear your thoughts of comparisons of the two.