Uniswap pools rewards flattening

Hello StakeWise DAO!

Today I want to detail an idea I mentioned in my reply to the SWIP-3. thread. Where I compared the possibility of flattening the $SWISE rewards curve for the upcoming Uniswap pools in order to avoid extending voting power inequality (as a result of wealth) within DAO members.

I would like to start a discussion on this and see your opinions on possibly implementing this before $SWISE rewards start for the respective proposed pools in SWIP-3.

Motivation

Pool rewards (so far) have been incentivized with a fixed amount of $SWISE given to all participants in the pool at a fixed APR. This means that significantly larger stacks earn significantly larger amounts of $SWISE.

Wealth distribution on the blockchain is naturally very skewed, there’s a lot more users with small amounts and very few addresses own significantly more cryptocurrency than others.

Given the $SWISE original airdrop, this has created a reasonable but also somewhat meaningless skewness in the distribution of $SWISE, with a few wallets holding significantly more than others, some of which also could have benefitted (if they aren’t doing so now) from the 1Inch pool farming incentives.

Wealth inequality is an inherent aspect of most projects, and the intention is not to fix this in any way shape or form, but rather to somewhat flatten the rewards curve for the upcoming Uniswap pools (if possible). A linear curve contributes to giving more voting power to larger wallets, naturally, as for instance 0.5% of 10k > 0.5% of 100.

Proposed rewards curve

The idea is to incentivize the proposed sETH2/ETH and rETH2/sETH2 pools in SWIP-3 with $SWISE in a non-linear way.

I quickly put together a python script that I used to simulate and plot a rewards (in amount of $SWISE), the monthly and the yearly APR of the linear rewards curve (original method) vs the flattened curve (proposed method).

I had 2 very random ideas which I quickly coded as to conceptually show how the rewards curve would be hypothetically flattened in a way that still makes farming with a large wallet very profitable, but pushing some of the possible earned voting power to smaller wallets.

Example curve

In this example the function applied is as follows:

x
x

  • Monthly rewards curve example
    • X-axis shows amounts the user has in the pool in ETH
    • Y-axis shows the monthly reward obtained by the user in $SWISE
    • This example was made with a monthly reward of 0.6% of the $SWISE supply, as specified for the sETH2/ETH pool in SWIP-3
    • The data is randomly generated and does not necessarily portray the actual distribution of the staked ether in the StakeWise pool

  • Corresponding monthly APR for the pool
    • X-axis shows amounts the user has in the pool in ETH
    • Y-axis shows the corresponding monthly APR based on the price of $SWISE at the time of writing and the proposed incentive of 0.6% of the $SWISE supply monthly proposed for the sETH2/ETH pool.
    • The data is randomly generated and does not necessarily portray the actual distribution of the staked ether in the StakeWise pool
    • Given the scale of the plot, the resulting APR seems more dramatic than it otherwise should, the difference is not as significant as it might seem, as the amounts towards those “higher” APRs are very very small.

Methodology

  1. Take the value (in USD) of the amount of ETH of all participating wallets (in this case, we refer to holdings as an array of the total amount ETH that each wallet contributes to the respective pool)
  2. We apply the flattening function. An example could be raising all the elements in the array to a power between 0 and 1, this reduces the scale of the values somewhat and makes larger wallets slightly less meaningful in their total weight with respect to the total
  3. We divide each amount by the total sum of all the amounts obtained after applying the flattening function.
  4. The reward amount is multiplied by the new pool percentage that each wallet represents.
  5. Rewards are distributed

Conclusion

If there’s anything to correct, if this isn’t possible, if you notice any mistake (in the sample code or in the thread), please reply below. Would love to hear your thoughts :eyes:

5 Likes

First thing first, great post and effort!
I’m always in awe how competent and educated my fellow DAO members are.

I have no opinion on that matter and try to break my thoughts down and come to a conclusion.

Wich was intended. The scewedness is a result of the early adopters rewards. Those meant to attract more people. Get in early, get more SWISE, get higher rewards. Or am i misunderstand something.

Sorry, didn’t get that part. Flattering the curve would be a corrective measure to adress the wealth inequality. Or am i missing something.

Could you elaborate the parr with the SWISE incentive? Did i miss something? I thought the pools were sETH2 and rETH. I don’t get where SWISE gets into play here.

Impressive

I’m unsure if this is the right measure. I get the inequality part but its proportional to the risk those wallets took to provide large amounts early.

Why not taking the ETH amount?

1 Like

Yes!, in terms of how early you staked, but if someone staked a huge amount early on, then they would take a significant amount of the “spots” available to get the airdrop. This is NOT a meaningful inequality though in my opinion, as the airdrop only represented a very small portion of the SWISE in circulation and also meant that there was extra incentive to stake with StakeWise, other than all the other cool stuff about it.

It helps, but that could never really be fixed (in my view), hence me pointing out why it’s not my intention to “fix” it, but rather to help reduce it in the future somewhat.

As specified in SWIP-3, there is intention to create a future proposal in order to incentivize the pools with 0.6% (sETH2/ETH) and 0.2% (rETH2/sETH2) of the supply monthly (if I understand correctly). This incentivization will come later, after the pools are already set up and through a governance proposal → DAO vote.

The percentages obviously are subject to change given the appropriate discussion or so in the forum with respect to that future incentivization proposal. The incentives will come in the shape of $SWISE, as with the 1INCH/SWISE pool.

Hahaha thanks, it’s nothing amazing, I was just having fun with it.

Yes, in terms of the StakeWise airdrop I understand why the incentives could be perceived as such, but in terms of Uniswap pools, while there is risk, the risk is really very low at this point. Uniswap is heavily battle tested, has been audited a bunch of times and has been running without hiccups since V1 like 2 years ago or so. In terms of what risks could exist in terms of loss of funds or something of the sort, we can consider Uniswap as low as it gets.

Also those users are still very heavily benefitted, as they still claim significantly larger rewards than smaller wallets.

My concern with inequality is not necessarily the problem of wealth itself, but the fact that the incentivization of pools is done not just through Uniswap trading fees (which are understandably going to be larger for larger wallets), but through governance tokens.

Given that, by rewarding already large holders of SWISE with a linearly distributed amount of SWISE depending on their holdings, you’re allocating a lot of (essentially free) voting power to wallets that already have a lot of voting power, and that unlike smaller wallets, can move the price of the token very heavily by selling part of their share.

If a DAO’s objective is to eventually be as democratic as possible, it would be reasonable to allocate rewards more equitably, because in this case rewards = voting power.

Raising the amount of ETH to powers between 0 and 1 seems to not flatten the curve very much, and messes around the APR which is calculated in USD/Fiat value anyway. In the attached plot the APR is calculated using the value at the time of writing the post of SWISE as shown in Coingecko (if i recall correctly it was ~0.055 USD per SWISE).

2 Likes

I support this proposal - we can’t eliminate the natural order of things where larger wallets will accumulate more $SWISE over time, but anything we can do to encourage smaller wallet participants and give them a genuine chance to influence the protocol is positive and should strengthen the protocol for everyone. We’ve already all experienced an amazing amount of engagement and support coming from participants who have relatively small stakes.

2 Likes

Personally, I like the idea. I also agree with @thatexactmike when he highlights the impact even the smallest community members can make on the protocol - giving them more voting power could engage more brains for the benefit of the DAO. However, it could also simply lead to the extra gains flowing to the wrong people who just farm and don’t engage, while hurting the larger fish. So to summarize, this proposal is likely to be very polarizing. Because of this, I think it would help to put more thought into this idea in terms of the risk/reward, and include some figures to show the math for the average whale vs a small staker - this way a controversial idea like this has more chance to be broadly debated and publicized. The devil is in the details so let’s add them @dreth.

1 Like

Sounds good Kiri, I will set up some more realistic numbers using the proper wallet distribution in the coming days!

1 Like

looking forward to it - let me know if I can help with anything :slight_smile:

1 Like

I might need your help when i get onto this, since I think this is applicable to the coming proposal for fee distribution to an extent, although maybe in a simpler manner.

I’ll tell you if I need help but I finally have some time to properly tinker with this!

1 Like

Glad to hear you’ll have the bandwidth to take this idea further. I’ll be happy to assist my man - ping me whenever!

1 Like

The problem with implementing proposals like this is that addresses aren’t unique identities. Anything that rewards on a per address basis can be gamed, as there is literally no limit to how many addresses anyone can make. (It would also needlessly spam the Ethereum blockchain given they’d need to make small deposits on each address.)

You could start introducing KYC, but even then there’s people who will involve friends and family to certify addresses that they control.

Other than that distribution based on the amount invested and put at risk (of IL for instance), still seems the most fair.

1 Like

That’s why the proposal is to make this dynamic, based on who’s on the pool. If anyone tries to game it, they will simply slowly return the curve to a linear distribution. Also, the cost to game it is quite high, therefore I think most people will be discouraged to make it

The idea is to flatten the rewards enough to make gaming the system economically unfeasable.

I dont agree, the pool barely has any IL as long as liquidity is deep. However, the method I propose still rewards larger wallets their corresponding higher amount anyway

Can be gamed too.

Not true, anyone who staked before the pools started is selling at a discount. Some have already lost 40% of their original stake through the pools.

In general, if you want to get more Swise rewards, just invest more ETH and sETH2 in the pool. Seems simple enough and fair as well.

The purpose of the Swise distribution is to reward what’s good for that program, in this case what’s good is putting more resources in an LP.

The purpose is not some socialist redistribution mechanism to give more rewards to those who contribute less.

1 Like

anyone who staked before the pools started is selling at a discount

Only for those!, but not for whoever enters the pool after they were created

This still remains after flattening

I dont see how this is a ‘socialist redistribution mechanism’, there’s clear benefit to others in the higher end of the spectrum anyway, and by a lot. 10% APR of 100 bucks is much less than 1% APR of a million, the idea is to address the clear problem most protocols have where whales hold the overwhelming majority of the tokens and manipulate votes. Hell, even the Uniswap DAO itself has this problem, I don’t see how it’s so hard to understand that smaller players also need a voice for a DAO to flourish, otherwise whatever we discuss here is useless if anyone with millions of SWISE can just propose/vote yes/no to whatever they want.

How can you not consider this a problem?

It’s still a very large group. And as the original stakers they should not be discarded as acceptable collateral damage.

And it should remain the only method. As I said the purpose of this program is to get more resources into the LPs.

Who says there isn’t a problem? The fact that there is a problem doesn’t necessarily justify the proposed solution.

I consider it socialist if you reward differently based on someone’s (social) status rather than on merit or real contribution. Someone who contributes 100 times more should be rewarded 100x more.

I think there are many other ways to “solve” this problem in fair way, foremost by making it possible to gain some rewards through other methods than investing. Think of certain social media activity, contributing to the wiki, referrals, etc… Certain (micro) activities that benefit the the project as a whole. (Maybe I should start a thread about this?)

It’s a very efficient fix that retains the rewards for larger contributors anyway, the change wouldn’t affect the earnings of large wallets significantly, it would simply reduce the APR coming from SWISE distribution, which is not even the main source of earnings when pooling liquidity (due to price volatility and low liquidity of SWISE as opposed to rETH2).

A way to offset this would be to simply hold more sETH2 and re-balance liquidity to have more staked ether. A the current stage, this would also help the peg. So it’ll have the double effect of flattening the rewards to make pooling and governance participation economically viable for smaller players along with (probably) helping the peg. This is an effect I hadn’t considered before, but could be an effect of this proposal as well.

Wealth inequality is a problem in cryptocurrency projects whether you want it or not, my proposal doesn’t make rewards equal for everyone, it simply reduces the excessive power of accumulation of monstruous wallets providing liquidity.

Not all relationships of contribution/reward should be 1:1, especially when the wealth gap is so large. Carefully notice that the proposal does not undermine the earnings of the wealthier in a significant enough manner to make the task economically unviable.

Flattening the rewards does not immediately make pooling not worth it.

Again, let’s keep in mind that my proposed function to flatten them is not final, the function can be modified significantly to match the straight line more while still effectively increasing APR for smaller players. Consider that the cost for a large wallet to pool is way smaller than for a small wallet (in terms of transaction fees and assuming the large wallet pooled after the liquidity pool was set up). We don’t just want liquidity in the pool but we also want a larger community, and making it more viable for smaller players to pool may attract more people to the community (hopefully as a side effect).

Could you write down your formula in mathematical form @dreth? I see the graphs and the code, but I’d like to see the actual mathematical formula you propose without having to backward engineer your script.

Maybe not all, but this one should. I am repeating myself, but what’s rewarded here is bringing liquidity to the pool. 1 person bringing 100 ETH brings the same value as a 1000 people who bring 0.1 ETH each. I see absolutely no reason to deviate from the simple proportional system we have now, those 1000 people do not contribute anything more together than that 1 person, it makes no sense to reward them disproportionately more for adding nothing extra to the protocol.

This space is very young, anyone who jumped in early (like even 1 year ago) has been rewarded well (if they held on to it). But that was far from a sure thing. Had it failed no-one would be willing to help them recover their losses now.

But now that it is successful, of course everyone wants a piece of the pie they didn’t want to risk their own money for. Yet everyone had the opportunity to do the same, even just last year.

More interestingly though, it seems very likely that everyone who gets in now will be quite well off in a few years, compared to those who will come in in a few years. If you will the real inequality is between those who have something in crypto now and those who have nothing.

In the case of Swise tokens, that is about 1000 people who have something, and 8 billion people who have nothing. It’s not even possible to address this real inequality.

Swise tokens seem to me rather undervalued at this time. It’s quite possible that if the project is a success (which I have no doubt it will be), that this token could rise a lot in the coming years, anyone has the option right now to make that bet (not investment advice).

If you think it will, just take a real risk and invest real money, like those before you did. (again not investment advice)

What the proposal being discussed looks like to me, is to give a handout to people who don’t really want to take the risk of investing (more) money. Of course who doesn’t like a risk free handout?

1 Like

Hello StakeWise Community,

In this early stage of the project, and specifically prior to PoS ETH2 Merge, I think keeping a peg very close to 1sETH2 : 1ETH is really important.

At the moment it is impossible to withdraw ETH PoS capital and rewards from the staking contract; hence there is selling pressure at the uniswap pool. In this environment promoting deep uniswap pool liquidity is key for the project’s success.

Therefore my preference is to maintain the present linear SWISE distribution to avoid losing the liquidity of big holders.

We have been able to maintain a quasi perfect peg since the pool’s opening. I would not change what it is working out as intended. So I will also keep SWISE monthly rewards the same.

As an idea to explore in the future, since we are close to peg I would suggest to update uniswap pool parameters in order to also make the sETH2:ETH a “stable pairs pool” with a 0.05% fee parameter. We would have a smaller tick distance gaining in efficiency and perhaps even a better peg.

1 Like

While I still think this idea is less impactful that you guys think, it is certainly true that had this been implemented from the start, its effect wouldve been much more nuanced than it could perhaps be if implemented after a linear system was already in place.

I still want to further elaborate on this, but I’m fully aware that this is going to likely remain a very polarizing proposal no matter what

I do recognize that the systems in place worked well for the purpose of the program, and that a change now is an existing risk.

@ottodv the formula is on the post! but the background is dark, the scripts are also on my github, i can send them to you if you want

we likely wouldnt, but for the time being, I’d also want to avoid this

1 Like