There are a couple of topics which I’d like to re-visit, given all the discussion about dApp staking v3 so far. There are multiple topics, and I have repeated the same answers a couple of time already, so I’d like to make a sort-of summary & extend it a bit.
Feedback
First of all, thanks everyone for the feedback.
There have been great comments & constructive feedback, and the one from @you425 to make reward linear between tiers will be incorporated very soon.
We’re also aware that a system to move the stake to another dApp during the Build&Earn Subperiod
would be nice to have for some stakers. It’s been noted and we’ll revisit this in the future to see what would be the proper way to enable it.
Lots of comments received make statements without understanding how the system works, and why is it working like that. I’ve repeated some explanations, more than once, but I see that either it doesn’t stick, people don’t read history or I just simply explain horribly.
A lot of comments and suggestions are one-sided, just aiming to increase rewards without taking the entire system into account. Such suggestions cannot be considered as something actionable, but can be interpreted in the best will by someone to come up with a plausible solution.
This might seem like a critique, but it’s just my personal observation. Tokenomics 2.0 & dApp staking v3 are very broad topics. Lots of information needs to be kept in head to understand it. I wouldn’t expect many people to have in-depth understanding.
Concepts
Inflation
Inflation is the result of emission of new ASTR tokens.
Certain actions are rewarded by issuing new tokens:
- Collator produces a block and is rewarded with some ASTR tokens
- stakers lock & stake their tokens, actively participating in dApp staking, and earn part of the inflation as a reward
- developers attrack stakers to nominate their dApp, becoming eligible to enter one of the tiers and earn part of the inflation as a reward
Note that these 3 different actors have different skin-in-the-game:
- collators need to operate & maintain the collator node (baremetal HW or cloud)
- for non-whitelisted collators, they also need to bond ASTR which can be slashed if poor performance is detected
- stakers need to lock & stake their tokens, loosing the opportunity to sell ASTR at a moment’s notice
- dApps don’t lock nor reserve any ASTR tokens in order to participate in the dApp staking protocol
- their skin-in-the-game is completely off-chain
(I don’t see this as my opinion but facts)
Stakers & Rewards
Stakers will lock & stake their ASTR tokens to earn more of ASTR.
Their rewards are semi-fixed (influenced by TVS), but do not depend on the current ASTR price on the market. This is expected since they aren’t locking & staking USD, but ASTR tokens. The APR/APY range needs to be clear irrespective of the ASTR price changes.
Developers & dApps
Developers develop products which engages the users (in any way or form), or provide stuff like infrastructure support (stating this based on the registered dApps).
They do not need to lock, stake or reserve any ASTR token to be eligible for rewards. Big community support is sufficient, theoretically. But realistically, since it’s web3, we mustn’t prohibit anyone from staking on any dApp, so of course that developers can stake on their own dApp if they want to do so.
Staking Benefit for Astar
The core idea behind dApp staking is and was that stakers can decide which dApp to support, without actually giving them any ASTR directly. They just lock & stake, that’s it.
The higher the TVL (& TVS), the better network is off since there are less tokens in the circulation, resulting in less selling, and making it more difficult to by ASTR. Basic stuff. This is what makes network better.
However, stakers don’t transfer their ASTR to developers, BUT the value of their token is being diluted by the emission going to developers. And the idea is that dApps will utilize what they receive in some way-or-form to further development (selling, kickback, staking, etc.).
Developers & Rewards
To repeat - developer rewards are derived from the inflation. This is important to keep in mind.
Inflation needs to be limited, i.e. just enough to support network actors in a competitive way. What is competitive is of course, open to the interpretation. Our staker APR right now is quite competitive and high, for a well established & stable project.
In common sense, we should not funnel large part of the inflation towards dApp rewards due to the reasons I mentioned above - they don’t need to lock their tokens & have no on-chain skin-in-the-game.
Rewards do need to be tangible and scaled according to the staked amount. Reward pool is limited, and we cannot accommodate unlimited number of dApps. This is more so true the lower the ASTR price goes.
Number of Slots
Number of slots we have in dApp staking adjusts with the movement of the ASTR price. In one part, this is because of the reasons mentioned above - dApps don’t have on-chain skin-in-the-game. It doesn’t make sense to payout the same amount if ASTR is at 0.05$ or 0.2$.
However, developers should still benefit if ASTR price goes up, and this has been the case from the beginning of v3. If for ASTR at 0.05$ dApp earns 3k USD per month, for ASTR at 0.1$ they will earn around 4k USD per month* worth of ASTR.
The slot number dynamic allows us, as ASTR price goes up and more projects join, to increase the number of supported slots. It also allows us, as price goes down, to keep supporting projects with tangible rewards.
Thresholds
Thresholds for entering the tier are dynamic, and get reduced as ASTR price goes up. If ASTR price goes down, thresholds will be increased. And as previous subchapter mentioned, as price goes down, number of slots goes down as well.
However, the previously mentioned statement that high TVL(TVS) is good for network is still true. It’s better for ASTR to have 50% TVL(TVS) than 10% TVL(TVS).
If we decrease number of slots, it means we can support less dApps. However, we still need high TVL(TVS) for the good of network. Therefore, we increase the thresholds in order to ensure that only the projects who draw high support from the community can get into higher tiers. Because it doesn’t make sense to payout big rewards unless TVL(TVS) is still high.
Final Thoughts
If I missed something, please consult the official Astar docs for inner workings, or the MVP reports for the approach philosophy.
Is this solution perfect?
Absolutely not.
Can it be improved?
Absolutely yes.
Can we just increase dev rewards?
Yes, if we increase network’s TVS. dApp will have a near 100% change to go into higher tier.
Sorry for the wall of text, but I believe this is better than to keep answering the same things.
Future Work
Right now, we’re finalizing a solution based on @you425 's proposal. It’s not 1-on-1 mapping of the proposal, but technically with respect to the inflation is probably the closest we can get to it.
The reason why we adopted that particular proposal is because the core explanation made sense - as dApps attract more support, they are not rewarded until they hit the new tier threshold. The new system will award it, but within the limitations of the tier it is currently at.
In the near future we will reconsider the ability to transfer stake to another dApp, without loosing the bonus reward.
We will also observe how the 2nd period will unfold, and might adjust parameters in the future.
No other plans, at least with the impact on UX and rewards, are in the pipeline at the moment.