The recent Tributary release protocol upgrade introduced a new feature: partial unbonding.
Previously, a token holder with bonded LPT that wished to withdraw its LPT had to unbond all of its bonded stake and wait through the unbonding period before she could withdraw. As a result, both transcoders and delegators that earned inflationary rewards over a number of rounds could not withdraw a portion of their bonded stake for other valuable purposes such as offsetting service costs for transcoders, funding development (ex. Supermax) or growing the community (ex. community nodes).
Now, the Livepeer smart contracts have been updated such that token holders can unbond a portion of their bonded stake and remain bonded with their remaining stake. For more detailed information about the mechanics of partial unbonding at a smart contract level see the protocol spec.
The Tributary release for the Livepeer node includes support for partial unbonding actions and all node operators can take advantage of these features immediately with the most likely beneficiaries being transcoders who want to gain access to the inflationary rewards they have been accumulating. The explorer will also be updated to support partial unbonding actions soon.
Below is a quick primer for node operators to get started with partial unbonding.
Using the CLI
The CLI tool bundled with the latest release of the Livepeer node allows the user to unbond, rebond and withdraw. See options 7, 8 and 9:
Unbonding Locks
Since users can partially unbond multiple times each unbond transaction will create an unbonding lock which tracks the amount of tokens being unbonded and the round at which the tokens can be withdrawn. A user can have multiple unbonding locks.
Unbond
If you choose to unbond, you will be asked whether you want to fully unbond or partially unbond. If you choose to fully unbond, the node will submit a transaction that unbonds your entire bonded stake. If you choose to partially unbond, you will be prompted for an amount to unbond and the node will submit a transaction that unbonds a portion of the your bonded stake.
Rebond
If you previously unbonded, you will have an unbonding lock that can be used to rebond if you decide that you no longer want to wait for a withdrawal.
When you choose to rebond, you will be shown a table of unbonding locks (if you have any). You will be prompted to select an unbonding lock to be used to rebond with and then the node will submit a transaction to rebond using the selected unbonding lock.
Note: If you are bonded such that you are delegated to someone, you can only rebond to your current delegate. If you are unbonded such that you do not have a delegate, you can choose a delegate to rebond to.
Withdraw
If you previously unbonded, you will have an unbonding lock that can be used to withdraw if you wait until the unbonding lock’s withdraw round.
When you choose to withdraw, you will be shown a table of unbonding locks (if you have any). You will be prompted to select an unbonding lock to be used to withdraw with and then the node will submit a transaction to withdraw using the selected unbonding lock.