Whitelisted by  Fellowship #17

Enable conditional fast-unstake service in Kusama

Whitelisted Caller
2 Comments
Executed

This proposal should enable fast-unstake in Kusama, as explained here.

Reply
Up
Share
Status
Decision14d
Confirmation10mins
Attempts
1
Tally
100%Aye
52.4%Threshold
0%Nay
Aye
716.59KKSM
Nay
18.92KSM
  • 0.0%
  • 0.0%
  • 0.0%

Threshold

Support(5.15%)
667.34KKSM
Issuance
12.95MKSM
Votes
Nested
Flattened
Calls
Capital Pct.
Votes Pct.
  • Call
  • Metadata
  • Timeline6
  • Votes Bubble
Comments

Path to fast-unstake on Kusama

this feature is there to allow those that have staked by mistake, or for whatever reason, are no longer actually exposed (and are thus not earning any rewards anymore – exactly like a recent report here: Only inactive validators after nomination - #3 by kianenigma) to unstake faster.

This pallet already exists in all runtimes. The pallet works of the basis of using leftover block weights, and using it optionally (on_idle, for the technical folks) to progress the unstake process. The pallet consumes only a maximum amount of weight, measured in the number of eras that are checked per block (ErasToCheckPerBlock).

This cap is currently set to 0 in Polkadot and Kusama, and thus the pallet is effectively not doing anything. On westend, the pallet has been enabled for a while now, and has been tested.

The most note-worthy issues is that an unexposed nominator who also happened to have been slashed in the past cannot use this pallet. First, this is a very rare case anyhow, because to be slashed, one needs to have been exposed at some point, which contradicts the main requirement of fast-unstake: it is only for unexposed nominators. So, only a small group of nominators will be applicable to this. Moreover, any UI can easily detect this situation and not recommend that fast-unstake process to the nominator if they have been slashed in the past.

The second issues that we have found so far is that the while the fast-unstake process does not take too much weight under any circumstance, it might mistakenly report a very large amount of weight for itself. This might have the consequence of next on_idle hooks in the runtime being starved, but it has no serious consequence on the rest of the system. Moreover, no pallets other than fast-unstake in Polkadot and Kusama runtime are using on_idle.

Both issues are fixed.

The call needed to enable the feature are as follows: Kusama - Polkadot/Substrate Portal.

Edited

Reply
Up