Committee Proposal 84

TRON Core Devs
TRON
Published in
4 min readApr 7, 2023

--

Committee proposal 84 is a voting request for modifying the №59 and №70 network parameters, activating the Stake 2.0, please refer to here for the origin discussion. The №84 committee proposal is already in effect, please refer to here for the voting details, this post is dedicated to provide more details and make it clearer.

Why need to enable Stake 2.0?

In Stake 1.0, stake and delegate operations are bound together, and staking and resource management are very complicated. If users want to change the resource delegating recipient, they must unstake first, then make another staking and specify a new recipient. In addition, the staking has a 3 days lock-up time, which means that the obtained resources cannot be delegated to others within 3 days. If the user has already voted before unstaking, the unstake operation will also cause all the corresponding votes to be revoked.

Therefore, developers from the TRON community come up with a new stake mechanism, Stake 2.0, to solve these problems. It separates low-frequency stake operations from high-frequency resource delegate operations, reducing the complexity of staking and resource management. At the same time, the TVM virtual machine supports all instructions related to Stake 2.0, it will allow the smart contracts to integrate staking related features.

Introduction of Stake 2.0 correlated chain parameters

Stake 2.0 is a brand new staking model, aiming to refine TRX staking and resources management, and expand the application scenarios. The proposal parameters are as follows,

  • UNFREEZE_DELAY_DAYS(№70) = 14
    If this parameter is larger than 0, it means Stake 2.0 is activated. This parameter indicates the waiting period is 14 days that unstaked TRX could be withdrawn after unstaking.
  • ALLOW_TVM_VOTE(№59) = 1
    Set the №59 network parameter to 1, and enable the virtual machine contract voting function. Since TVM supports voting by precompiled contract and instruction in Stake 2.0, this parameter needs to be set to 1, making Stake 2.0 fully functional.

The community finally determined the UNFREEZE_DELAY_DAYS to be 14 days after full discussion. It is a balanced value taking public chain security and TRX liquidity into consideration. And compared to other main public chains, this is a reasonable and compromising value.

The difference between Stake 1.0 and Stake 2.0

Here is an introduction to the main differences between Stake 1.0 and Stake 2.0,

Figure 1 - Comparison between Stake 1.0 and Stake 2.0
Figure 1 — Comparison between Stake 1.0 and Stake 2.0

In Stake 1.0, the staking operation and resource management are combined in one transaction, and canceling delegating must be achieved by unstaking. Stake 2.0 separates the staking operation and resource management into two independent transactions, and canceling delegating no longer needs unstaking, which improves the flexibility of the resource delegating.

In Stake 1.0, partial unstaking releases part of the voting rights, but at the same time, all the votes in the account will be revoked. The remaining voting rights that have not been released need to be re-voted again to avoid the loss of voting rewards. Partial unstaking of Stake 2.0 will give priority to releasing idle voting rights. Only when there are not enough idle voting rights, part of the votes would be revoked as needed, which reduces the complexity of voting rights management.

In Stake 1.0, unstaking can only be made at least three days after staking, and a new staking transaction will make TRX available for unstaking locked again for three days. In Stake 2.0, Unstaking can be done anytime, and would not be affected by new staking transactions, only a short period of time needs to be waited before withdrawing.

Stake 1.0 is not integrated with smart contracts. Stake 2.0 supports all operations related to staking and resource management in smart contracts, bringing richer application scenarios to the smart contracts in TRON.

For more information, please refer here.

How to adapt to this proposal?

After enabling Stake 2.0, resources obtained through Stake 1.0 and on-chain voting will still remain valid, and the staked TRX can be redeemed using the unstaking method of Stake 1.0 normally. Please note that new staking TRX transactions can only be done through Stake 2.0 from now on.

Developers should check whether their business involves on-chain staking. If so, they should make preparations for adaptation, and ensure that they switch to the new stake API in time after Stake 2.0 is launched.

For more information about how to adapt to Stake 2.0, please refer here.

Summary

Stake 2.0 is a new milestone of the TRON network, it has fully upgraded the staking mechanism. Compared with Stake 1.0, Stake 2.0 is more flexible, efficient and intelligent, it significantly improves the flexibility of TRON network resources and voting management, and meanwhile reduces the complexity of user operations. And in the meantime, integrated by TVM will bring various application scenarios to the TRON smart contract ecosystem.

--

--