[Closed] AIP 002: Governance tokens vs. Balancer governance pool

Title Of Proposal Governance tokens vs. Balancer governance pool

Author(s) Names The Liquidator

TLDR Summary

  • We need to introduce a token based governance system

  • Option 1: Governance tokens (gADEL, gAKRO or other name) for staking or putting your AKRO/ADEL into a Balancer/Uniswap pool

  • Option 2: Directly putting ADEL and AKRO into a Balancer pool (weights could be 50-50, 80-20, etc.)

  • I will list advantages/disadvantages below

Abstract

We need to introduce a token based governance system. There are however some problems:

  1. Some people like to hold either ADEL or AKRO and not both (governance for them would be impossible via Option 2)

  2. Some people don’t want to expose themselves to impermanent losses (IL)

  3. The idea of ADEL was to govern DELPHI. Having the need to hold AKRO for participating in governance undermines the initial purpose of the ADEL token (DELPHI fee generation was divided into 20% for AKRO and 80% for ADEL)

  4. I guess we could also introduce this fee generation split into the governance (slightly diluting the ADEL voting power by AKRO tokens).

  5. if we have a governance balancer pool with AKRO and ADEL, we basically lose that AKRO/ADEL as liquidity in other places. So people who are willing to provide DEX liquidity in form of either ADEL/ETH or ADEL/USDC will not be able to participate in the governance process without pulling their liquidity out of these pools (expensive gas fees on top)

  6. Special governance could be introduced to fix the problems mentioned above

Governance tokens

Kate mentioned that Balancer (BPT) and Uniswap LP tokens will be added to Delphi within a week.

With this, the user could either deposit/stake AKRO or ADEL tokens in the Dashboard and receive corresponding gAKRO / gADEL. The number of gov-tokens would be based on the overall/circulating supply of the tokens.

Voting weights

If you assign a voting weight to each of the tokens, you could receive a certain percentage of gov-Tokens: e.g. depositing 100 ADEL into either staking or a Balancer pool will grant you 80 governance Tokens. Depositing 100 AKRO into either staking or a Balancer pool will grant you 20 governance Tokens. (this would lead to a voting power of 80-20 ADEL/AKRO but these weights can be adjusted of course).

Rewards

The rewards for staking would be less compared to providing liquidity. Higher rewards for liquidity providers in the ADEL/ETH and AKRO/ETH pools will solve the liquidity issue we have at the moment and these liquidity providers (who take a considerable risk for IL) will be able to take part in governance as well.

If you assign a voting weight to each of the tokens, you could receive a certain percentage of gov-Tokens: e.g. depositing 100 ADEL into either staking or a Balancer pool will grant you 80 governance Tokens. Depositing 100 AKRO into either staking or a Balancer pool will grant you 20 governance Tokens. (these weights can be adjusted).

Rewards could be distributed as such for the DEX pools and less for staking only: https://gov.kaon.one/t/1-reduce-the-number-of-incentivized-dex-pools/64/7

Potential issues

The actual number of ADEL or AKRO within a Uniswap or Balancer pool might change, based on IL but the pool always readjusts to being a fixed percentage, so in my opinion you can define weighted “DEX tokens” (e.g. 70% voting power for the Balancer 70-30 ADEL/ETH or 50% voting power for the Uniswap 50-50 ADEL/ETH).

Conclusion

This would enable everyone to participate in governance (while staking ADEL/AKRO, while providing liquidity in USDC or ETH pools, etc.).

Thank you for considering :slightly_smiling_face:

4 Likes

Interesting concept - may confuse the users as its slightly more complex.

Is there a way you can envision to create just gADEL tokens rather than both? I agree that AKRO/ADEL pools undermine the use case of ADEL as gov token, but we shouldn’t just let that concept slip away imo.

1 Like

Yes sure, there can be only one gov token, you would basically get more of them if you deposit ADEL, compared to AKRO (80 to 20 ratio) :slight_smile:

