-
Notifications
You must be signed in to change notification settings - Fork 7
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
New Markets & Native APYs #41
base: main
Are you sure you want to change the base?
Conversation
Before DIP4, APY per Market was enabled. This proposal is similar to that specification. Before DIP4, metrics were used as the variable to determine the APY, so the APY varied depending on the number of assets authenticated on the Market. This was due to the need to calculate the ratio of a single metric to the total number of metrics. However, I am now not a fan of dynamic APY by metrics because it caused a heavy concentration of staking. This DIP proposes that the APY should only vary with the "number of assets authenticated," and I agree with that idea. This DIP also proposes Market development using "forks," but I'll propose development using Development with a fork or
I understand that this DIP's goal is to have variable APY for each Market, so I think it is better to discuss how to implement this in a later phase. |
Thank you for the technical upgrade. I wasn't aware of this technical capability and agree that this is the correct way to move forward! |
@defi-er Please share your ideas for the following questions.
|
This depends on the number of DEV staked and assets onboarded. If we use current .00012 DEV per block (second) and there's one one asset onboarded to the new market then there would be low inflation. Calculation Assume 10,000 DEV is staked in new market |
So, can your idea be rephrased as follows? Prerequisite
ProposedSushi Market
Ramen Market
CurrentSushi Market
Ramen Market
Global reward
Currently, the APY is calculated based on the sum of the Sushi Market and the Ramen Market. Under the proposal, the APYs of Sushi Market and Ramen Market will be calculated separately. // By the way, since Market and Property are a many-to-many relationship, two Markets with different APYs may be associated with single Property. I need to consider out a formula for that case. |
Yes, exactly |
I've brought this discussion about yield competition over here. There are two ways of competitive yields.
In case of 1, we need the fair way to determine the native APY since the protocol doesn't determine the market value. However, we should keep in mind that 90% of the staking was concentrated in the most rewarding property before DIP4. |
The APY is determined by the inflation rate and DEV staked therefore the community determines the APY through economic market dynamics. |
The following numbers are an APY calculated by the current Policy Contract. I think this helps to understand the dynamics with different APYs. (These APY are the sum of stakers + creators) Pattern 1
Pattern 2
As you can see from the results, the higher the number of assets, the higher the APY. Pattern 2'
If staking concentrates on Pattern 2, the resulting APY will be lower. |
Thank you for simulating the data. I approve of this model for new markets. I do believe that there's more pressing features and Dapps to build in OSS before we proceed to new markets. But it's good to finalize this. Please let me know how we proceed with a community vote for this. |
@defi-er In my opinion, these technical concerns need to be addressed before we can move on to the next step. This is because depending on how we resolve these issues, it will greatly affect how this DIP works. I am looking into solutions. #41 (comment) |
When a user creates an asset they choose which market their asset will be associated with. For example: Different platforms of the same sector (Example Github, npmjs, Gitlab) will be listed under OSS market |
I don't have an alternative yet, but I don't think the concept of sectors will work for the following reasons.
Therefore, individual markets, not sectors, should have an impact on APY. (If so, the existing npm Market may need to be migrated to GitHub Market) |
Another thing I am considering is how to handle the phenomenon that the inflation rate increases in proportion to the number of markets when creating an APY for each market. If the Sushi Market and the Ramen Market have the same level of statistics, the inflation rate will be twice as high. (ref: #41 (comment)) |
Let me add the definitions I've been using to define the following terms so that the community can follow along with this discucssion. Definitions
New markets should be voted on via governance. The association of markets with sectors should also be voted on via governance. Developers who associate unrelated markets with each other are exploiting the protocol and established creators. This is because they leverage creator's market that has a better APY and more stakers. This should be seen as a negative externality or tax on creators. Therefore, the process of adding a new market or sector should be similar to the process of adding an asset to Dev Protocol. Example: Youtube market can't join OSS market but Github and NPMJS can join OSS market.
No, they don't because existing markets have more stakers + more assets (more inflation). Also if Governance must approve markets and sectors then there won't be an incentive to exploit the protocol.
Yes, I agree that NPM and Github should be associated under the OSS sector. |
Change the APY for each market. Forking the protocol |
Yes, this model incentives users to make profit. Which isn't a bad thing, but isn't the correct way to look at it as well. I'll explain why.
I will share the math. Calculation Assume 10,000 DEV is staked in new market Therefore there isn't competition because a small amount of DEV saturates the rewards. In this example 10,000 DEV staked brings APY to 18%. The current OSS market has 500,000 DEV staked with a 28% APY. Under my model a new market can only become competitive with existing markets by having creator adoption that increase DEV minted per block.
Yes, Aggre already proposed the following solution Please follow the conversation so we don't have to repeat information. |
Still, I think "simple is best" is the way to go. |
I still think that the incentive to separate the sectors may not work. Therefore, I think it would be better if individual APYs were held by Markets rather than by sectors. The same concept as sectors can be realized by having the creators choose the relevant markets and authenticate each of them. For example, an OSS developer can authenticate npm and GitHub. His Property will add up the APY of npm and GitHub. I think that is a more flexible solution than sector.
@defi-er People and creators staking on Property-P in Sector-S want to see more assets in Sector-S. If so, why don't people create an "All" sector? |
This creates double the inflation of Dev Protocol because you have one asset across two markets where each market has it's own inflation.
This is the idea of "Sets" that I described before were the UI/UX has pre-made packages of assets to support across different markets. Being the first creator in a new market is also advantageous because with adoption of the new market all inflation will benefit you relatively more than the new creator since you have stakes. Therefore, early adopters are compensated. |
In my understanding, the same situation (double the inflation rate) occurs in sectors as well. (ref: #41 (comment)) By dividing the global APY proportionally to each Market, we can solve the problem that the inflation rate depends on the number of Markets. Naturally, Markets need to pass governance, but the risk of reducing one Market's reward is safer than the risk of doubling the inflation rate. If there are too many markets, users can start governance flow to change global APY. This DIP's motivation includes "reducing the impact of assets in different fields on each other's reward." Introducing a prorated global APY would not solve that problem, while introducing native APYs would also not solve the problem because of the risk of higher inflation rates.
The economic rationality of a sector is maximized in a situation where there are many assets but less staking until it reaches the same amount of staking as other sectors. The following simulation results show that the incentive for creators to participate in a sector with fewer assets does not work because fewer assets mean fewer rewards. The strategy that each sector must implement is to "increase assets while not increasing staking." Pattern A
Pattern B
Pattern C
Pattern D
Pattern E
Therefore, any sector's key strategy is to increase the number of assets rather than the number of staking. If this is the case, then people will want to see assets concentrated in one sector. If not, users will be looking for the sector "Sector-S," which has more assets but less staking. Market developers will also be looking for Sector-S, and voters will be motivated to associate the new Market with Sector-S. I think the native APYs for sectors will not work well if economic rationality is prioritized. Therefore, I think it's healthier for Markets to have their native APY, not sectors. And if the impact of different fields on each other's reward can be minimized, arbitrage opportunities may be unnecessary. I understand that there are two approaches to consider:
|
Sector is created, via Governance, which consists of different Markets Therefore no asset can create double the inflation because Governance or a decentralized curation service, Kleros, wouldn't accept the asset. |
Yes, from the top down perspective there would be less staking on a new market. However, the most important perspective is the top up perspective (creator's perspective). The creator in a new market would still receive 10,000 DEV staked at 19% APY which is currently $8,000. Each time a new asset onboards the existing creator benefits because now APY is increasing and he already has DEV staked for his asset. Additionally, this could create more innovation from creators with incentives, liquidity mining for creator token, etc. |
To reflect early Market's difficulty we could adjust inflation rate, via governance, to diminish with adoption. This entails setting a high inflation rate per asset from the start that decreases with each new asset. This could be seen as the difficulty rate of adoption. |
I shared my concern that the inflation rate would double if Sector or Market were to calculate the APY separately. However, the simulation results showed that the doubling was an overestimate and that the actual rate would be "slightly higher." Pattern A
Pattern B
When reproducing Sector with multiple authentications in similar Markets, the number of authentications is higher than when using Sector, so the APY is likely to increase. (ref: #41 (comment)) In light of these facts, I agree that organization multiple Markets into Sectors is a better idea than having separate APYs for each Market. I'm left with at least the following considerations:
@defi-er Yes. Users can formulate/propose such policies through the Policy Contract. |
Could you please provide details for the following scenario? I would like to see how an early market looks like under the current tokenomics. OSS Total staked: 500,000 Youtube Total staked: 20,000 |
I don't understand this could you rephrase it please? |
A new Sector "should" be rejected if it's fake, monetized, and doesn't fit Dev Protocol's mission because this creates forged inflation which is a tax on holders.
Yes, I don't want to propose this at the moment until it's necessary. |
These are the simulation results. OSS
Youtube
@defi-er I'm sorry for the poor expression. There are two ideas for "combining a group of assets into one to calculate the APY." Plan-A is to "calculate the APY by bundling multiple markets using 'Sector,'" and Plan-B is to "calculate the APY by authenticating with multiple similar markets (e.g., npm+GitHub for OSS)." Both theoretically produce the same APY and inflation rate. However, since Plan-B increases the number of authenticates (number of assets), the APY and inflation rate should actually be higher than Plan-A.
I agree that such a perspective is necessary. But it works well with governance for just the Market as well, not Sector. Even if the protocol implements Sector, the number of assets included in the Sector is increased by each Market. So Market governance is important anyway. I'll organize the benefits/losses of Sectors/Markets not sharing APY later. |
Thank you for the thorough explanations and calculations! Could you explain how Plan-B increases the number of authentications hence increasing inflation? I was under the impression that number of authentications and inflation is equal in both Plan A & B. Inflation is similar because each asset creates .00012 DEV per block. Authentications is equal because both plans require authentication but have different models of categorizing assets into Sectors based on Market. The difference is the APY because Sectors will have different amounts of DEV staked to capture inflation hence creating different APYs. |
@defi-er I'll explain why I thought so. In Plan-A, if the assets increase in any of the Markets bundled with Sector-X, the rewards of all Properties included in Sector-X will increase. In Plan-B, creators voluntarily select and authenticate multiple Markets to increase rewards. Plan-B produces a lower inflation rate than Plan-A when there are many "lazy creators." I thought that Plan-B had a stronger incentive to authentication and generated larger authentications (assets). However, in theory, if the authentications (assets) and the stakings are the same, there is no difference in inflation rates between Plan-A and Plan-B. |
Yes, I think it's just a difference in APYs |
I have sorted out some advantages/disadvantages. In conclusion, my judgment is 50/50. From the perspective of a simple network effect, I think the current spec with a single large asset pool is better. The current spec is also excellent from the perspective of software engineering. Native APYs create loosely coupled communities. Autonomous regions that are villages may be comfortable for the parties and may eventually contribute to the network effect. I could not conclude, so I think it is good to leave this judge to the community. (For that purpose, it is necessary to publish information completely neutrally) Here is my organized list: Advantages
Disadvantages
|
Thank you for providing a very clean summary for the community. Maybe I can address some of the disadvantages with possible solutions. Disadvantages
The first creators of a new sector can receive $50,000 in DEV (at current prices) and make ~$9,000 per year. This is actually better than the average creator in the OSS sector because stakes are accumulated by first page. Additionally, the APY is 18% which is only 10% less than OSS market. Governance could release markets when there's a waitlist of assets available to onboard to kickstart the market. Calculation Assume 10,000 DEV is staked in new market
Could you explain why this is? Inflation rate per asset should be equal since each asset produces .00012 DEV per second.
Implement Kleros as an arbitrator of last resort if users vote to arbitrate a decision by Governance. However, quadratic voting should ensure that large holders don't have large control over Governance.
Governance must vote on the approved sectors and which markets are applicable to those markets. |
Thank you for your comment.
That simulation does not seem to consider the Ethereum block time and the decrease due to the staking ratio. When 10,000 staked, the reward is reduced to 99.37%. (Verified by the contract) MAX_REWARD = 0.00012 * (60 * 60 * 24 * 365/15) = 252.288 Assume 10,000 DEV is staked in new Market Therefore, "New Sectors have low APY, making it difficult to collect staking" is explain correctly as one of the disadvantages.
That is shown in this simulation ( #41 (comment) ). The inflation rate is curved, not linear, so it does not match "10,000 staked" and "5,000 staked x 2." But solve that issue is the role of Policy. Therefore, if this issue becomes a major issue, users can propose a new Policy to solve it.
Yes. This issue is not the DIP issue but a governance issue. Therefore, I understand that there is no need to discuss this deeply in this DIP. |
Is /15 the average Ethereum block (in seconds)? |
@defi-er Yes, 15 is the Ethereum target block time. These days, mining is often done in about 13 seconds, but L1 adjusts the difficulty of PoW to that it is mined in 15 seconds. |
If DEV became compatible with an L2, OVM for instance, then how would this change the tokenomics? Would the tokenomics just follow the main-net? |
The concept of block time differs depending on L2, but I think it is necessary to adjust it to have the same APY as the main-net. // As an aside, I like the concept of L2(rollup)-centric. |
Moved from #40 (Closes #40)
See the DIP for details.