Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Document how bulk discount mechanics should work #169

Closed
theoreticalbts opened this issue Jul 17, 2015 · 1 comment
Closed

Document how bulk discount mechanics should work #169

theoreticalbts opened this issue Jul 17, 2015 · 1 comment

Comments

@theoreticalbts
Copy link
Contributor

We have not really discussed much about the details of the bulk discount mechanics. I see some code is implemented, e.g. https://github.com/cryptonomex/graphene/blob/master/libraries/chain/account_object.cpp#L120-L129 but it is difficult to write a unit test without being clear what the code is supposed to do, which is itself difficult to figure out without economic motivation.

This feature badly needs:

  • Technical system documentation on how the mechanics are supposed to work
  • End-user documentation and marketing materials aimed to educate users about how to take advantage of the feature

To me this feature seems overly complicated and the justification isn't clear. I am currently in favor of removing the feature, but I might change my mind after some discussion.

@bytemaster
Copy link
Contributor

After a user pays $X in total life time fees, they start getting a discount on future fees that phases in linearly over time until they have paid a total $Y in lifetime fees after which they qualify for the maximum discount.

The goal is to reduce fees for heavy users of the system because these are the people we want.

This particular feature violates the principle that given a fee schedule and transaction a user should be able to determine the required fee. With bulk discounts they also need to know the total lifetime fees paid by the fee paying account. This number may be a moving target.

I support removing this feature for now and revisiting it with community approval for a future hard fork.

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

No branches or pull requests

2 participants