For the users, everything will stay the way it is now, they just receive addtional tokens for governance purposes, based on the number and market cap of either ADEL or AKRO tokens they stake or submit to a DEX pool.

1 Like

Adding a 3rd coin seems too much for me

@TheLiquidator a few comments and suggestions here:

  1. The 80/20 AKRO/ADEL pool and the gADEL and gAKRO solution are not mutually exclusive, you would just be issued the corresponding governance weight in gTokens for that pool.

  2. With repsect to governance, it is my suggestion that all pools we whitelist for governance have the same weight - i.e. 1 ADEL or AKRO staked for liquidity provision = 1 gADEL or gAKRO. The adnvantage of this is that it doesn’t bias governance to any particular pool, but rather allows everyone who is an LP for ADEL/AKRO has the potential to vote. Rewards should be the incentive to enter a pool, not governance weight. Governance weight should only be incentivized by time-staked IMO.

  3. As Delphi is built on the Akropolis OS, AKRO holders are entitled to some form of revenue share and therefore should have voting power corresponding to that (right now 20% to AKRO stakers) therefore 1 vote should = 0.8 gADEL + 0.2 gAKRO. It doesn’t matter what pool(s) users decide to stake in, but they must hold both to count for a vote. This increases buyside pressure and liquidity of both tokens and rewards longterm AKRO stakeholders.

  4. A BIG concern: when providing liquidity via an AMM, the number of tokens change with supply/demand of the pool. In this way, a person could exit and still hold more gTokens than are burned with exit as their number of ADEL/AKRO reduced in the pool. The inverse is also true. A way to prevent this would be to burn ALL gTokens whenever someone pulls their liquidity.

  5. Revenue share rewards could be given pro-rata to gToken holders (80% to ADEL and AKRO gTokens respectively). Ideally, this would mimic pool share, but I’m not sure if that is true - need to think about if there is an attack vector or problem there.

If you address these issues, I think the proposal is very solid and is a good way to align governance, liquidity provision, and rewards.

2 Likes

It’ll be fully abstracted away and would just need to be sitting in your wallet. :slight_smile:

Okay, a question or consideration here… Would we achieve this by adding gGOV tokens to a user’s wallet, or by simply allowing the user’s wallet to vote based on a lookup of their number of LP tokens?

Because while both of these tokens can be moved, the latter have economic consequences if you move them (you lose your LP).

So what consequences would there be to being given gADEL and gAKRO in your wallet? They can be transferred, sold, bought? Is this a possible vector for someone to gain the economic AKRO/ADEL benefits (rewards) but then sell off the governance portion?

This proposal is trying to make fundamental changes to the current tokenomics of AKRO and ADEL. AKRO is already the governance token of the system with ADEL being a sub governance token for the Delphi products. My understanding is ADEL is not supposed to replace AKRO as the governance token, that they hold equal weight for the purposes of governance even in Delphi as ADEL holders don’t just get to skip out on AKRO for the purposes of governance, its explicitly said that someone must hold both to govern. If there is some advantage gained by adding another token to facilitate AKRO and ADEL governance then a gADEL should be issued at a 1AKRO + 1ADEL = 1 gADEL rate. AKRO should remain the governance token for the full protocol. Edit: My initial thought of 1 AKRO + 1 ADEL = 1 gADEL did not take into account the total supply of each of these tokens AKRO = 4,000,000,000 ADEL = 30,0000 so the correlating ratio would be 133.33 AKRO + 1 ADEL = 1 gADEL.

they would be non-transferable, like the Delphi curve pool tokens you receive if you provide liquidity to them :slight_smile:

1 Like

