-
Notifications
You must be signed in to change notification settings - Fork 1
Description
Summary
Currently, stakes' amount is fixed to what set in the original stake
operation. This amount is immutable (except when subject to hard slashing): to increase or reduce their stake, Provisioners have to first unstake, and stake the new amount.
This entails paying the cost of the unstake
and stake
transactions, and a waiting period between 1 and 2 epochs for the new stake to become eligible.
This DIP proposes to enable Provisioners to change their amount without needing to unstake and restake.
Detailed Description
This DIP modifies the Stake
contract to allow stake
operations on top of existing stakes (top-up), and unstake
operations that withdraw less than the total Stake amount (partial unstake).
Partial unstakes should not allow a stake to go below the minimum amount. Such transactions should hence fail.
Considerations
An important aspect to consider when changing the staking system if the predictability of the Provisioners Set, which allows filtering out future-round messages.
However, this DIP would not affect this feature, since both topup and partial unstake would keep the Provisioner in the set.
(Note that, currently, unstake operations already take effect immediately).