dApps Staking v3 - proposal

I think this is a good idea if possible.

Currently, I feel that newly listed dApps are at too much of a disadvantage during B&E. 1Period is about 4 months, which is too long in this industry.

Or, I think one of the suggestions would be to shorten the Period itself, as 4 months is so long that even as a Staker, Staker would forget to vote. Personally, 1 month (30ERA: Voting 5ERA + B&E 25ERA) is enough for me.

2 Likes

This is another suggestion, but how about adding a mechanism to prevent dApps from free-riding?

As always, I’m not a developer so I’m ignoring this as far as implementation and system burdens. Thank you for your understanding.

There are currently several dApps that report their activity on the forum, but it would be difficult for Staker to check them all. Therefore, how about the following process?

  1. Add an activity report section to the dApps page of Astat Portal
  2. Each dApps is obligated to report monthly (30ERA) (sections that are not likely to generate additional development, such as tools and infrastructure, should just report on usage, etc.)
  3. Write to the on-chain at the time of reporting
  4. Reduce compensation if no report is made for each of the past 30 ERA at the time of each ERA compensation accrual
    30ERA → -33%, 60ERA → -66%, 90ERA → -99%, 120ERA → Delist
  5. Reset the penalty if reported (I think it would be preferable to move back one penalty tier if the system is less loaded)

The advantages of this system include

  • Staker can easily see activity reports
  • Forum threads will be able to prioritize discussions
  • Penalty mechanisms will be in place to encourage activity reports
  • Ghost dApps will disappear because dApps with low activity will be automatically delisted.

Although it is an optimistic system (false reporting is possible), it will be much better than the current situation. Currently, we can use Forum, and in the future, we can use on-chain governance to prove fraud.

I think it would be relatively simple to implement if Period were to be 30ERA, as in one previous post. In that case, the activity report would be fixed to the Voting Period, which would make it easier to manage the parameters.

5 Likes

In the case of shortening Period itself, i would personally not go this short as it will be necessary for the projects to constently use resources for communication & promotion campaign in order to keep their floating stakers (the one only attracted by proejct rewards). It could induce race between project to provide more rewards and put new project at a disadvantage as they do not have the resources to offer additional rewards and Big project will be leading the dance.

It’s a good idea and I’m all for transparency, it would however be necessary to define in advance what are the valide activities because github is not necessarly the best reference as some projects do not really produce code but are more on the art/social/community activities and ecosystem promotion (such as NFT/Community/DAO based project)
also a think a report template would be required to simplify everybody life :slight_smile:

Just a few comments/replies:

@Mouthmouth68 about your proposal:

Regarding the moving thresholds, this isn’t something unexpected though, it’s by design.

The bonus is supposed to incentivize stakers to stake on a project they believe is worthy supporting for at least a period. This gives weight to the decision. Projects & Astar team are expected to do marketing activities to attract stakers for the Voting subperiod, and protocol ensures bonus reward is given if that commitment is kept.

Each dApp should attract as much support as possible, to combat the effects of big changes on the market. It’s a competition.

For the Degens, if they reduce their stake, they only lose the bonus associated with that dApp, not all of them.


That being said, we’ll consider this situation and how to possibly improve it for the future. Maybe something in like with your suggestion, but to be allowed only if e.g. price changes significantly.

Personally, the part I dislike about the system the most is there’s no skin in the game for stakers, at all. But no one complains about that. :slightly_smiling_face:


@you425

The supposed system to handle this is unregistration.

Just to emphasize about this - the report received from the MVP Team was comprehensive, but it was also in the form of guidelines. Many of the things were implemented, some were not (technical reasons or we believed a better way exists).

For the params, I do agree and acknowledge that decision making wasn’t open to everyone. While this meant omitting some transparency to the decision process, it also meant that discussions would be more focused. My personal opinion is that it was a very difficult & extremely broad topic which would make it difficult for people to participate. Based on this forum discussion so far, I’d say that very few people have invested enough time & energy to really understand well how the whole system works.

But this is perhaps a topic for another thread.

You may have a point there, but I doubt it.
I don’t think it would make much of a difference if we were to have flexibility in bonus rewards, as it would require ongoing promotion. I don’t know how much difference it would make if there was a clear deadline or not.

My intent in shortening the period is not just for bonus rewards and developers. dApp Staking is part of governance and I want to force more stakers to be aware of it so they have more opportunities to vote. I also believe that choosing who to vote for will help generate interest in the projects listed.

