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

Validators should be able to burn incentives #1118

Open
ppolewicz opened this issue Dec 29, 2024 · 0 comments
Open

Validators should be able to burn incentives #1118

ppolewicz opened this issue Dec 29, 2024 · 0 comments

Comments

@ppolewicz
Copy link
Contributor

Is your feature request related to a problem? Please describe.

The problem is that subnets have too much capacity, but they still must reward miners with a full incentive set even if 99% of the capacity is not used. There are many subnets which have more capacity than they need, on some the organic traffic is rare or nonexistent... but miners getting incentives and selling Tao to maintain servers and engineers is causing Tao inflation without a lot of value for the ecosystem. It would be better for the ecosystem if we wasted less incentives.

Describe the solution you'd like

This was discussed in many forms before, but the low level design of this change is easier to implement and doesn't alter the interface subnets already use.

In the backwards-compatible design we would pretend like self-weighted miner is "uid_257" and whatever the resulting incentive for it is, would be recycled instead of scheduled for distribution at the end of the day.

Describe alternatives you've considered

Deregging uid_0 on every subnet and making it so that setting weights there recycles incentives. This is much cleaner from the perspective of the low level interface if someone would like to analyze it, it does hurt a few uids during migration regardless of their performance and reduces the uid space slightly. Might be easier to implement because we would just recycle the emissions, reserve the slot and zero its incentives just at the end of epoch processing.

The sdk and the indexers will hide the implementation details from the users and it will be documented, so whichever solution is used, it'll look the same way for the subnet authors. It is hard to judge which approach (self-weighting or uid_0) is better.

Additional context

The real reason for deploying this is twofold:

  1. Reduce Tao inflation through excessive mining
  2. In dtao we need to giving the global validators the ability to police the ecosystem. If not them, then who? If someone creates a subnet which does crime (human trafficking subnet? illegal organs market? malware generator? CSAM generator?) or doesn't do anything except collecting dividends and incentive to the owner, global validators should be able to step in. Assuming we can get around the registration fee issue (which the owner could set to an extreme value to deter global validators from entering the subnet, leaving only owner validator and his own miner), the validators should be able to run a script which self-weights them (or weights uid_0, depending on the implementation) to kill the incentives which should work unless kappa is so high they collectively won't overturn the voting power of the subnet owner leading to stake-proportional dividends (and uniform incentives? I think incentives should be zero in this case) (or generally if there is no consensus at all, the emissions could be recycled).

The proposed change fixes problem 1 and makes a big step toward fixing problem 2 - that one would still need some other changes to allow global validators to register on subnets in some special way when its warranted, without paying the reg fee. Might just be max_kappa and max_reg fee settable by the senate or something.

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

No branches or pull requests

1 participant