The transaction fee per byte is proportional to the current network load:
Maximal commission applies when the network is at maximum load.
Minimal commission applies when the network load is at minimal load.
50% of the maximum comission applies when the network is at half-load.
For implementation, it is necessary to determine the following:
Network load measuring mechanics.
How the network load is measured.
How to determine the maximum load.
Commission calculation mechanics.
How the commission is charged.
How to determine the maximum commission.
Network load measuring mechanics
We use two methods to measure the load:
Calculating the maximum network load as processing a full block (of 1,000,000 bytes) every 10 seconds.
To estimate the current load we use block load in tendermint and the maximum block size specified in the tendermint consensus parameters. For averaging we consider the average value of blocks for the last 5 minutes.
Commission calculation mechanics
The commission is charged according to the [Charge-and-capacity-concept].
To estimate the maximum commission, we assume that the entire network charge must be spent at the recovery rate.
The maximum recovery rate depends on the total balance of the network (i.e. the total coin emission).
Knowing the maximum recovery rate and maximum bandwidth, we can calculate the maximum commission fee per transaction byte.
Maximum load - a block of 1MB in 10 seconds.
Current load evaluation timeframe - 5 minutes.
The current load is measured by the parameters of the tendermint block.
The entire network charge must be spent at the recovery rate at maximum load.
Estimation in numbers
240 000 000 - emission in EON blockchain.
1,000,000 maximum bytes per block.
10 seconds to generate a block.
500 bytes - average transaction length.
Example 1: load - peak
Maximum charge recovery per second: 240 000 000 /24/60/60 = 2 777 ~ 3 000 EON / sec.
Maximum network load per second: 1 000 000 / 10 = 100 000 bytes / sec.
Maximum commission per byte: 3000/100000 = 0,03 EON/byte.
If 1 transaction takes 500 bytes, then it is 15 EON.
This means that at peak load 15 EON are required to send 1 transaction per day.
15 EON on the balance are required to make 1 transaction per day.
Example 2: load - 1 transaction/sec
Maximum commission per byte: 0,03 EON/byte.
Actual network load: 500 byte/sec.
Network load ratio: 500/100000 = 0,005.
Actual commission per byte: 0,03*0,005 = 0,00015 EON per byte.
Transaction commission: 0,00015*500 = 0,075 ~ 0,1 EON to send 1 transaction per day.
0.1 EON on the balance is required to conduct 1 transaction per day.
Example 3: load - 10 transactions/sec
Maximum commission per byte: 0,03 EON/байт.
Actual network load: 5000 byte/sec.
Network load ratio: 5000/100000 = 0,05.
Actual commission per byte: 0,03*0,05 = 0,0015 EON per byte.
Transaction commission: 0,0015*500 = 0,75 ~ 1 EON to send 1 transaction per day.
1 EON on the balance is required to conduct 1 transaction per day.