Does this refer to the delist as proposed in the Forum?

If so, unfortunately, it is currently not working well and is difficult.
The dApp Staking works as an optimistic mechanism in a sense, but it is difficult for the community to know about all the projects in order to make a correct decision. In general, there is no incentive to make the effort to look into them (think of ORU’s Fraud Proof).

At the very least, we should be able to see dApps activity on Portal and penalize dApps if they can’t provide the information to do so. And I would like to enforce that in the system.

Yes, it was only a report, so it was within our expectation that the actual implementation would have different parameters. However, at the very least we needed to explicitly report what parameters we ended up with.

I, too, find it difficult to get people involved in this discussion. However, there is a difference between having no room at all and having the opportunity and not exercising it. At the very least, if there was a report, the opportunity for feedback could have occurred.

I agree that this topic belongs on another thread. There is no need to continue it further here. However, as I said before, I would like to see us try to have the necessary transparency, and I think many of us hope so.

Here are my feelings about the dApp Staking V2, V3 and my suggestions.

dAppStaking V2 Pros:

  • the dApp rewards are linear, it seems fair for all dApps.

dAppStaking V2 Cons:

  • the user stakes and forget. It means the user doesn’t vote for the active dApps,
  • too many rewards for certain dApps,
  • significant inflation.

dAppStaking V3 Pros:

  • the voting and build sub-periods fix the issue “stake and forget”,
  • limitation of inflation: the total amount of rewards allocated to the dApps is fixed per tier. If a tier is not filled, the remaining rewards are not minted (or burned if you do marketing),
  • adapt the rewards given to the dApps based on the token price. This way the dApps rewards is stable in USD.

dAppStaking V3 Cons:

  • thresholds: feeling of injustice and non-meritocracy,
  • adapt the thresholds based on the token price. Too difficult to predict for the dApps. With the system of “bonus given to stakers if they don’t change their stake”, the dApps are “blocked” if they go down in the tiers only because the token price downs.
  • except if I am wrong, only dApps support inflation limitation. Both actor should support it.

Suggestions:

  • remove the tiers and use a logarithmic function (or more sophisticated function),
  • keep a minimum threshold: dApps with less than X tokens receive no reward,
  • keep the voting and build sub-periods,
  • continue to adapt the rewards given to the dApps based on the token price,
  • both actors should support inflation limitation. Specify the max amount of tokens given for stakers and dApps, and share it between stakers and dApps. If you want to reduce the inflation, reduce this amount for stakers and dApps.
  • to avoid inactivty or bad bahavior of dApps: create a framework for dApps when they are in the dAppStaking:
    • Each dApp must publish a quaterly activity report. If this report is missing for 6 months or if the report does not convince the community, the community could propose to delist the dApp.
    • limit bribes, only 20% maximum can be given back to the stakers and at least 60% of the rewards must be use to develop the ecosystem.
    • probably use different frameworks for NFT collection, DAO and dApps.
3 Likes

I just posted a simple simulation of the case for eliminating the Tier system here.
It was done in a simplified manner for now, so if you add mechanisms such as incorporating lower and upper limits, making the reward pool dynamic according to TVS, etc., it would be close to what you want.

4 Likes

This is a good idea. It seems a lot of builders are unhappy now :frowning_face:

So we weren’t crazy. This is all we have been advocating for months, thanks for the detailed sharing it’s very helpful for everyone, and the simulation created by @you425 also says this. You can act with compromises in the end, just use common sense.

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.

9 Likes

Definitely one of the best explanations ever given. Clear and objective.

But as stated by me in another publication, no matter how much there was a problem or mismatch of information, what we saw was a complaint from those who until now had delivered little, and only sucked up the value of the tokens in inflation, in addition to, as it makes clear in your explanation

if you had a commitment to the community. Extremely grateful for your explanation, I hope the best is done. :muscle:t3:

Hello Dino,

Thank you for providing information again before the start of the new Period.
While updating, I think we will observe as a v3 system, and I will provide feedback if I notice anything. Thinking towards the next Period, I am also considering compiling a tutorial for stakers.

1 Like

