Staking Pool DAOs

A relatively early use case for DAOs will likely be collectively pooling tokens and participating in stake based protocols. Some of these protocols are still in the research and development phases (eg casper), other are live today (eg livepeer). In order to participate in these protocols there are typically two requirements, staking some form of token/capital, and performing some sort of service for the network such as validating transactions or transcoding video.

From the perspective of a DAO this can be challenging, because the DAO must incentivize real world agents to perform the work. The following is an idea for a general framework for DAOs to effectively participate in staking protocols.

Assumptions about Staking Protocols

In order for a DAO to participate the staking protocol must allow for delegation (dpos) or separate hot and cold keys for performing the service and deposit/withdrawal respectively.

This would allow a DAO to assign an address to perform the service, while maintaining primary control of the staking tokens. For clarity lets assume that the staking protocol the DAO interacts with has a Service Key (SK), and a Token Key (TK), and that TK can has the authority to stake, unstake, and change the service key.

Goals of DAO governance process for a staking pool

  1. The DAO has a staking asset which can be staked to earn some rewards, when it is not being staked it is not allocated efficiently. So the DAO should try and actively deploy its staking tokens as much as possible in order to maximize rewards.
  2. Staking protocols will either implement slashing conditions or modulate rewards based on effectiveness of the service provider. Therefore, it is important that the DAO assign tokens to efficient providers in order to maximize rewards.
  3. Process should minimize the amount of attention and effort required to achieve the first two goals.

Vickrey Auctions and Service Provider Reputation as a possible solution

An interesting approach to this problem would be to allow service providers to rent access to staking tokens based on a vickrey auction mechanism. In a vickrey auction, participants bid for an asset but are only required to pay the amount of the second highest bid. This type of auction incentives participants to bid their true value.

In the context of bidding on stakes, participants would evaluate their costs of providing the service, and their expected returns, and then place their bet.

If a protocol does not have slashing conditions this mechanism is probably sufficient for the DAO to effectively accomplish its goals, as the returns are paid by the service providers upfront even if the service provider goes offline and earns less than they expected, this loss is not passed on to the DAO. However, if the protocol implements slashing conditions its important for the DAO to have an additional mechanism to ensure that reputable service providers that do not get slashed have an advantage over non-reputable service providers.

A possible way to accomplish this is to simply track the profit of service providers over time, where profit is the service providers bids - any slashed stake. Then the vickrey auction can be modified so that the maximum stake a service provider can rent is proportional to their reputation within the DAO.

Simple Implementation

  1. Staking tokens are controlled by the DAO and can be assigned to multiple TK.
  2. Service providers are assigned to SKs based on defined epochs
    2a. prior to each assignment service providers submit sealed bids which are then revealed
    2b. based on the revealed bids, payment is captured by the DAO and the service provider is assigned an SK for the epoch
  3. Payments can be governed by the DAO as profits or reinvested in additional staking tokens.

Significance

The above process creates an autonomous staking pool that minimizes the need for subjective decisions. Such a DAO could have a pool of staking tokens, and the only governance decision that needs to be made whether to rebalance the portfolio of tokens over time.

3 Likes

I think it is a brilliant idea! I love how simple just renting out the tokens is, as opposed to a DAO ‘hiring’ service providers directly.

A couple of ideas that would allow to keep a simple auction and still take reputation into account:

  • Instead of just doing one auction, split the amount of tokens being auctioned into multiple buckets. The amount of reputation required to participate in the auction for different buckets varies, so entities with more reputation will have access to purchase more buckets than newcomers. We could allow for a way to simply make one bid that will be entered into all the buckets the entity has access to. However, given that the buckets that require more reputation to buy will have less possible buyers, they may go for a lower price, so a better strategy could be to bid a different price in each individual bucket.

  • An alternative mechanism could be for the DAO to require different collateral levels depending on the amount of reputation one has. For someone with no reputation, the required collateral could be the total amount of tokens that could be slashed. As someone gains reputation, the cost for being a service provider decreases (as a lesser amount locked capital is required), but the price of the auction is still the same for everyone regardless of their reputation.

Also I think building reputation in this DAO model wouldn’t be hard, since you could have an amount of reputation to be allocated every round that gets calculated taking the relative performance of all the renters into account. The amount of reputation that gets created and allocated per round can increase over time effectively making reputation decay.

3 Likes