xDai and POA Forum

Capacities of the POA blockchain

Hello,

I would have liked to have information on the capacities of the POA blockchain, and what are the discriminating factors that make it possible to obtain this information, in particular the possibilities in transactions per second.

For example, what is the advantage of having several virtual machines supporting several nodes compared to a physical dedicated server supporting only one node?

Yours sincerely,

I would have liked to have information on the capacities of the POA blockchain, and what are the discriminating factors that make it possible to obtain this information, in particular the possibilities in transactions per second.

in Ethereum one transaction can consume all gas per block. In the worst-case scenario, the POA network can process 0.2 tx/s

for transfers between accounts where gas consumption is 21k gas per transaction with 10mm gas per block and block time of 5sec on average you can expect ~ 95 tx/s

On VM with other VMs one VM can be attacked via silicon vulnerabilities like Meltdown and Spectre and the secret of validator can be read from memory. On a dedicated host, this attack is less likely.

Several nodes increase properties of availability, failover, resistance to network split attacks, or Eclipse attacks.

Thank you very much.

Let me get this straight:

The number of transactions per second is defined by TPS= (gasLimitBlock/gasLimit)/IntervalTime.

Increasing the number of validators increases network security. For this it is more interesting to have your own dedicated servers in order to limit the physical access to the servers.

Let’s imagine that I deploy my own network with 3 dedicated servers in secure facilities (the dream :wink: ), is it more interesting to use the power of the 3 dedicated servers, or to practice virtualization in order to have 300 less powerful virtual machines. On the one hand I have 3 very powerful dedicated servers but only 3 validators, on the other hand I have 300 small virtual machines but 300 validators.

The goal is to be able to have a maximum of transactions per second.

Thank you for your help.

The number of transactions per second is defined by TPS= (gasLimitBlock/gasLimit)/IntervalTime.

TPS =\frac{\sum\nolimits transactions\_in\_ block}{block\_time}

Increasing the number of validators increases network security.

in most cases. For BFT consensuses the required number of validators to tolerate faults is 3f+1 where f is a number of tolerated faults.

For this it is more interesting to have your own dedicated servers in order to limit the physical access to the servers.

Usually, validators are distributed even in federated networks. It’s very unlikely to get required physical access to servers of validators in a distributed network. Even for state-level adversaries it’s not feasible because validators are free to select hosting platforms on their own and migrate between options. Such migration costs way fewer resources to validators than to adversaries.

POA consensus is not designed to scale to hundreds of validators. 300 validators for one network is an overhead in most possible applications of such networks. The better approach is to have a set of validators per epoch and randomly select them with some weight function, e.g. based on their stake. We implemented such mechanic in POSDAO consensus. You can read about it here https://www.xdaichain.com/for-validators/posdao-whitepaper

The goal is to be able to have a maximum of transactions per second.

maximum TPS you can get on a single node.

thank you so much for taking the time to respond.