Hi @Dino The fact that you and the team work hard is beyond doubt. You can see that there is a lot of passion behind your work. Unfortunately, however, you continue to have a biased view. You have only one objective “to base rewards on inflation which must be lower”. Among all the protagonists of the network, the only ones penalized are the developers. And they were penalized a lot. Probably v2 was excessive or an error of judgment, but remember that it is thanks to what you granted in that period that many developers arrived, so it can be defined as an excellent marketing action. The change on the fly is not a good thing for those who plan a job and put a lot at stake. Here too you will answer me with a personal consideration like “dapps should use rewards as an incentive and not as the core of the project” but this is also a questionable answer and is true as long as you are in a low tier, therefore unfair.
But the most serious thing and which in our opinion lacks vision of the future of the project is this:

You have made a differentiation on the onchain activities of all the protagonists of the network. Thinking that the research and development activity that only developers obviously do and which is obviously offchain is something that is not tangible and does not impact the system is quite stupid in our opinion. Trivially then the onchain activity can very well be falsified even post development and you yourself gave the example in a post above.
However, think about the future, when Astar (and we all hope so) will become as big as Solana or even further, as Ethereum. At that moment you will need those who have developed, researched, and done activities that you count as null in mathematical terms. The core Team will not be able to create new projects like Yoki indefinitely and make them the basis of development on Astar, when you reach certain levels you will need developers like us, and decide today not to support or in any case disregard promises made months ago based on a better tokenomic, it can be a double-edged sword.
If there is growth ambition you should consider this.
This is why, beyond your undeniable work, we confirm that unfortunately you too have a vision focused on one side. The fact that some things are changing is already very positive.
Openness to future change is very positive.
Building a high-performance environment in terms of development must be done now, not in a few years. And the weight of the most inflationary tokenomic should be divided among all participants in the network. With the only exception which should be that of greater control, setting of milestones voted directly on the portal of the developing teams. You would automatically reduce the number of dapps present now, and waste much less funds.

1 Like

Hi Dino, this post certainly sheds some light on the entire process and provides more clarity around the logic for decisions made.

During prototype simulations for dApp staking I don’t think it was taken into account that certain incentives (25% staking kickback of rewards back to stakers or whatever it was) would drive the majority of stakers to allocate the majority of staked Astar to a single project.

As a result the bulk of rewards are with a single project while other innovative projects are starved of rewards.

The tier thresholds were too high to jump between tiers.

Having just one project in tier 1 is not an efficient use of rewards for the ecosystem, with it virtually impossible for projects to jump between tiers at present.

The thresholds should have been lowered between each tier - for example 10 million Astar staked should have got a project into tier 3 (at this moment the minimum viable tier for development).

The rewards for Tier 1 are too high and Tier 4 is too low.

Projects should not be punished for not bribing stakers to stake with them.

Syfy Labs are developing a high transaction count RMRK NFT game similar to existing ones on Moonbeam, it could have been a (potentially) flagship project for Astar. Moonbeam see the value in this and have now offered them a performance based grant - they probably won’t be the last innovative team to leave Astar. Even now they provide valuable honest ‘exit interview’ feedback (no doubt these thoughts are shared by other silent projects).

For projects receiving rewards also at this early stage of dApp staking, stricter controls / milestones need to be put in place, to rule out teams not developing to the required standard and any potential bad actors.

3 Likes

Thanks for this good explanation Dino :slight_smile:

1 Like

Thank you for summarizing the story so far.

In that clarification, there is something that the community should consider again.
That is that v2 and v3 are very different in terms of developer compensation.

Perhaps the reduction in Tier 1 rewards is not the issue, and many are most suspicious of the large reduction in Tier 4 rewards.
That said, the community thought that dApp Staking was a form of subsidy, meant to attract and onboard (support) developers, large and small. v2 had excessive rewards, so v3 capped them through the Tier system, but but especially the reduction in Tier 4 rewards. The newer the project, the less TVS it is likely to have at the beginning, so it is much less meaningful when considered as support.
In other words, what was “Support” in v2 became “Reward” in v3. I think this change in perception has not been reconciled with the community.
If we don’t clarify this point, the conversation will never be resolved because the premise is completely different. First of all, we need to align the community’s perception. This difference in perception is quite significant.

Which will dApp Staking v3 give support or reward?
Now many would consider that support.

This is a different position for the holder and the developer, and each needs to organize their thoughts.

Developers

  • Of course, the more the better.
  • However, it seems that no developer is currently demanding excessive compensation.

Holders & Stakers.

  • The less compensation you give to developers, the less inflation, i.e., the less dilution of value.
  • But developers are needed to develop the ecosystem
  • So what is the appropriate balance between inflation and rewarding(or supporting) developers?

Which do we want to be?

5 Likes