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

Hotkey draining issues #855

Open
gztensor opened this issue Oct 11, 2024 · 4 comments · Fixed by #950
Open

Hotkey draining issues #855

gztensor opened this issue Oct 11, 2024 · 4 comments · Fixed by #950
Assignees

Comments

@gztensor
Copy link
Contributor

gztensor commented Oct 11, 2024

  1. Childkey take gets added to PendingdHotkeyEmission in accumulate_hotkey_emission and then is distributed among nominators in drain_hotkey_emission.
  2. Miner emission is also subject to distribution to nominators in drain_hotkey_emission because it is added to PendingdHotkeyEmission.
  3. When childkey take is calculated in accumulate_hotkey_emission, it is calculated off the total childkey pending emission, even if some portion of it comes not from parent, but from nominators.
@gztensor gztensor self-assigned this Oct 11, 2024
@gztensor
Copy link
Contributor Author

Branch: hotfix/childkey-emission-distibution

@gztensor gztensor changed the title Childkey issues Hotkey draining issues Oct 14, 2024
@gztensor gztensor mentioned this issue Oct 14, 2024
@gztensor
Copy link
Contributor Author

gztensor commented Nov 6, 2024

PR: #950

@mogmachine
Copy link

So does this no longer share child key take with nominators? This is a great shame, it is a natural wish that a validator would want to share child key take .. it is usually added to prevent a straight 'copying' scenario and implement a natural feee/penalty for the parent but also an overall gain for those delegating to the child.

This way it just becomes a selfish cash grab for the child whilst not allowing them to easily distribute the take amongst all nominators which is fairest.

@gztensor
Copy link
Contributor Author

gztensor commented Nov 19, 2024

That's the original design behind child key take: Child key takes the % of the emission targeted for parent's portion of the stake (not nominators) and distributes the rest, it works just like delegate take.

Before this fix the childkey take was distributed just like the rest of emission, which makes the take feature pointless.

After this fix:

  • If childkey has stake from parent and nominators, it's entitled for emission.
  • The childkey take only applies to the portion of emission that childkey gets because of the parent stake

Example:

  • Childkey has 1000 TAO from parent and 1000 TAO from nominators
  • Validator emission for childkey is 10 TAO
  • Childkey take is 10% (in this example for simplicity)
  • Childkey take is 0.5 TAO, that is not distributed
  • 4.5 TAO goes to parent
  • 5 TAO goes to nominators

@mogmachine

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

Successfully merging a pull request may close this issue.

2 participants