Proposal: New fee calculation model


#1

Motivation

We propose a new fee calculation model which makes the fee calculation process more understandable without reducing the miners’ income. This model allows to make more accessible some types of transactions such as Exchange, Reissue and all scripted transactions.

There are currently 13 different actual types of transactions(excluding Genesis and Payment) in Waves, the 14th type running on Testnet. The actual mechanism for the fee calculating involves different values depending on the type of transactions and the presence of scripts:

Example : for a Transfer transaction the commission is 0.001.WAVES . If the client uses a smart account, the commission increases to 0.005.WAVES . When transferring a smart-asset by a smart-account, the total commission grows to 0.009.WAVES

Currently, the model for fees calculation is following (excluding the increase due to the use of smart-accounts / smart-assets, minFee = 0.001.WAVES ):

Tx Name Math expression Total waves
Issue 1000 * minFee 1.WAVES
Transfer minFee 0.001.WAVES
ReIssue 1000 * minFee 1.WAVES
Burn minFee 0.001.WAVES
Exchange 3 * minFee 0.003.WAVES
Lease minFee 0.001.WAVES
LeaseCancel minFee 0.001.WAVES
CreateAlias minFee 0.001.WAVES
MassTransfer minFee * (1 + numberOfRecipients/2), rounded up to 0.001.WAVES where numberOfRecipients = 10 → 0.001.WAVES+ 0.005.WAVES= 0.006.WAVES
Data minFee * dataBytesSize / 1024, rounded up to 0.001.WAVES where dataBytesSize = 1024 → 0.001.WAVES
SetScript 10 * minFee 0.01.WAVES
SponsorFee 1000 * minFee 1.WAVES
SetAssetScript 996 * minFee 0.996.WAVES
InvokeScript minFee 0.001.WAVES
Table1

The main disadvantages of the current fee calculation algorithm are:

  • fee increases by 0.004.WAVES each time you use a smart-account \ smart-asset
  • different values for different types of transactions

Solution proposal

A more visual and understandable system of fees calculating with a fixed value for each transaction is proposed, without an increasing due to the using of smart-accounts / smart-assets. We chose the minFee value in order to achieve the following points:

  • preserve miners’ average income
  • create clear model of transaction fees
  • increase accessibility some type of transactions such as Exchange, ReIssue and all scripted transactions

The next model of the fee distribution is proposed:

TxId TxName Math expression Total waves ( minFee = 0.002.WAVES)
3 Issue 1000 * minFee 2.000.WAVES
4 Transfer minFee 0.002.WAVES
5 Reissue minFee 0.002.WAVES
6 Burn minFee 0.002.WAVES
7 Exchange minFee 0.002.WAVES
8 Lease minFee 0.002.WAVES
9 LeaseCancel minFee 0.002.WAVES
10 CreateAlias minFee 0.002.WAVES
11 Mass Transfer minFee * (1 + numberOfRecipients/2), rounded up to minFee where numberOfRecipients = 10 → 0.002.WAVES*(1 + 10/2) = 0.012.WAVES
12 Data minFee * dataBytesSize / 1024, rounded up to minFee where dataBytesSize = 1024 → 0.002.WAVES
13 SetScript minFee 0.002.WAVES
14 SponsorFee minFee 0.002.WAVES
15 SetAssetScript minFee 0.002.WAVES
16 InvokeScript minFee 0.002.WAVES
Table2

According to the new model, the different transactions contribution in the total month fee can be seen in the graph below (transaction types are shown in the Table2 ):


The average miners’ income will slightly increase by using the new model. For example, it’s growing on 11325.WAVES during this period and that is 12% of the actual income. This stacked bar chart with accumulation displays the month fee changes in Waves by month:

Summarizing : Understandable and clear model of transaction fees calculation is proposed. This model implements a fixed value for per use of each type of transaction. As can be seen from the data above, some type of transactions such as an Exchange or scripted transactions will be more accessible.

Open questions

  • Community reaction to the fees changing
  • The possibility of allowing miners to influence the minFee value (for example as a voting )

WEP 1: Order Version 3
#2

In short, it makes no sense.

The fee is an equivalent of resource consumption.

If your transaction needs more resources to apply why it should cost the same as a trivial one?

For me the original model is much more clearer.

And how does the fee block accessibility of transactions?


#3

Hi @deemru,

We have the ability to motivate people to use scripted transactions leaving the cost of all transactions negligible. According to the described above model there is no difference between scripted and non-scripted transactions which makes them equally accessible.

It is also important that this proposal can be the first step towards enabling the nodes to vote for minFee value. It is necessary to make the whole system of fee calculation more transparent without difficult relations inside.


#4

Fee calculations on Waves Platform is the easiest and absolutely transparent (and logical) part of the blockchain.

Please, do not make a mess on this part.


#5

I do not agree with doubling the transaction fees.


#6

I agree with @ali and @deemru here.
The original model is clear and I do not see a reason to change it. The simple interactions should be cheaper than more complex ones.


#7

Currently there is a limitation for number of smart transactions per block. Such way you will decrease min amount to hold network by some individuals.

What do you think about progressive fee ? For an example from one account you can do 10 smart transactions per block with min fee and you need to increase fee (2 or 5 times) for the next 10 and so on…


#8

An interaction is an interaction is an interaction. Don’t see why an account should be punished for using the blockchain frequently.


#9

Sounds great to me ! Transactions are little more which than nodes miners will earn more , but the trading becomes cheaper !


#10

Exactly
Fee must be equivalent of resource consumption.


split this topic #14

A post was split to a new topic: Pools sistem is oudated a few years ago


#15

In my opinion there is no reason to lower the fees.
While I am pro increasing the increased fees, I wouldnt lower the highest ones.

Also I don’t see a lot of advantage to make fees equal. Why should an advenced tx be as cheap as a basic one?


#18

You are the pool owner. Probably on you pool is no any you own waves. Why you need a more profit?

Can someone calculate if all blocks will be full of ordinary TX’s how many fees in there for now? Emm 255tx x~5 second = ~3.06 waves so for one k waves is the profit for month. procentage you can calculate by youself, it’s sad.

If blocks is full of the DEX TX’s it’s x3. Something like 8 waves for every 1k waves. It’s even not cost the vps fee.And this is if ALL BLOCKS IS FULL. damn. Even less, just 255 tx per month it’s about 0.7 waves. per month for every 1k waves. Awesome.


#19

Humm, I run a mining node but am fairly agnostic about fees.
Basically, I would like a fee structure that is most conducive to allow success of entire platform without much regard for my own node’s income.
As I said, I am agnostic about current structure or proposed structure but I would ask that the team listen carefully to views of people like Deemru (Fhloston King!), Kimbimlim etc


#20

glerant: Do you know what is economy mean? No fee = no profit from node = no node = price dump. You stack will cost nothing if economy don’t work as should. You can agree with pools owners like klimblin but it’s not the point.


split this topic #21

2 posts were merged into an existing topic: Pools sistem is oudated a few years ago


#22

I agree with previous comments, complex txs should be paid more than simple ones.

I agree too raise fees so nodes can be remunerated in a fairer way: at the end nodes gains should be covered only from mining fees and minerrewards system can be eventually put aside.

What you are doing with this new schema is to lower some tx price in order to incentivate them and raise the average price to keep the nodes gain similar.

What are these tx WAVES want to be cheaper and why WAVES wants to incentivate them?

If this is reasonable and you feel that is good for waves future, i agree with the proposal.