Allowing LP tokens to vote in Snapshot

With $ENS potentially being added on various platforms such as AAVE, and with permissionless platforms like Uniswap already having substantial liquidity pools, it seems useful to open a discussion on whether we should try and provide some way for users with tokens on these platforms to vote.

I’ve looked into some options a bit, and as far as I’m aware this is the state of things:

  • We can’t easily allow LPed or staked tokens to vote onchain. Voting changes onchain require replacing the governor, which is not a problem, but only works if the token contract(s) involved have support for delegation and checkpointing - and while $ENS does, most LP tokens and ATokens are unlikely to. The only viable solution I’m aware of here would be to wrap those tokens (yet again) in something that tracks delegation power.
  • We can create Snapshot strategies that would allow these tokenholders to vote in Snapshot votes. The most viable solution would appear to involve writing a subgraph that tracks the delegated voting power from all the tokens we want to include in the franchise and exposes it as an API that a Snapshot strategy can fetch.
  • Voting with tokens staked on AAVE and other platforms gets complicated; implemented naively you can end up with a situation where someone can multiply their voting power using these platforms. One possible solution would be to diminish each account’s voting power in proportion to the amount they have borrowed against it.
  • The fact that the distribution of tokens could become different between Snapshot and onchain could mean that Snapshot votes are no longer a reliable indicator of how onchain voting would proceed, which seems problematic.

Thoughts?

6 Likes

I don’t feel that ENS tokens anywhere else except held in a wallet should count as votes (not in LPs or staked in any other way). My reason for this is I feel it shows commitment to the best interests of ENS by holding the tokens as a means to vote only, and not as a way to gain from market speculation on the price or for earning interest from staking.

10 Likes

I think it is important that we allow LP’s to vote. Contributing liquidity is a really valuable service to our token holders and therefore our community. These people should be rewarded with at least some voting power.

2 Likes

I’m strongly in favor of looping in users who choose to LP or stake their $ENS for three reasons:

  1. LPing does not, in my mind, explicitly signal that users are opting out of governance.
  2. As platforms add LPing options for AAVE, this will likely become the default for the majority of people who hold $ENS. Not taking into account these votes could have unintended consequences for centralization, as only those “in the know” hold $ENS directly in their wallet.

My reason for this is I feel it shows commitment to the best interests of ENS by holding the tokens as a means to vote only, and not as a way to gain from market speculation on the price or for earning interest from staking.

  1. I feel like the assumption that anyone LPing is in $ENS for market speculation is not fully accurate; anyone who stakes or provides liquidity for $ENS is actually providing a service for other $ENS holders (allowing them to enter/exit positions as necessary without using a CEX).
2 Likes

@jake I’ll backtrack a bit in regard to staking ENS, I suppose that is more like holding your tokens in a “savings account.” Maybe in that situation they could still be used to vote. As long as the amount of tokens you have staked won’t go up or down, and as long as they aren’t locked, that’s pretty much the same as just holding them in a wallet, right?

But putting ENS into an LP to provide liquidity is essentially just selling them with extra steps. If you’re providing your tokens as liquidity for others to buy, why wouldn’t we just keep the 1 token = 1 vote system as it is now, with the key distinction being when you put your tokens in an LP they aren’t your tokens anymore, they are part of a smart contract. Then if someone swaps via your LP and aquires those ENS tokens, then they get the votes that come with holding the tokens like it is now.

@jake I’ll backtrack a bit in regard to staking ENS, I suppose that is more like holding your tokens in a “savings account.” Maybe in that situation they could still be used to vote. As long as the amount of tokens you have staked won’t go up or down, and as long as they aren’t locked, that’s pretty much the same as just holding them in a wallet, right?

I completely agree with this!

I don’t necessarily agree, but I see your point here. From my perspective, the only definitive way that a holder can express intent to opt-out is via selling. Under this viewpoint, providing liquidity still expresses an intent to hold $ENS, and we should consider allowing liquidity providers a vote (with appropriate safeguards).

