Skip to content

Proposal: stake top-up and partial unstake #19

@fed-franz

Description

@fed-franz

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).

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions