Need to seriously look at the cost of transaction

I realise that the cost of transaction is a variable. I do not believe this should be a variable as it will cost a lot in time to come. Someone sent me about 13 million NEM coins and the cost of transaction was 539 NEMs.

I think this will cause a problem when NEM becomes more highly valued. I think something should be done about it.

Although it benefits harvesters, some cost economics should be put in place so that this value is not too expensive if  NEM does finally become a high valued coin.

Nxt fee is too high now considering each transaction is worth 2.5 cents and even about 8 cents at one stage. Need some pondering here.

I don't know how we can make it a dynamic consensus value so that we don't have to hard fork later? I am not sure how this works.

How does everyone feel about current transaction costs?

In my mind, I think a variable fee is a good idea, but with a top and bottom limit.  Just off the top of my heard I would guess the top limit would be 100 and the bottom limit should be 0.00001. 

The reason for the top fee, is at some point there is no more drain on the network with a big transaction than with a small one. 

The fee for the smallest transaction is to prevent dust. 

Some very small transactions with very small fees might not have the fee for the small transaction even cover the cost to the network for having sent the transaction. 

One good thing about doubling the amount of NEM to 8 billion would be that the transaction fees would essentially be cut in half.


I realise that the cost of transaction is a variable. I do not believe this should be a variable as it will cost a lot in time to come. Someone sent me about 13 million NEM coins and the cost of transaction was 539 NEMs.

I think this will cause a problem when NEM becomes more highly valued. I think something should be done about it.

Although it benefits harvesters, some cost economics should be put in place so that this value is not too expensive if  NEM does finally become a high valued coin.

Nxt fee is too high now considering each transaction is worth 2.5 cents and even about 8 cents at one stage. Need some pondering here.

I don't know how we can make it a dynamic consensus value so that we don't have to hard fork later? I am not sure how this works.


I think if you really send 13 million NEM you're rich enough not to worry about 539. In fact it's less than i would have expected.
AFAIR the current free structure was created to incentivise bigger tx i.e. collecting tx together. So big tx should by comparison cheaper then multiple small tx.

How is the fee calculation done? Is it really a calculation or a LUT?

Or is this a secret?


How is the fee calculation done? Is it really a calculation or a LUT?

Or is this a secret?


You'll have to ask a dev for the exact formula but I expect it to be part of the whitepaper.

That's how it is in 0.4.9-BETA without encryption. With encryption the fee is alway +1. Which I btw really dislike. We should encourage people to encrypt.

[table]
[tr]
    [td]amount min[/td]
    [td][/td]
    [td]amount max[/td]
    [td][RIGHT]fee[/RIGHT][/td]
[/tr]
[tr]
    [td][RIGHT]0.000001[/RIGHT][/td]
    [td]-[/td]
    [td]144.999999[/td]
    [td][RIGHT]1[/RIGHT][/td]
[/tr]
[tr]
    [td][RIGHT]145[/RIGHT][/td]
    [td]-[/td]
    [td]6,276.999999[/td]
    [td][RIGHT]2[/RIGHT][/td]
[/tr]
[tr]
    [td][RIGHT]6,277[/RIGHT][/td]
    [td]-[/td]
    [td]24,473.999999[/td]
    [td][RIGHT]3[/RIGHT][/td]
[/tr]
[tr]
    [td][RIGHT]24,474[/RIGHT][/td]
    [td]-[/td]
    [td]46,286.999999[/td]
    [td][RIGHT]4[/RIGHT][/td]
[/tr]
[tr]
    [td][RIGHT]46,287[/RIGHT][/td]
    [td]-[/td]
    [td]69,271.999999[/td]
    [td][RIGHT]5[/RIGHT][/td]
[/tr]
[tr]
    [td][RIGHT]69,272[/RIGHT][/td]
    [td]-[/td]
    [td]92,808.999999[/td]
    [td][RIGHT]6[/RIGHT][/td]
[/tr]
[tr]
    [td][RIGHT]92,809[/RIGHT][/td]
    [td]-[/td]
    [td]116,664.999999[/td]
    [td][RIGHT]7[/RIGHT][/td]
[/tr]
[tr]
    [td][RIGHT]116,665[/RIGHT][/td]
    [td]-[/td]
    [td]140,727.999999[/td]
    [td][RIGHT]8[/RIGHT][/td]
[/tr]
[tr]
    [td][RIGHT]140,728[/RIGHT][/td]
    [td]-[/td]
    [td]164,933.999999[/td]
    [td][RIGHT]9[/RIGHT][/td]
[/tr]
[tr]
    [td][RIGHT]164934[/RIGHT][/td]
    [td]-[/td]
    [td]189,245.999999[/td]
    [td][RIGHT]10[/RIGHT][/td]
[/tr]
[/table]


