Governance Transition to v4 : Supporting Endorsed Delegates

The transition to v4 marks a major milestone in dYdX given the creation of a new app chain on COSMOs. Tldr, the COSMOs ecosystem relies heavily on delegation where users delegate their tokens to the validators of their choice, in return for staking rewards. As for validators, apart from validating transactions, they are also empowered to take part and vote in governance discussions. More info on the gov sdk can be found here: Gov Overview | Cosmos SDK (which I’d highly recommend to read, esp on the auth, authz, group modules )

Given the relevance and urgency of the upcoming migration, this thread was created to start a discussion as a community on possible ways for community governance, in particular the support for endorsed delegates. As to my knowledge, there has been no precedent set for this in the ecosystem.

Furthermore, a foreseeable future will likely be organizations with sufficient DYDX tokens being able to set up validators and absorb these tokens for governance – which has been a recurring observation for protocols such as Osmosis .


*** Nakomoto Coeffecient - measures the number of validators needed to take control of a network.*

Now, the main issue is that this will require existing endorsed delegates to hold x number of dYdX tokens to spin up a validator, and receive tokens delegated from users. This also incurs capital expenditures of setting up a validator which may be difficult for delegates without technical expertise.

Therefore, I would like to kickstart this with possible solutions to discuss with the community to ensure a seamless transition of endorsed delegates and maintain our relevance in dYdX, post migration. Some recommendations include:


1. Endorsed delegates coming together to spin up validators

Considerations : Cost, Multi-sig structures?

Note : Preferable NOT to involve the Foundation in obtaining loans for validators, meaning endorsed delegates will bear the variable costs

2. Dual Token System - Governance remains on ETH, Validators remain on COSMOs to validate trading activities

Considerations: Creates a wrapped token on COSMOs, with the existing ERC20 DYDX. However, requires guards against double spending

3. Work on the x/authz module in COSMOS sdk → Get teams to build it

tldr: “Authorization for accounts to perform actions on behalf of other accounts”, by controlling the type of msgs – votes, delegate etc.

Considerations: Provides a highly configurable governance system to specify parameters Endorsed delegates will also NOT be required to spin up validators.

However, this is subject to the team to integrate and build this interface.
Example: Resolute (By Witval validator)

x/authz technical explanation : Github Repo

ELIM5 x/authz : Hackernoon Explanation


As you can see, any of the suggestions entail different considerations. The list above is definitely not exhaustive and we should explore all possible ways with the remaining months ahead.

Edited: The post will be constantly revised with new recommendations based on community discussions.

16 Likes

Hey, thanks for the post. Josh from dYdX Foundation here.

Interesting thoughts. Encourage you to check-out the x/authz module in the Cosmos SDK. It could be another option to consider.

“The authz module enables one user (the granter) to authorize another (the grantee) to execute messages on their behalf.”

“For example, a user might want another user to vote on their behalf and so, rather than giving the other user access to their account, the user would grant an authorization that allows the other user to execute MsgVote on their behalf.”

Separately, I think loans from the dYdX Foundation would jeopardize our position as an objective steward of the protocol. IMO seems more fitting that delegates would bootstrap or pursue alternative sources of community funding.

Thanks!

9 Likes

Thanks for sharing @Josh_E_Wa.

  • Unds the position for the Foundation wrt this. This means that the delegates will be required to incur a huge variable cost for this (steep barriers to entry for delegates) / the community treasuries will need to be opened → which begs an open question on the amount of funding + the extent of support for delegates

  • Yeap, I’ve seen the authz module which was interesting (tho surprising that this module is hardly adopted in COSMOs). Will add it as another potential recommendation in the post.

5 Likes

Michael here from Stakewithus.

My team can confirm that this workaround works - we tested it on Osmosis mainnet to allow 1 user to authorize MsgVote for another user via authz module.

TXID: Interchain Explorer by Cosmostation

Evidence of vote:
https://lcd.osmosis.zone/cosmos/gov/v1beta1/proposals/507/votes/osmo1cyyzpxplxdzkeea7kwsydadg87357qnahakaks

I think this will be a good workaround as endorsed delegates’ votes will have priority over validator’s.

6 Likes

