Summary: Staking Perks should be a priority
sTokens should be implemented as NFTs, but the implications of those NFTs are extended metadata that does not contribute to composability.
Details
One thing to consider is a change in the staking reward calculation logic. Currently, staking rewards are calculated by the difference between the reward unit price when staked and the latest reward unit price. A holding history of sTokens and a history of staking may not match, so changes to the reward calculation logic are required.
When I was thinking about this technical challenge, it occurred that sTokens would be more appropriate for ERC-721 than ERC-20. This is because staking is always 1:1 for the number of DEV(or gDEV), and because of the accumulation of rewards over time, the reward per stake needs to have information such as the stake starting block number.
Here’s one simplified example:
- Alice has staked 100 DEV for 6 months. And Alice is the only staker. Now Alice can claim her reward for 100 DEV x 6 months.
- Next, Bob has staked 400 DEV, Alice’s staking share has dropped from 100% to 20%, and Bob’s staking share is 80%.
- If the calculation of staking rewards ignores time series, Bob has the ability to earn 80% of the rewards that Alice has been accumulating for 6 months, even though he has only been staking for a few seconds.
Therefore, it would be preferable for sTokens to be realized by a specification with metadata, such as ERC-721. This is similar to why the tokens in Uniswap v3 LP are NFTs: Uniswap v3 LP has different parameters for each liquidity provider, so NFTs with their own extended metadata are used.
Now, remind the motivation for sTokens: sTokens is to improve the composability of staking.
However, sTokens as NFTs is meaningful through their own extended metadata. For example, staking start date, staking amount, etc. Since those extended metadata are not standardized, they are not available in external protocols such as Mintgate, for example. Therefore, all staking would appear homogenous; a 100 DEV staker and a 1 DEV staker having the same capabilities would be frowned upon in many situations.
So I thought it would make more sense to only give out NFTs to users conditioned by Staking Perks. It also gives the creators more room to be creative.
Fortunately, more progress has been made on Staking Perks than on sTokens, and development has actually begun.
Now it’s time to consider what the value of implementing sTokens in Staking Perks and beyond might be.