Read part one here Notes on Gas price in POA Network
Minimal gas price or minimal gas price per a unit of gas in EVM chains decided by a node which creates a block. In the PoW chain such as Ethereum Mainnet or Ubiq, a mining pool usually creates a block. Software in the pool decides what the minimum gas price is. All valid transactions with the gas price below the minimum are not included in blocks. Users of the network can cancel transactions and resubmit them with a higher gas price. This process creates first price auction for computations in each block.
The gas price per mining pool on Ethereum Mainnet can be found here Ethggasstation For the top ten miners on Jul 16, 2018, the lowest gas price was [1,1,1,4,4,4,4,10,14,20] with the weighted average gas price [16,18,22,17,19,23,25,38,49,63] GWei (1e-9 ETH).
On POA Network at the same time, gas price was decided by predefined settings deployed by validators nodes during setup. For the same period it was for lowest [1,1,1,1,1,1,1,1] and for average [1,1,1,1,1,1,1,1,1,1] GWei (1e-9 POA).
On the Mainnet there is no known public off-chain or on-chain governance of the process on gas price regulation. Public off-chain governance can be a form of a general statement of miners on gas price, e.g., on Ethereum Magicians or Ethereum Research forums.
For on-chain governance, mining pools can signal their decision on gas price by on-chain voting in a DApp.
In POA Network all 19 validators are active known individuals. They participate both in public on-chain and off-chain governance to make decisions about the network. They are serving for best interests of the decentralized system to keep the public utility of the network accessible to users.
A new POA Network: POA Zoo
In EVM networks, computational resources are limited due to the nature of distributed applications with byzantine fault tolerance consensus.
POA Core is fast and inexpensive yet eventually will reach its limits of transactions and blocks. Each new network eventually will reach its limits.
There are two main answers to the scalability problem:
- Vertical scalability, where computational resources, e.g., transactions per second, or transactions per block, concurrent users per network, can be increased by optimizing parameters of the network such as block time, block limit, or by modifying underlying algorithms and data structures, or by increasing resources, e.g., links between validators’ nodes, hardware resources.
- Horizontal scalability, where autonomous networks created on-premise by free market forces and interoperability (interop) protocols connect them.
To experiment with scalability and interop concepts, POA Network plans to launch a new network (POA Zoo) with:
- a new consensus algorithm, HoneybadgerBFT, which allows creating systems with adoptable to network conditions block time, the instant finality of blocks, and cryptographic censorship resistance, and much higher transaction per second.
- a minimal number of validators required to keep consensus with one faulty node (3+1). Validators will be a subset of POA Core/Sokol/or Candidates validators.
- a new block reward mechanism used to issue native POA coins on Zoo network using the native-to-native bridge between POA and Zoo.
- Zero premine/emission. Validators of Zoo will not receive coins for creating blocks. They will only receive transactions fees.
- Minimal gas price will be fixed to a stable currency.
Gas price in stable currencies.
Gas price pegged to stable currencies.
Most cloud services, e.g., AWS, Azure, Google cloud, offer their resources denominated in stable currencies. The same technique could be applied to resources in a decentralized network, such as POA Zoo.
Validators on Zoo will agree on the price of a gas unit denominated in the stable currency, e.g., U.S. dollars. Although the cost per gas unit not defined yet it will have:
- Cloud hosting of nodes of validators, API interface, Native-to-Native bridge, Explorer, and Monitoring
- Traffic between servers and clients
- Misc services, e.g., Infura, Cloudflare
Let’s assume that for a typical transaction (coins transfer) of 21,000 units of gas the price will be 1 cent. Validators will run a gas oracle on their node on a schedule which will query a trusted source of POA/USD price, e.g., Coinmarketcap of Coingecko and will modify the minimum gas price on each node of validators.
To calculate the required minimal gas price we would solve
(21000 [gas]) * (min-gas-price [poa/gas]) * (exchange-rate [usd/poa]) = 0.01 [usd]
for min-gas-price, getting exchange-rate from the exchanges via public API.
For example, on Jul 17, 2018, the exchange-rate is 0.183232 [usd/poa], that gives us min-gas-price = 2.5988e-6 [poa/gas] = 2598.8 [Gwei/gas]
An oracle on each validator will query API, do the math, and set up the minimum gas price on nodes of a validator with given thresholds.
Using this technique price of computations will be adjusted to economic model of cloud hosting and will be provided to end users in stable currency.