Dynamic inflation for dApp staking

Overview

The current yearly inflation for the Astar ecosystem is set to 10% at a block production of 12 seconds. 10% is in best case scenario. At the moment, inflation is divided in static proportions.

  • 10% of this goes to collators
  • 40% to the treasury
  • 50% to dapps staking (divided between Stakers and dApps)

The problem

With the current scheme, we saw its flaws and pain points.

First, the staking interest needs to be positive after adding total inflation into the equation. The APR of the users can’t drop below the inflation of the chain.

Secondly, the staking interest needs to be attractive in order to get more stakers, in order to get more usage of our dApp staking mechanism.

The third pain point is that since rewards for stakers are fixed, the more people stake, the fewer rewards everyone gets since the same pot is distributed between more stakers.

As a fourth pain point, we saw that the dApps rewards are limited - a higher number of dApps means each dApp gets lower rewards.

Last, on this list, the treasury receives too much and the active set of collators receives too much.


The solution

There is no silver bullet solution to our problem but it can be addressed.

The main idea is to have a part of inflation that is dynamically distributed between stakers or treasury. The higher the dapps staking TVL is, the more of this dynamic part we allocate towards stakers instead of the treasury. This eliminates the zero-sum-game problem we have with the legacy system.

To summarize - the more stakers stake, the more we allocate towards staker rewards! This is true up to a certain degree after which the rewards will become saturated.

The rewards for treasury and collators will be decreased, in favor of stakers. For now, dapps will receive a fixed portion of the inflation. This will be addressed and improved in the future.

For easier understanding, here is the list of variables and constants used in the model.

The following graph illustrates the proposed scenario. Please consult the above description of parameters to better understand what each line and value represents.

APR Analysis

Feel free to play around in the graph to see how it works:

image

It is very important to note that aiming for a high TVL at which staker inflation saturates will result in a very low-interest rate (which is unacceptable). We cannot achieve APR comparable to e.g. Polkadot or Kusama because we have inflation components like dApps staking and minimal treasury inflation. They on the other hand can allocate entire inflation towards rewards.

However, by carefully choosing parameters, we can achieve a fairly attractive APR while also providing dApps with rewards. In order to provide some deflationary force, we should keep the 80% fee burn concept. The remaining 20% will go towards the treasury instead of collators. But this depends on how we decide to tweak treasury and collator inflation.

Interesting document: https://research.web3.foundation/en/latest/polkadot/overview/2-token-economics.html

11 Likes

Please have a look at our proposal and comment with what you think is a fair amount to give to dApp builders and Collators because those numbers will be fixed in this proposal.

5 Likes

Because there isn’t much traction in this thread, let me propose a solution:

  • 10% - Collators
  • 10% - dApp builders
  • 80% dynamic between stakers and treasury to make sure APR is almost at it’s highest for the stakers joining dApp staking

Let me know your thoughts

6 Likes

First of all, thanks for the proposal, I think that those kind of topics should be (at least) fully transparent and public. Collators are very important but in the context of sustainability long-termly those who really deliver value (builders) should be able to be rewarded too. I was thinking how to underline value delivers, and what you think about having let say two tiers of collators:

  1. Just a normal collator
  2. Collator which also decided to build dApp

Those collators which also delivered some dApp receives even 5% more rewards than normal collators. By writing the idea, I just wanted to express openly invitation for collators for building, too.

The second aspect of APY of dApp Staking is time on Astar Portal and maybe measure volume of some concrete dApp? The more the dApp generates volumes of transactions, the more rewards, expressed in quite small random factor maybe, but still some extra reward for highly utilised dApp?

I am concerned that an excessive increase in staker compensation will put selling pressure on the ASTR.
Not everyone can act wisely.

  1. Regarding Staker rewards, I think it would be better to solve this problem by utilizing Liquid Staking rather than increasing the original rewards.
    However, it would be good to have some fluctuation in the amount of reward as proposed.

  2. It is a good idea for the Builder’s reward to fluctuate with reference to the activity on the on-chain, not just the amount being staked.
    However, it is necessary to take this into account because transaction trends vary greatly depending on the type of product, such as DeFi, NFT, games, etc.

Thanks for the feedback guys!
Let me share a few notes and opinions.

@tomasz-waszczyk
I agree we should incentivize builders and reward them but isn’t the dapps staking itself used for that?
Running a collator requires different commitment type and skillset than building a dapp so I don’t feel like we should mix the two. E.g. speaking for myself, if I was building a dApp, I’d rather focus on that than running a collator in parallel. But that’s just my opinion.