This sums up the problem of offering LP’s the ability to engage in on chain governance. The tokens that represent voting rights are not held by the individual wallet that intends to participate in voting, therefore not eligible to vote.

ENS is a pure governance token and people who want to participate should treat it as such. Obviously people can do whatever they want with tokens they have custody over but if providing options for Liquidity Providers has the potential to weaken the governance process of ENS I think it should be avoided.

Governance is the fundamental value proposition of ENS and anything that puts the integrity of that process at risk should be avoided.

1 Like

While I appreciate the argument that we don’t want to go out of our way to cater to speculators, I don’t think it’s economically or game-theoretically sound to ask people to ignore their own best interests so they can use their voting power. Various platforms are offering ways to earn by holding ENS tokens, whether we like it or not; if we cannot register those votes, we will miss out on a lot of participation that we might otherwise get.

The broader issue in my mind is similar to that of paying governance participants for their time and effort: If you don’t, the only people who participate are those who are particularly engaged and have the money and leisure time to do it without compensation - which is great, but we can’t and shouldn’t rely exclusively on the philanthropy of rich people - and those who have external motivations such as lobbyists. The same applies to reserving voting power for those who can afford to just let their tokens sit.

From a practical POV, there are two venues, onchain and off, and two orthogonal sets of problems.

Onchain, a token needs to support delegation and checkpoints in order to vote with it. It’s unlikely any LP or stake tokens will do this, so if we want to retain the current onchain governance mechanism, these tokens would need to be wrapped (again!) in order to be able to vote. There would of course be gas costs involved in wrapping your tokens again, but at least then it would be possible to both stake and vote onchain.

Offchain, we can avoid the need for this using cleverly written Snapshot strategies and/or subgraphs that count the tokens directly, but that will lead to a difference between onchain and offchain representation, which is likely to cause its own problems.

The other set of problems is around how to count votes in different types of instrument. With LP tokens, there are two obvious options: Offer them 1 vote per $ENS held by the LP token, or offer them the voting power of the entire position in $ENS. The logic behind the latter option is that they have the entire position locked up against $ENS, but personally I find the former option more reasonable.

With staking tokens like AAVE, things are more complicated, because the platform permits leverage. If we simply accorded each $AENS the same voting power as $ENS, someone could do the following:

  1. Deposit 1,000 $ENS for 1,000 $AENS. Voting power = 1,000.
  2. Borrow 500 $ENS using their deposit as collateral. Voting power = 1,500.
  3. Deposit the 500 $ENS for another 500 $AENS. Rinse and repeat.

The result is that if someone can borrow against half the value of their $ENS, they can end up doubling their voting power using this mechanism.

One solution would be to accord each $AENS power proportional to the reserve percentage in AAVE; if there are 1000 ENS deposited and 800 on loan, each $AENS is only worth 0.2 $ENS. This conserves the total voting power of $ENS, but still allows someone to leverage to increase their voting power relative to other AAVE participants.

Are there other options? I’m curious to hear peoples’ thoughts.

3 Likes

I think rewarding people with a proportion of registration fees in order to compete with aave/uniswap etc, provided the user has delegated, is potentially a more elegant solution that would require much less code. With the right amount of revenue share most users would keep their tokens in their wallets sidestepping the whole issue. This would also lay the foundation for rewarding other kinds of participation.

This this this. At BanklessDAO, we make it viable that if you’re providing liquidity on Uniswap, Sushi, or Balancer, your LP tokens are weighted to count in voting in the same way that straightforward BANK tokens in a wallet would. Providing liquidity is NOT the same as selling, and we need to be clear on that point. Holding tokens for the sake of governance and not putting them to use for any other reason defeats the benefits that have been created via DeFi. If we want DAOs to continue to proliferate, if we want greater adoption of crypto, and if we want to find success for the members of the DAO, inclusivity of any and all forms of support for the token should be accounted for.

