Skip to content

[ADD] Bond Providers for Validator

Son of Odin requested to merge pooled-validator into develop

This is a draft implementation of allowing a validator to have multiple bond providers. Each additional bond provider must be whitelisted by the node operator, and there is a max of providers (set to 6 at the moment). Each time an unbond occurs, the rune held by the node is reallocated to each bonder relative to rune provided. You cannot add/remove bond while the node is active (only in standby). All profits and losses are socialized relative to bond size amongst providers.

In order for this to make economic sense, we'd need to change node rewards to be relative to bond size rather than number of nodes.

There is a "node operator fee" which currently is managed by mimir (in v2 of the feature, we can allow each NO to set their own). The fee (in basis points) is taken out of a surplus in bond (node bond vs bond providers). If there is extra rune (typically paid out via rewards) this basis points is removed from the surplus and added to the node operator at the end. The remainder is divided between bond providers relative to bond size.

TODO:

  • when a node operator removes a bond provider, the bond gets refunded.
  • add mimir to control the max number of bond providers per chain
  • add node operator "fee" (or don't do a fee, and the value in getting more bond is your get churned back in faster)
  • fix unit test
  • add unit tests
Edited by Heimdall

Merge request reports