Thank you :slight_smile:

  1. yes that is true. But I would recommend to make the gov-Tokens non-transferable, like the current Delphi curve LP tokens, so you would not be able to put them into a Balancer pool. As a consequence you cannot trade them (which makes sense, since if you want to acquire them, you should buy AKRO or ADEL directly)

  2. I agree that everyone should be able to take part in governance. The idea behind the weighting of 80 ADEL to 20 AKRO is that ADEL was designed as the governance token of Delphi in the first place and should stay the “main governance token”, therefore receiving 80% of the Delphi fees and 80% of the voting power. The downside for ADEL holders will be that they will have no voting rights in the other Akropolis products (e.g. Sparta).

  3. I like the idea of Andy to combine them as a single governance token (you simply receive more of them if you stake or provide liquidity in ADEL tokens). This way, users can decide if they only want to hold ADEL or only want to hold AKRO and still be able to vote, without having to purchase 20% AKRO tokens or 80% ADEL tokens. But I would call this part “refinement”. First we should decide if we want to introduce gov tokens.

  4. For receiving your gov tokens, you would have to stake your Balancer Pool Tokens or Uniswap tokens at the Delphi Dashboard (as Kate has mentioned, this should be possible within the next week). Without your BPT or Uniswap LP tokens you cannot exit the pool and therefore you need to always return your gov tokens first, if you want to either unstake your ADEL/AKRO or remove liquidity from Balancer/Uniswap.

  5. Revenue share could be via the gov tokens as well. Or you simply airdrop to token holders. Both options are possible.

Please let me know if you have any other comments/suggestions.

2 Likes

Having BPTs as governance votes opens up the opportunity for late coming whales to buy significant voting power.
Early adopters could be bought out at prices they would not like to have sold at, which could in turn lead to early adopters not voting or providing less liquidity to the pool. At which point if the governance pool is the highest incentivsed pool (as was mentioned in the DIP002) it will be competing with the other pools rather than the staking pools as it was intended to.

Having governance in the form of an LP could provide insurance(1) against centralization as well as encourage early adopters to reinvest(2) periodically. Both of which encourage positive price direction, which has been brought up as a concern by some.
(1) insurance against centralization by always being able to buy a bigger share and no one could accumulate 51% and never sell. This would encourage positive price direction as people/entities compete for weight.
(2) periodically reinvesting would become necessary to maintain your weight in governance.

Governance being a pool does open up some vulnerabilities. The Liquidator brought up, what if a new gov token is brought into the equation? I think this could address some of the vulnerabilities.
Facets of the token could include:

  1. non-transferable
  2. accrual mechanism
  3. burn mechanism

A non transferable token would provide some security against vote buying. If paired with being accrued this would substantially reduce vote buying by increasing the cost dramatically. In order to buy the vote equivalent of someone who has held their tokens for 365 days an actor would need to buy 365x the token equivalent if they intended to influence a vote the next day or 52.14x token equivalent and hold them for a week if they intended to influence a vote in a week’s time. This could be used to arrive at how long a proposal is able to be voted on

Burnable would be useful for various things based on implementation.
Auto burn after each vote whether you voted or not prevents banked votes where an actor can set up a proposal they can guarantee they can pass through on their own. Caveat is that if proposals are frequent this reduces the security in place by vote accrual. If on day one a proposal is passed and the next day another proposal is up for vote an actor can buy votes equivalent of anyone else at a 1:1 ratio instead of the 365:1 or 52.14:1

Burn based on participation makes it easier to bank votes. Bank vote issue addressed above.

If no burn, it leaves vulnerabilities for someone exiting the platform and still having a say in what the future holds.

What about a burn based on lifespan? Each token is minted with a lifespan of 365 days, where holders can use it for a year after they made it. This still leaves vulnerabilities for people exiting the protocol, but were they to exit the protocol they immediately stop accruing tokens and their vote begins to dilute at .2% daily.
Or as once again the Liquidator mentioned, what if you burn all your gov tokens when you withdraw BPT. This would allow long time supporters to have heavier weight in governance while allowing new comers to earn their weight over time and provide security against people exiting the protocol.

I’ll be honest: I am less concerned about “liquidity” than most are. I think that we can fix this with good CEX deals. I know that that many disagree but I am never shy to voice my opinion anyway. :stuck_out_tongue_winking_eye:

However why I think this proposal is absolutely fantastic is the fact that it actually lays out a concept how every token holder can be part of governance without forcing anyone into a risky liquidity pool while also increasing liquidity in DEX pools by giving appropriate incentives.