Thanks for posting this @maigoh ! This definitely is a key topic that the dYdX community to deliberate on.

Endorsed delegates have been instrumental in the governance of the dYdX ecosystem (see the Delegation section under the Learnings from v3 governance post ), and this is a good step forward in exploring how these community leaders can continue being participative in governance in dYdX v4.

@maigoh any recs on service providers in Cosmos land that have built out UIs with the authz functionality for delegation?

2 Likes

Hey @0xcchan @Cliff
Thank you for putting these ideas in place. All looks great, endorsed delegates program looks easy and secure. and authz definitely works as an workaround to achieve this functionality. But there are couple to things to consider

  • We need to have one-to-one mapping of validators<>Delegates to avoid complexity in voting. If we have multiple delegates, one can override other.
  • We can make use of groups if required. Like if a validator has 10% of total stake, whoever has the vote-delegate access to that validator will have 10% voting power for governance. If we think that is huge, we can have 3 or 5 member group account, so allows multiple people to vote on the proposal.
  • We cannot stop validators from overriding the vote from protocol directly. We might get to tweak some ante-handler code to force this. Our team can help with this integration if required.
5 Likes

Hi fine folks. Raphael from Flipside Governance here.
We’re currently researching ways for v3 delegates to move over to v4.

Super glad to have discovered this thread, learning a ton.

Our thoughts so far where to either liaise v3 delegates with IBC whitelist validator operators to ease the process of operation or untangle one from the other.

Or to separate the strategy from the execution layer. The x/authz module seems to fill that description perfectly. It would allow validators to subscribe to delegates who would be responsible for voting. In turn delegates could get compensated by validators for their efforts, creating a virtuous competition for top delegates who put in the most effort.

A third way could be if the Foundation would seed a special validator where 100% of the rewards go to endorsed delegates who would be eligible for that compensation if they publish voting guidance and rationales. This is a bit messy to track, though.

4 Likes

Thanks for sharing @anilcse @maigoh!

@anilcse - Resolute looks awesome and nice to see that this module has been adopted in the ecosystem! Its great that the implementation is technically feasible and hopefully this can be integrated with dydx (added the link as a ref in the post). I was wondering is there a vid/tutorial of Resolute as well for the community to visualise how this may potentially work too?

At the moment, @rspa from Flipside is on a grant in researching the governance parameters for v4 and believe that there will be more in depth discussions on this topic when it is published :slightly_smiling_face:

4 Likes

@0xcchan @Cliff
Unable to add more media items to single reply. So created a guide here: How to use authz for voting - Resolute

3 Likes

We’re almost done with our research powered by a grant. Wanted to share a short update here, and will condense our upcoming report into a forum post this week.

We think that using authz is the way to go. We’re using it on other IBC chains and it’s a very convenient and secure way to vote.

We’d love to introduce some free market dynamics to the delegate field, to encourage the best and most diligent teams to spend their days improving dYdX governance, provide the best voting rationales and attract the brightest minds for cooperation.

If delegates could stake the tokens that have been delegated to them with validators they could ask for a cut on the validator rewards, and have bargaining power when demanding that validators let them vote on chain.

It would free validators to concentrate on their core business, i.e. keeping the chain secure and running.

Delegates would compete on expertise and prowess, but also on the lowest fees to their delegators.

At the same time the rewards they keep would allow them to commit considerably more time and attention to governance than an unpaid delegation allows. Everyone has to make a living :wink:

Here’s a diagram of how it would work. Happy to discuss.

6 Likes

Hey, Rspa.
Why do you think Valdators will be motivated to cut their commissions?
Maybe there should be some Quota for each validator?
Question about x/Authz because I might not get the concept.
Delegates cast their votes through Validator using x/Authz, how big is the vote? The size of the delegated/staked tokens to Delegate or the full stack of the validator ( so validator transferring all his voting power to Delegate and is just focusing on chain stability)

1 Like

Thanks for picking that up, first. I agree that validators have 0 incentive to pay delegates… except when delegates are a main source of staked tokens. Which is why we think that if delegates could stake tokens on behalf of their delegators, they would have bargaining power.

Does that make sense?

