Skip to content
This repository has been archived by the owner on Jun 11, 2024. It is now read-only.

Don't charge a fee for optional data field #2033

Closed
slaweet opened this issue May 16, 2018 · 4 comments
Closed

Don't charge a fee for optional data field #2033

slaweet opened this issue May 16, 2018 · 4 comments
Assignees

Comments

@slaweet
Copy link
Contributor

slaweet commented May 16, 2018

Expected behavior

Optional data field should not cost anything extra, because almost nobody will use it if it does. The fee makes this feature almost useless.

It also makes worse UX because we have to explain this to the users as they are not used to this from traditional banking.

Actual behavior

Optional data field requested in #26 and added in #470 adds 0.1 LSK fee on top of the 0.1 LSK fee of type 0 transaction.

I see that the fee is there because of storing additional data on the blockchain, but users already pay 0.1 LSK for the transaction which is IMO more than enough to prevent from spamming the blockchain. If I wanted to spam the blockchain I think that adding two transactions for 0.2 LSK will add more data than 1 transaction with 64 char data field for 0.2 LSK.

Which version(s) does this affect? (Environment, OS, etc...)

Lisk Core 1.0.0

@webmaster128
Copy link
Contributor

webmaster128 commented May 20, 2018

Adding a cost for type 0 asset data is also inconsistent with type 1/2/3/4/5, where asset data is included in a fixed fee. So from the standpoint of elegant technical design, this proposal makes perfect sense.

@karmacoma
Copy link
Contributor

@slaweet I agree with this proposal / reversal. Much appreciated.

@webmaster128 Also agree current approach is inconsistent with how we will deal with data in other transaction types. Therefore would be nonsensical to keep as is.

Assuming that this change will affect both Lisk Core and Elements, we should look to implement it ahead of the next 1.0.0 beta candidate @MaciejBaj @willclarktech.

@IkerAlus
Copy link
Contributor

IkerAlus commented May 22, 2018

This issue will be (practically) irrelevant with the release of the new fee system.

In that case, (minimum possible) fees are given by the size of the transaction regardless the transaction type (for most of the cases). If the user makes use entirely of this data field, he will pay, at least:

(type 0 size + data field size) x min.fee

where type 0 size and data field size are given in bytes and min.fee is given in LSK per byte.

Hence he will pay (data field size) x min.fee more fee than a basic type 0 transaction. In normal network situation, this will be many orders of magnitude less than 0.1LSK.

It is a matter of time convenience to make the reversal now or just wait for the new fee system.

@webmaster128
Copy link
Contributor

webmaster128 commented Jun 1, 2018

Great simplification – congratz and thanks!

Would it be possible to respawn Betanet after this change to avoid carrying around a special rule (0.2 fee type 0 transactions) that will never be needed in a production network?

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

7 participants