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).
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 theunstake
andstake
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 allowstake
operations on top of existing stakes (top-up), andunstake
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).