I think this statement is heavily dependent on how you define “best interest”. From my current perspective it is in my best interest to uphold and maintain the legitimacy of the ENS DAOs Governance as this will be the most profitable long term strategy. Not just for myself as an individual but for the entire Ethereum Community. I don’t think that offering LPs the ability to vote is just catering to speculators, it potentially weakens the ENS tokens ability to maintain 1 token 1 vote.

I think the most likely people to participate in governance are the individuals who have a long standing history with the project or are people who find value in participation. I think the ‘rich people’ you are referring to where once poor and got into a good project early enough to see tremendous gains. Imagine how loyal a governor you would be if you bought Maker at $6 and held long term. I am neither rich nor a lobbyist and I check the ENS forums daily because I want to participate in the governance of a protocol that has tremendous long term value.

This would make snapshot voting essentially useless and make ENS governance even harder for users to participate in.

Couple different problems offering LP’s voting power:

1.Tokens are not held in static amounts. If I deposit 100ENS and 1 Eth into an x+y=k liquidity pool I will have 80ENS and 1.3ETH sometimes and 120 ENS and .8 Eth other times.

2.This is a constantly changing variable as LP tokens don’t represent individual tokens but rather are representative of a users position in the pool. So ENS would need to maintain dedicated oracles to constantly monitor LPT=ENS ratio.

The problem here is that by offering users multiple options to participate in voting you weaken the token as a tool of governance. Let alone offering up the protocol to governance attacks like the one you illustrated in the AAVE example. (great example and tbh a pretty decent solution)

I understand your point of wanting to include as many people as possible in governance and I agree that offering options for people staking or borrowing on their ENS tokens would solve that issue, but if that comes at the cost of weakening the integrity of the governance process of ENS it must be avoided at all cost.

ENS is a pure governance token and if people want to participate in governance they need to have custody of their tokens.

2 Likes

This is an interesting idea, and potentially doesn’t infringe on the ENS Constitution, but that would turn $ENS into a coin that isn’t strictly for governance, right? I am not sure that’s the direction that anyone wants to go, but I’m interested to hear other perspectives on incentivizing governance.

This seems like something that needs to be debated and agreed upon, because I don’t share that sentiment. Shouldn’t we be encouraging the broadest possible coalition of participants to ensure that we have diversity of thought in our governance process? At a fundamental level, why should someone who stakes their $ENS on Aave have to give up their ability to participate in governance?

One of the core philosophies of Web3 is composability, so it stands to reason that we should embrace (or at least address) composability as part of our governance process.

Totally agree, this is just my position and as it currently stands the industry norm for governance tokens.

Absolutely, encouraging users to participate in governance will only strengthen the value of any D.A.O.

Because they do not have custody of the token that represent the right to participate in governance. We are all engaging in the experiment of tokenized governance together and a good starting point for participation would be to maintain custody over the token that represents your right to vote.

While composability is a fundamental design tenant of Decentralized Finance and has created the most opportunity rich environment in human history, it also creates potential negative externalities that go largely undressed by the space as a whole.

Personally I think that the crypto ethos of move fast break things is starting to look pretty immature considering that we are capturing value more effectivley than any market in human history. We as users need to start valuing stability over breaking new ground and in this current discussion I think that creating derivatives that represent voting rights is being presented as a no brainer and the reality is that creating derivatives of governance tokens is an insanely complex endeavor. (CurveWars , Governance Extractable Value )

Our main concern should be the overall stability and future of the governance process of ENS and from my perspective the ideas outlined in this post would potentially undermine ENS governance with very little (if any) upside potential.

“The primary purpose of registration fees is as an incentive mechanism to prevent the namespace becoming overwhelmed with speculatively registered names. A secondary purpose is to provide enough revenue to the DAO to fund ongoing development and improvement of ENS. ENS governance will not enact any fee other than for these purposes.”