That's how it is in 0.4.9-BETA without encryption. With encryption the fee is alway +1. Which I btw really dislike. We should encourage people to encrypt.
...


That is weird. Wonder why that is. I don't think encrypted means more work for the network in any way so it shouldn't increase the fees.
Will ask a dev if I don't forget.

The fee for the transfer of NEM right (it might change till launch) now is

[url=http://www.wolframalpha.com/input/?i=max%281%2C+x%2F25000+%2B+ln%28x%29%2F5%29%2C+0%3C+x+%3C+100000]http://www.wolframalpha.com/input/?i=max(1%2C+x%2F25000+%2B+ln(x)%2F5)%2C+0<+x+<+100000

If there is a message transmitted too then there is an additional minimum 1 NEM fee or 5 NEM fee for each additional 256 byte block if it exceeds 256 bytes, so for a message with 128 bytes you pay 1 NEM fee and for a 300 byte message it is 5 NEM fee.
I don't see any fee for encryption in the code.


The fee for the transfer of NEM right (it might change till launch) now is

[url=http://www.wolframalpha.com/input/?i=max%281%2C+x%2F25000+%2B+ln%28x%29%2F5%29%2C+0%3C+x+%3C+100000]http://www.wolframalpha.com/input/?i=max%281%2C+x%2F25000+%2B+ln%28x%29%2F5%29%2C+0%3C+x+%3C+100000

If there is a message transmitted too then there is an additional minimum 1 NEM fee or 5 NEM fee for each additional 256 byte block if it exceeds 256 bytes, so for a message with 128 bytes you pay 1 NEM fee and for a 300 byte message it is 5 NEM fee.
I don't see any fee for encryption in the code.


Encrypted means more bytes and is therefore more expensive i guess.

Right, when I tried it I didn't enter a message. But when you tick the checkbox "Encrypt message" without text, the fee increases by 1.

That is probably normal, my bad.

Thanks for the information, BloodyRookie.

Edit:
Btw: I don't get the formular at all. This is what wolframalpha shows me:
max 1, x/25000 ln x /5 , 0&nbsp; x&nbsp; 100000


Right, when I tried it I didn't enter a message. But when you tick the checkbox "Encrypt message" without text, the fee increases by 1.

That is probably normal, my bad.

Thanks for the information, BloodyRookie.

Edit:
Btw: I don't get the formular at all. This is what wolframalpha shows me:
[code]max 1, x/25000 ln x /5 , 0  x  100000[/code]


Wait until you see the formulars for POI  ;D

Right, when I tried it I didn't enter a message. But when you tick the checkbox "Encrypt message" without text, the fee increases by 1.

That is probably normal, my bad.

Thanks for the information, BloodyRookie.

Edit:
Btw: I don't get the formular at all. This is what wolframalpha shows me:
[code]max 1, x/25000 ln x /5 , 0  x  100000[/code]


I guess X is the transaction value and I think it is only a portion of the value of the transaction fee. Enter that value into your scientific calculator and you will see that a value will pop up.

Right, when I tried it I didn't enter a message. But when you tick the checkbox "Encrypt message" without text, the fee increases by 1.

That is probably normal, my bad.


Encrypting an empty message will add some (64) encrypted bytes that decrypt to "". So, it will raise the message fee from 0 (for an empty message) to 1 (for the smallest message).

Please note that "encrypt message" only encrypts the message field of the transaction. All other fields are used by NIS nodes for processing.

AFAIR the current free structure was created to incentivise bigger tx i.e. collecting tx together. So big tx should by comparison cheaper then multiple small tx.


That is correct.


AFAIR the current free structure was created to incentivise bigger tx i.e. collecting tx together. So big tx should by comparison cheaper then multiple small tx.


That is correct.


But if we are going to help and promote the underbanked and unbanked, this isn't going to be good isn't it, especially if transactions are micropayments? We are following the bank style of transaction levy which is not right. In fact it is ironic when we want to free people from the bonds of unfair transaction charges.

But something strange with fees. Look:

Transaction Type Incoming
Sender TD6**4Q
Recipient TADDDF-QHWFVM-ZDTGHL-VKCHIP-G53ZWO-INLCKZ-MVJ2
Message Trying out encrypted message :) 
Timestamp Oct 21, 2014 18:33:00
Confirmations 10
Amount 100 000.00 NEM
Fee 80 000.00 NEM

and another:

Transaction Type Incoming
Sender TAAA
TOE
Recipient TADDDF-QHWFVM-ZDTGHL-VKCHIP-G53ZWO-INLCKZ-MVJ2
Message No message
Timestamp Oct 21, 2014 18:35:55
Confirmations 10
Amount 250 000.00 NEM
Fee 1 000.00 NEM

The transaction cost is seems like robbery :slight_smile:


But something strange with fees. Look:

Transaction Type Incoming
Sender TD6*********4Q
Recipient TADDDF-QHWFVM-ZDTGHL-VKCHIP-G53ZWO-INLCKZ-MVJ2
Message Trying out encrypted message :) 
Timestamp Oct 21, 2014 18:33:00
Confirmations 10
Amount 100 000.00 NEM
Fee 80 000.00 NEM