For the second suggestion, we discussed it quite a bit within the team. Having some metric to measure dApp performance and adjust the reward based on that would be fantastic (I was the advocate for this before xD). There are two issues with this approach though:

  1. Getting the correct data about the performance is problematic. Our protocol is fully decentralized and we’d like to keep it that way. Getting the performance metric indicators (e.g. volume or time like you suggested) on-chain can be very expensive and it isn’t really feasible. We could use oracles to get it off-chain but we’d need to have providers of such data (more than one :laughing:) or we’d have to design it ourselves. And we don’t believe this is good use of our engineering resources atm.

  2. The reward scheme would have to be designed & maintained which again requires resources which are stretched thin atm. And generally, I believe it would be very hard to find a perfect solution so we’d probably need to re-iterate many times.

What we opted for instead is to do two things regarding this:

  1. Provide user possibility to transfer their nomination from one dapp to another
  2. Visualize dApp performance on our portal so users can see who gets how much rewards and are they actually contributing to the ecosystem

We believe this will provide users with good tools to ensure good dapps get rewarded.
But we’ll see!

@you425
I don’t believe this will be excessive. E.g. if we input the parameters Maarten suggested (assuming base staker and treasury rewards are 10%), for the current TVL percetange (~35% of total issuance) we get 14% interest rate, or 3.7% adjusted interest rate for inflation.

I agree with your 2nd point - I wrote about this when answering to Tomasz. Imo, it’s hard to judge dapps value purely based on measurable parameters. But it’s a good start.

Perhaps we could have something like dapps-staking governance in the future (like a council) which would decide how dapps staking is configured, etc.

Thanks for the replies!

2 Likes

My biggest concern is that with the fixed inflation for dApps builders dApps staking conception will not work in future. This applies especially to the new dApps. There will be too many dApps for the small fixed pie of inflation, therefore build to earn conception will not attract new dApps.

As a possible decision I propose to establish an additional premium for the new dApps, which will go from the treasury (need to determine the size of this pool). This premium will decrease every month and will work during the first 3-4 months of the work of the new dApp.

These dApps could be chosen via the short auction (2-3 days every month). If dApp win the auction, it will receive a premium. If not, dApp team can wait for the next auction or launch a dApp without the premium. Teams can propose dApps tokens as a reward for the voting.

In this case, revenue streams of the dApp will look as follows:

premium

This mechanic will (can) attract new dApps and help them in their early stages.

Also, it will create the new source for ASTR demand and a new way to distribute tokens for dApps.

5 Likes

I agree with this idea. In fact, something similar to this was what I proposed to the team at a very early stage. We noticed from the early stage that dApps Staking rewards will have a diminishing return for new projects in the long-run, and will only benefit large projects. If we put the rewards that nominators receive into the equation, there will less incentive for nominators to nominate for a project with low nominations.

Sorry to complicate this thread, but I’ll just state my mind in hopes of a better solution.

My initial suggestion was to use a scheme like Polkadot’s validator election and rotate the rewarded sets. But this was difficult since we cannot give every stakable dApp a chance at being elected if it grew infinitely. Plus, unlike validators, dApps will always stay on the network without slashed rewards for misbehaving.

My second idea was to look at Polkadot’s parachain slot auction and crowdloan as a reference for the reward criteria. As you mentioned in your post, we will go through an auctioning process for who is eligible for receiving the rewards that happen every week based on the number of nominators and raised value (i.e., votes). During this period, the winning dApps will be registered for the dApps Staking and receive the normal rewards until their lease is over. This idea was rejected by the team because it overcomplicated the system, and I later noticed that it went against the vision of Astar Network and dApps Staking as this system essentially incentivizes projects with a token reward for the auction fundraiser.

So we have the current system which isn’t the most scalable solution but this will work well enough while the dApps Staking list is still permissioned.

I agree that we should improve on this. But not just on the token economic side, but in practical terms too.

I do not have a clear solution yet, but I can raise a couple of points I think is important in creating a solution for the long run.

  • Astar Network is a hub for innovative dApps, and dApps Staking is the main driver for powering these projects and teams
  • We want to keep token sales or token incentives for dApps as an optional perk. Let’s face it, we are seeing so many shitcoins, NFT sales, and rug pulls in Web3 because people are encouraging token sales for projects to sustain themselves. We want dApps Staking as a sustainable incentive mechanism for projects who solely focus on utility, novelty, and community. In other words, dApps Staking can be considered successful if we see projects sustain themselves without going through a token sale, nor putting an advantage for projects that does so
  • We need both active and passive on-chain metrics to determine if a dApp is considered to be “high-performing,” meaning that it is providing value to the network. I propose that we can have an on-chain gassless voting system through DID virtual gas payment, but this is another layer of complexity to the system
  • dApps Staking should be similar to a decentralized Patreon or YouTube (for dApps). But instead of having the supporters directly pay to support, we want to reduce the barrier to supporting a project (through staking) and create a stable and yet sustainable incentivization mechanism for projects that people wish to see continue to grow and be supported
  • We cannot incentivize everyone, so the list of incentivized dApps should be limited, but always dynamic and fair so that new projects can easily be noticed and get the support that they deserve, and projects who failed to be on the reward list will want to work towards that goal. This can be through active or passive means

