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
- 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.
- 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.
- 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
- Staking tokens are controlled by the DAO and can be assigned to multiple TK.
- 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 - 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.