The only 2 purposes of fees are clearly laid out in the constitution and offering users a share of revenue generated by ENS would be in direct conflict with Article II.

Just my thoughts tho, happy to be here with you all to discuss these topics.

I think this is at odds with ENS’s position as a public good and a nonprofit, and I also worry something like this would signal a hard right-turn to being extractive rather than collaborative.

A more defensible approach would be to offer ENS token bonuses to those who delegate to active governance participants and ‘stake’ those tokens; this is giving more voting power to those most involved in the governance process.

Perhaps I should have instead said “I don’t think it’s sound to ask people to act counter to their economic incentives”.

That’s not a problem for vote-counting.

This can be done offchain simply by looking at the reserves for a given pool at the time of the snapshot block.

1 Like

Providing an incentive (conceptually I like the token bonus idea that Nick brought up in the post above) is not contrary to Article II if it it leads to the ongoing development and improvement of ENS. Work would have to be done to explore whether such a system could be supported without any additional registration fees (which I would personally be opposed to).

Incentivizing governance is probably worthy of its own discussion, so I would recommend that we move that to a different thread. I think there’s potentially some great work that can be done on that avenue.

I think this is exactly right, and I worry that not including holders who stake or LP will actually decrease the amount of participation and concentrate voting power. If there’s no significant technical limitation to including the widest possible definition of “holder”, I don’t see a strong rationale for exclusion.

I don’t think its your phrasing that i’m disagreeing with. Its not clear to me that holding ENS token in a wallet for the use as a governance token is counter to anyone’s economic best interest. In fact I personally think that is the optimal strategy for not only myself but everyone involved with ENS, an equilibrium of sorts.

Just because we can stake and receive an APY on our assets does not guarantee that its the most profitable strategy. By transferring custody of tokens to a smart contract users expose themselves to risks that do not exist if they are just holding.

Could you elaborate on the technical specifics of how providing liquidity and having a variable number of tokens that a user has claim to is not a problem for vote counting. I admit my technical ignorance here and I am probably missing something simple. Also would this example produce a divergence between snapshot and on-chain voting?

I guess the point I am most curious to get you opinion on is regarding custody of tokens.
If we are all collectively engaged in the On-Chain Social Experiment of Tokenized Governance where are the boundaries for participation?

If I am borrowing against my voting rights can I vote?

Providing Liquidity?What if I’m providing liquidity and staking my LP tokens to earn additional yield?

How about Flash Loan Voting? Which could happen in a situation where AAVE puts ENS on the books.

All in all a great topic for discussion, thanks for the time and energy you put into ENS.

Agreed I think staking and rewarding with voting power is a good idea in the short term but we will run out of tokens eventually and I’m not a fan of inflating the supply. So then the question would be are those tokens better off in the DAO treasury or out in the wild.

I think you’ll find that a lot of people will do exactly that, demonstrating that they, at least, think it is in their best interests. My point is that saying “you shouldn’t want to do that” will be ineffective.

As long as we can come up with a coherent way to describe an account’s voting weight as of a given block, we can write a Snapshot strategy to implement it.

If we implement it only as a Snapshot strategy, it would create a divergence between Snapshot and onchain voting power. If we implement it using a(nother) wrapped token on chain, it would not - but options for that are a little more limited.

That is something that would need to be resolved in any system that allows staking tokens to have voting power.

Not a risk, because both onchain and offchain voting relies on snapshots as of a given block, so you can’t vote with flash-loaned tokens.

Not that I’m advocating this - but the DAO could choose to use treasury funds to buy back ENS tokens if it were running out.

1 Like

Agree to “We can’t easily allow LPed or staked tokens to vote onchain” because if allowed, could cause to weaken ENS’ dao voting power…

2 Likes

Can you explain what the implications of this are? Both positives and negatives?

1 Like