I am totally fine with people in a risky liquidity pool receiving more rewards than people in a safe staking pool as long as it is done reasonably. We are not responsible for hedging IL risk, so people should not expect to be always fully compensated if IL occurs.

4 Likes

Thank you :slight_smile:

I read that Balancer has a smart pool feature, perhaps the feature can be utilised to streamline the staking and governance mechanism. There might be some misconception I have about Balancer or there might be critical risks that may not have been considered and may render this idea not feasible. Nevertheless, hope to put forth this idea for everyone to consider.

Assumptions about Balancer smart pool feature:

  • Able to adjust asset weight dynamically
  • Able to deposit single asset
  • Able to dynamically adjust swap fees

Staking/Governance mechanism:

  • AKRO and ADEL staked goes into a smart contract that adds liquidity into a Balancer smart pool containing ETH/AKRO/ADEL. Liquidity for the Balancer smart pool only provided through staking
  • Weight of Balancer smart pool will adjust accordingly to maintain the quantity of AKRO and ADEL staked. This can be done at
    1. specific frequency e.g. daily, or
    2. specific threshold e.g. quantity deviates by x% or
    3. when someone withdraws/deposit stake.
  • When staking happens, smart contract will mint Delphi vote token (let’s call it gADEL). 1 gADEL per AKRO staked and 4 gADEL per ADEL staked
  • The purpose of ETH in the Balancer smart pool is to instantly restore AKRO and ADEL quantity. If the AKRO and ADEL deviates from the staked quantity, and a withdrawal were to occur, smart contract will
    1. withdraw ETH from Balancer smart pool
    2. swap ETH for AKRO/ADEL from Uniswap LP
    3. Deposit AKRO/ADEL from into Balancer smart pool
    4. gas fee for this action can be paid by the person withdrawing the stake
  • The amount of trading activity on the Balancer smart pool can be controlled by adjusting the trading fees to bring stability to the Balancer pool when necessary.

Advantages:

  • No dilution of votes due to the soft-peg in the Balancer smart pool
  • No impermanent loss since smart contract restores quantity of AKRO/ADEL in the Balancer smart pool
  • On the surface, staking becomes easy to understand - stake to vote and to earn fees
  • Fees generated in Balancer smart pool can be distributed to stakers. Perhaps this can be further divided up into
    1. a portion for all stakers
    2. a portion for all voters
    3. a portion for treasury to fund proposals (which should be unlocked through voting)
    4. a portion for insurance?

Disadvantages/Risks

  • Complex mechanism running in the background which may have unforeseen circumstances (e.g. how does large price movements affect the ability to restore Balancer smart pool)
  • Exposure to ETH and the need to fund smart pool with ETH (how to do this?)
  • Possibility of exploits that could drain away ETH in Balancer smart pool

I think it’s an interesting idea to share but I am not sure if this can really work. Feel free to take it and modify in anyway that might improve it.

Guys, as long as the team still give out too much ADEL to AKRO free riders, we dont have a market. This has to be fixed as the first priority. I pushed the price up 25% today just to get an AKRO whale dump on me and the people I ask to buy in. This is not good enough.

1 Like

One of the best governance proposals :smiley: :smiley:
If team plans to move forward with just 2 liquidity pools like 80/20 ADEL/ETH and 80/20 AKRO/ETH, it will solve 2 problems simultaneously-
-providing more liquidity on DEX with better incentives and without much risk of IL.
-Kickstarting Governance with an easy to understand solution.( though i am not sure how easy it would be technically)

1 Like

thank you :slight_smile:

Hey all - we will put update re governance mechanics soon :slight_smile:

Working on implementation now and it sees a green light from the Snapshot team - will be posting an update this week with descriptions & how-to’s :heart:

3 Likes

Small update about initial governance through Snapshot & signalling here https://medium.com/akropolis/delphi-general-update-3-of-n-september-23-7da64fa3cec5 :slight_smile: