wanchain/go-wanchain

Add possibility to reduce Self-Stake and Partner-Stake

Closed this issue · 1 comments

linki commented

Validators and Partners should be able to adjust/reduce their Stake to allow to react to changing conditions.

Currently Validators and Partners can only add Stake but cannot withdraw Stake in a granular way. The only way to reduce Stake is to withdraw all the Stake at once by setting the NextLockEpochs to 0. I assume in the case of the validator itself this would also terminate the validator (Please correct me if that's wrong). Partners seem to be able to withdraw their funds already as seen by 0xfc2730f75330bb75cb28fcff12f0aea5b6e433e1 between blocks 8677455 and 8677456. I assume, a full termination of the validator results in losing all deletions and therefore is very disruptive for delegators, validators and the network itself.

We should add a method(s) in the staking smart contract to allow Validators and Partners to reduce their Stake in a granular way.

Reasons to withdraw Stake as Validators and Partners can be:

  • Changing market conditions, such as price rises and decreases.
  • Outflow of delegations that don't require as much self-stake.
  • Reduction of risk by lowering staked WAN.
  • Re-allocation from Self-Stake to Partner-Stake and Partner-to-Partner Stake.

If there's already a way for Validators to StakeOut an amount without service disruption for Delegators and other Partners I would be interested to know how it works.

yes, good idea.