Skip to content

Creator Reward Withdrawal Limit #38

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

Merged
merged 12 commits into from
Jan 18, 2021
Merged

Conversation

aggre
Copy link
Member

@aggre aggre commented Jan 1, 2021

This is a DIP for setting a withdrawal limit for creator rewards.

See the DIP for details.

@aggre aggre self-assigned this Jan 1, 2021
@aggre aggre marked this pull request as draft January 1, 2021 17:16
@aggre aggre marked this pull request as ready for review January 4, 2021 06:22
@aggre aggre mentioned this pull request Jan 5, 2021
@aggre
Copy link
Member Author

aggre commented Jan 5, 2021

I've added a simulation to illustrate how this DIP works on the effective APY of creator rewards:
https://github.com/dev-protocol/DIPs/blob/dip-creator-reward-withdrawal-limit/DIPS/dip-38.md#simulation

@Akira-Taniguchi
Copy link
Member

genius!

@aggre

@defi-er
Copy link

defi-er commented Jan 5, 2021

What if a creator has multiple properties? Do they receive additional benefits under this proposal?

@aggre
Copy link
Member Author

aggre commented Jan 5, 2021

What if a creator has multiple properties? Do they receive additional benefits under this proposal?

@defi-er If one creator owns many properties, they will be more motivated to self-stake than other creators. This DIP cannot solve it. (I'll add that later)

In my opinion, updating the authentication fee will help. Increasing the number of DEV burned for authentication increases the cost of holding a large amount. However, it is not perfect because it also works for non-malicious creators.

Still, I believe this DIP can solve most of the self-staking problems.

I also hope that a better unknown algorithm will replace it in the future.

@calaber24p
Copy link

I think this is a clever way to disinecentivize larger creators from self staking. While many smaller creators will still be able to stake on themselves, they have a smaller effect on the market by far. I think this is a great first step in combating self staking. In many ways this will also have a side effect of lowering the effective inflation rate.

@defi-er makes a good point about those with multiple properties being able to split their coins between them. At the moment we should be more alert of this possibility and take steps to make sure it doesnt happen for future creators. Personally I believe we should force new creators to wrap multiple properties under one staking property, but that would be another discussion entirely and for another time.

@defi-er
Copy link

defi-er commented Jan 5, 2021

What if a creator has multiple properties? Do they receive additional benefits under this proposal?

@defi-er If one creator owns many properties, they will be more motivated to self-stake than other creators. This DIP cannot solve it. (I'll add that later)

In my opinion, updating the authentication fee will help. Increasing the number of DEV burned for authentication increases the cost of holding a large amount. However, it is not perfect because it also works for non-malicious creators.

Still, I believe this DIP can solve most of the self-staking problems.

I also hope that a better unknown algorithm will replace it in the future.

What do you think of creating a quadratic staking function that lowers reward when you stake them in one asset?

@aggre
Copy link
Member Author

aggre commented Jan 6, 2021

What do you think of creating a quadratic staking function that lowers reward when you stake them in one asset?

@defi-er In my understanding, you propose to "lower the creator reward for a Property if a Property holder stakes on their own Property." Is this correct? I want to consider it, so please give me some time. (By the way, as we know, it doesn't work perfectly if the creator has more than one wallet account)

@defi-er
Copy link

defi-er commented Jan 6, 2021

The only full proof solution is to require users to use a decentralized identity tool like BrightID or Proof of Humanity

@aggre
Copy link
Member Author

aggre commented Jan 6, 2021

@defi-er I'll add your proposal to this DIP.

I will commit the specification. Simply put, if a Property holder stakes, the creator reward from that staking is canceled, but the staking reward is still earned.

@aggre
Copy link
Member Author

aggre commented Jan 6, 2021

I've added that specification: 35ff871

Then, in the "Proposed Code" section, I'll add the technical requirements.

@aggre
Copy link
Member Author

aggre commented Jan 6, 2021

@aggre
Copy link
Member Author

aggre commented Jan 9, 2021

Since computing the geometric mean with on-chain requires many iterations, the geometric mean will be updated periodically (e.g., every hour) by an oracle until an effective computation reduction plan is found.

@aggre
Copy link
Member Author

aggre commented Jan 9, 2021

I think we can already advance this DIP into the voting flow.

@aggre aggre merged commit eaff80f into main Jan 18, 2021
@aggre
Copy link
Member Author

aggre commented Jan 27, 2021

We were found that the specification to "reduce creator rewards when self-staking by the same account" is accompanied by the technical difficulty that "cannot calculate the number of stakings that are eligible for creator rewards." *We have considered various calculation methods, but the "ignored number of stakings" cannot be calculated accurately in many scenarios.

We are considering two specifications as alternatives:

  1. Plan-A: Returns an error if the staking user is also the target Property holder.
  2. Plan-B: No implement the creator rewards reducing (only implement the capping by geometric mean)

Advantages/Disadvantages

Plan-A Advantages

  • Self-staking by the same account becomes impossible
  • By explicitly returning an error, it can educate users about bad behavior

Plan-A Disadvantages

  • Increasing error-conditions hinders composability

Plan-B Advantages

  • Not affect composability
  • Gas fees are slightly cheaper than Plan-A

Plan-B Disadvantages

  • Self-staking by the same account cannot be prevented (however, self-staking makes the reward increase inefficient by DIP38)

@aggre
Copy link
Member Author

aggre commented Jan 27, 2021

I agree with Plan-B. I think Plan-A may interfere with money-lego and thereby hinder network effects.

@Akira-Taniguchi
Copy link
Member

me too.

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

Successfully merging this pull request may close these issues.

4 participants