In a standard proof-of-stake system, the more people stake, the more tokens are taken out of circulation. This may seem good for the price of the token, but in many cases insufficient liquidity can get in the way of network growth. So we should look for ways to create a direct, positive relationship between staking and liquidity. One idea is to use Balancer pool tokens as proofs of liquidity that can be staked in place of the network’s token, such that its liquidity grows together with staking.
Sufficient liquidity is necessary for capital to flow efficiently through a cryptonetwork. Illiquidity can act against demand because a relatively small increase in demand could cause a sharp increase in price, potentially to a point that exceeds the buyer’s maximum price preference. It can also affect the economics of the supply side (i.e. whoever stakes to perform the service) by making it more expensive to exit the system if selling has too negative an effect on price. Movements in price due to buys or sells are called slippage, and too much of it is undesirable.
As an extreme example, if you were looking to buy $100,000 worth of a token quoted at $1 and found that such an order would increase the price to $10, you may avoid the purchase altogether – especially if there is a chance the price falls back to $1 shortly afterward. On the supply-side, if a necessary sale of an earned token (e.g. to cover tax or other external costs) causes too sharp a decline in price, the activity may turn out to be unprofitable. Neither is good for growth.
Balancer liquidity pools are designed to hold a basket of tokens according to a specified index. Tokens held in these pools are available for trading on the Balancer decentralized exchange. As people and contracts trade on Balancer, the protocol automatically rebalances the pools to make sure their weights are maintained. When you add assets to a pool, you receive ERC-20 Liquidity Provider (LP) tokens in that pool proportional to your contribution, which can be redeemed for their share in underlying assets of the pool.
For example, if a pool is 25% ETH and 75% MKR, the tokens in the pool (ETH and MKR) are available to the market. As people trade against the pool, or as the value of those assets changes, the Balancer protocol ensures the ratio is maintained by automatically buying and selling MKR and ETH. If you contribute 10% of liquidity to the pool by adding ETH and/or MKR, you’ll receive 10% of the LP tokens in the pool which can be redeemed for 10% of the underlying assets.
Balancer LP tokens are similar to shares in an index fund. They are primarily useful for automatically maintaining a portfolio of a certain weight. But because assets held in these pools are also available for trading on the Balancer DEX, LP tokens are also useful as proofs of liquidity. And because they are ERC-20s, they can be transferred and staked like any other token.
Staking these proofs of liquidity instead of the network’s token is a way to grow liquidity together with staking. Consider a proof-of-stake network with a native token TKN, which you’d like to always have liquidity against ETH and DAI. You first create a Balancer pool indexed to 50% TKN, 25% ETH and 25% DAI (or any other set of weights). Then, rather than requiring people to stake by locking TKN directly, you have them contribute liquidity to the TKN (with any of the underlying assets; the pool will rebalance) pool and lock their LP tokens instead. The staking contract can look-through the LP token to find how much TKN is behind that stake and allocate rewards based on that, others can always buy and sell tokens from the Balancer pool, and the staker always knows the value of their assets locked will always rebalance to match pool’s index.
As a bonus, this also limits the impact of price volatility on the collateral value of the stakers because the value of the total stake is based on a more diverse set of assets. You could also separate staking to work from staking liquidity if for some reason it’s undesirable to turn supply-siders into market makers. A separate staking contract could be implemented that rewards liquidity providers with new network tokens proportional to how much liquidity they commit. Then you could define separate incentive models for “work stakers” and “liquidity stakers”.