as far as I have understood it, the validators permit the delegates to vote on their behalf with all their token weight. This usually happens if validators don’t want to vote or have legal concerns around voting. (OokiDAO trial was quite chilling there). Sometimes custody solutions make voting expensive or difficult, too, which is another service delegates can pick up.

As an example I have 1M dydx tokens
First Scenario:
I am staking all to validator X. I get lets say 18K as profit share Validator gets 2k (90/10 ratio). I have no voting rights. Validator have 1m voting power and 2k comission
Second scenario:
I delegate to endorsed delegate Y. I delegate him voting, staking and proposing rights. He then stake my tokens to the same Validator X at a discounted commission. Let say commission is 5% and Delegate start voting on behalf of me and Validator and pay me my 90% profit share. Final result: I dont have voting power, cant select Validators. Delegate has 1k commission, whole voting power of Validator and validator has 1k less than in first scenario and no voting power.
Third scenario is like second but me and Validator are sharing compensation of Delegate

I don’t see any motivation for Validator in the second scenario, I see much less motivation for me in third scenario

I agree that validators can be motivated if they dont have minimal amount of tokens without endorced delegates. With today token distribution only Team, VC’s have a lot tokens. They have to be motivated to delegate to Endorsed Delegates and not directly to validators.

2 Likes

Great discussion! During yesterday’s hedgie huddle were just talking about this post. One of the points raised was the lack of incentives for token holders to stake and delegate their tokens, as they would receive fewer rewards. The same concern applies to validators as well. However, during our talk, we came up with an alternative idea that I find interesting. The idea is to establish a common governance validator, or delegate validator, where token holders can stake their tokens and delegate their voting power. This validator would be segmented among the delegates, allowing each delegate to have a say in governance votes.
What does everyone think about this approach?
I think it would be good to continue this conversation here but also during the trading floor or the hedgie huddle on Wednesdays.
I’m looking forward to hearing everyone’s thoughts!

4 Likes

It’s true that you would receive less validator rewards than when you self-stake. But delegates could act as service providers and offer you a one stop shop taking care of everything. That is bound to be attractive to some. Also because your tokens would be active in governance, securing the protocol. Higher quorum = higher gov security.

Absolutely love it, and also one suggestion we have in the report. Can’t wait to ship it so y’all can see it.
Quesiton is who would stake there? The Foundation? Plus governance enjoyooors? Who else?

3 Likes

We’re beginning to question the necessity of Endorsed Delegates for governance within our upcoming v4 platform. Given that we have our proprietary blockchain where validators must vote on chain to approve proposals, the processes need to adapt accordingly. It seems we’re attempting to shoehorn our existing system into an entirely different platform, which may not be the most effective approach. Instead, we should perhaps consider developing a new system from scratch that is more compatible and synergistic with the v4 platform’s unique infrastructure.

6 Likes

Hey, Josh from the Foundation here.

A couple of follow-up questions -

  • Do any of the delegates have the technical expertise to run a validator or the funds to hire a service provider to do it?
  • Are delegates bootstrapping start-up costs and/or service provider costs?

Thanks!

2 Likes

Hey, Josh from the dYdX Foundation here.

Looking forward to the research. Recently, we had a conversation with some folks from another ecosystem who mentioned that a separate “new module” would likely be better than AuthZ to handle “delegation/authorizations” in the traditional Eth sense, given some of the limitations. Just raising as food for thought.

Thanks!

2 Likes

Hi Josh,

From my end, as an endorsed delegate, I don’t have either the technical expertise or the funds to hire a service provider to do it. I don’t know about the rest of the delegates. But I would be happy to explore the possibility of running a validator once the specifications are out. Maybe doing so with the help of other community members or delegates.

Cheers!

3 Likes

Good point, but we have seen that while some validator operators are active and diligent in governance, some aren’t.

We think delegates could bring something unique and new to Cosmos. A dedicated strategic capacity that is absent otherwise.

The issue is how can we ensure validators follow delegate’s reasoning and recommendations, and how do delegates get compensated for delivering top notch work.

This could go a long way to making it happen. AuthZ is here and usable now. If there are dev resources to create another module, even better. But if not. AuthZ works.

2 Likes