and another:

Transaction Type Incoming
Sender TAAA*******TOE
Recipient TADDDF-QHWFVM-ZDTGHL-VKCHIP-G53ZWO-INLCKZ-MVJ2
Message No message
Timestamp Oct 21, 2014 18:35:55
Confirmations 10
Amount 250 000.00 NEM
Fee 1 000.00 NEM

The transaction cost is seems like robbery :)


People can choose to pay more than the minumum required.


But something strange with fees. Look:

Transaction Type Incoming
Sender TD6*********4Q
Recipient TADDDF-QHWFVM-ZDTGHL-VKCHIP-G53ZWO-INLCKZ-MVJ2
Message Trying out encrypted message :) 
Timestamp Oct 21, 2014 18:33:00
Confirmations 10
Amount 100 000.00 NEM
Fee 80 000.00 NEM

and another:

Transaction Type Incoming
Sender TAAA*******TOE
Recipient TADDDF-QHWFVM-ZDTGHL-VKCHIP-G53ZWO-INLCKZ-MVJ2
Message No message
Timestamp Oct 21, 2014 18:35:55
Confirmations 10
Amount 250 000.00 NEM
Fee 1 000.00 NEM

The transaction cost is seems like robbery :)


People can choose to pay more than the minumum required.


I sometimes do that just for the fun of it with the TestNEM, thinking that some harvester will get a good surprise. 



That's how it is in 0.4.9-BETA without encryption. With encryption the fee is alway +1. Which I btw really dislike. We should encourage people to encrypt.

[table]
[tr]
    [td]amount min[/td]
    [td][/td]
    [td]amount max[/td]
    [td][RIGHT]fee[/RIGHT][/td]
[/tr]
[tr]
    [td][RIGHT]0.000001[/RIGHT][/td]
    [td]-[/td]
    [td]144.999999[/td]
    [td][RIGHT]1[/RIGHT][/td]
[/tr]
[tr]
    [td][RIGHT]145[/RIGHT][/td]
    [td]-[/td]
    [td]6,276.999999[/td]
    [td][RIGHT]2[/RIGHT][/td]
[/tr]
[tr]
    [td][RIGHT]6,277[/RIGHT][/td]
    [td]-[/td]
    [td]24,473.999999[/td]
    [td][RIGHT]3[/RIGHT][/td]
[/tr]
[tr]
    [td][RIGHT]24,474[/RIGHT][/td]
    [td]-[/td]
    [td]46,286.999999[/td]
    [td][RIGHT]4[/RIGHT][/td]
[/tr]
[tr]
    [td][RIGHT]46,287[/RIGHT][/td]
    [td]-[/td]
    [td]69,271.999999[/td]
    [td][RIGHT]5[/RIGHT][/td]
[/tr]
[tr]
    [td][RIGHT]69,272[/RIGHT][/td]
    [td]-[/td]
    [td]92,808.999999[/td]
    [td][RIGHT]6[/RIGHT][/td]
[/tr]
[tr]
    [td][RIGHT]92,809[/RIGHT][/td]
    [td]-[/td]
    [td]116,664.999999[/td]
    [td][RIGHT]7[/RIGHT][/td]
[/tr]
[tr]
    [td][RIGHT]116,665[/RIGHT][/td]
    [td]-[/td]
    [td]140,727.999999[/td]
    [td][RIGHT]8[/RIGHT][/td]
[/tr]
[tr]
    [td][RIGHT]140,728[/RIGHT][/td]
    [td]-[/td]
    [td]164,933.999999[/td]
    [td][RIGHT]9[/RIGHT][/td]
[/tr]
[tr]
    [td][RIGHT]164934[/RIGHT][/td]
    [td]-[/td]
    [td]189,245.999999[/td]
    [td][RIGHT]10[/RIGHT][/td]
[/tr]
[/table]



After giving this a look again, it looks pretty fair to me.  The fees per transaction don't see too high. 

Except for the micro-transactions.  It rubs me a little the wrong way to know that I have to pay a 1 NEM fee to send .1 NEM.  That just doesn't seem right.  I would like to see the sliding scale slide a little bit farther down so that a person sending 5 NEM was only paying a 0.01 NEM fee.  I would be fine with the 0.01 being the current dust limit.  NXT has caught sooooo much flack from people that small transactions cost 1 NEM.  I would like to see NEM avoid that.