These are the points that I value the most in Astar Network, and how I see our vision should be. Having said that, I want to emphasize that this is just my personal view on the matter, and does not reflect the team’s view. So the final result will always be different.

But I would like to see our smart and talented community members engage in this topic and help us come up with a long-term solution that can benefit everyone.

8 Likes

In this case, is possible to distribute this premium among the new dApps based on the number of ASTR staked value. But fully permissionless listing will not be possible, because scammers can list the same smart-contracts over and over again and stake their own ASTR to get this premium.

Also, since you mensioned Parteon, we can adapt their system for dApp staking and turn it into the boost system. User can boost his favorite dApp with ASTR tokens, in this case he (user) will share a part (or whole) of his dApp staking income with the dApp on exchange on some perks like tokens, etc. User can unboost his ASTR tokens anytime and boost other dApp. This system will reward the best dApps.

In the environment where we have to meet the needs of 4 actors (users, builders, treasury, collators), give these actors more tools to exchange their dApp staking reward between each others could be a good way.

1 Like

We agree that current model isn’t feasible for the future since the rewards won’t be big if we’re just dividing the same amount. To address this a bit, we can make dapp reward portion scalable based on number of dapps. Actually, this was implemented but I scrapped it since we didn’t want to control this without governance. But we can add it again easily in the future.

We discussed dApp rotation within the team few months ago and is something we’d like to have in the future, we just aren’t sure of the model yet.

The new dapps staking portal will display new and prominent projects so stakers will be able to decide whether they want to stake on them or not.

For the incentives provided by dApps, we don’t see that in the future as part of the protocol. If some projects wants to offer their tokens/rewards/etc. they are free to do so right now. We provide the tools for them to check whether someone is staking or not. It is up to them to market, connect with community, get support, etc. though.

Regarding scammer dApps, once we have on-chain governance for dapps staking, community will be able to permit dapps to register themselves for dapps staking but also to unregister them.

Sorry if I missed some of the points.
It’d be good to open a separate discussion regarding this, imo.
We were hoping to have a discussion about new model parameters here.

You wrote “current model isn’t feasible for the future since the rewards (denominated in SDN or ASTR) won’t be as big if we’re just dividing the same amount.”

But we won’t be dividing the same amount - the constant denominator (SDN or ASTR) can more appropriately be expressed in the equivalent variable denominator of dollars. If the Dapps have objectively (not subjectively) produced value, then the SDN or ASTR will be worth more dollars.

The onus should be on the Dapp developers to drive the value of SDN/ASTR higher so they can receive more dollars.

1 Like

We updated our docs about inflation and tokenomics. Please check here:

1 Like

We will update Shiden & Astar with the following parameters:

baseTreasuryPercent: base inflation rate for treasury: 10%
baseStakerPercent: base inflation rate for stakers: 20%
dappsPercent: Inflation that goes to dApps: 15%
collatorsPercent: Inflation that goes to our collators: 10%
adjustablePercent: adjustable inflation that fluctuates between stakers and treasury: 45%
idealDappsStakingTvl: the ideal TVL ratio is set to 60%

3 Likes

We plan to execute these parameters on the following dates:

  • Thursday (June 7th) on Shiden (4PM CET)
  • Tuesday (June 12th) on Astar (11 AM CET)
3 Likes

Your Dapp staking idea is brilliant, btw. It really makes sense on both the developer side and the investor side. The developer is incentivized to build to attract token holders stake, and the token holder is incentivized to stake Dapps that will drive the ASTR/SDN value higher. It’s a really great solution that makes a ton of sense.

I have waffled on the fence of putting in the effort to build something for years. As a neophyte and an amateur, really the only reason for me do to it previously would be the intellectual exercise. I could put in work, and build something neat, and attract users, and all the benefit would accrue to someone else. The incentives didn’t work for me.

DApp staking changes the equation for me. I bought a bunch of Astar/Shiden and now I get paid everyday in them. Because cash flow, I really want to help drive the value of these tokens higher. The clear path to drive the value higher is by developing more and better dApps. Other people are going to experience this same incentive cycle as they become owner/builders.

Being able to write smart contracts in Ink! and compile them to WebAssembly has also made developing smart contracts more accessible. Learning Rust is a transferable skill worth spending time on even if I didn’t want to build smart contracts. This again makes it more attractive to put in the effort to learn how to do this.

I’m experiencing FOMO for dApp staking now instead of FOMO about some price movement. Also having Shibuya and Shiden makes it feel more casual for new programmers that aren’t quite at the Phd computer scientist level.

The dApp staking incentive system is working very well from my perspective.

4 Likes