The value of a liquid or synthetic token held by users in liquid staking protocols typically increases over time by APR. Technically, this can be implemented either through a rebasable token (like stETH) or through a token for which there is an exchange rate (like osETH or rETH). While it may seem that in different liquid staking protocols this token plays roughly the same role, there are actually serious differences in business logic.
In StakeWise, users deposit ETH and receive the vault shares in return. Users earn through the increase in value of these shares. The ability to mint osETH serves as a way of additional incentivization. A user may choose not to mint osETH, using the protocol purely for staking purposes. They might also mint tokens and hold them (for instance, as insurance against a sudden mass slashing of validators in their vault). So, in the case of StakeWise, the APR can be adjusted within some limits. If it's set too high, a significant portion of CDPs will become unhealthy over time as the debt grows quicker than the vault's validators' APR. The creators of the protocol chose the protocol's APR to be the weighted average APR among vaults. Probably the goal was to ensure that the health factor of CDPs in vaults performing at or above average does not decrease over time. So, the system is kept healthy on average. Also, if there were no liquidation mechanism, a too high APR would result in the total value of osETH growing faster than the overall amount of ETH on the protocol. This means the protocol would become undercollateralized. But, even with an APR of zero, redeeming any volume of osETH would not be possible as only CDPs with a low health factor can be used for redemption. Furthermore, a significant portion of ETH is on validators and requires substantial time to withdraw, so it can't be called fully liquid.
What could be the strategy for selecting an APR (= borrow rate) in liquid staking protocols with a fully synthetic token (like in Stakewise)? All vaults based on the APR can be divided into two parts. Those with a vault's APR lower than the overall borrow rate and those where it is higher or equal. The first type of vaults will experience two kinds of pressure. Firstly, liquidity in general will tend to move to vaults with similar risk but a higher APR. Secondly, CDPs in the first type of vaults will lose their health factor over time, meaning positions in such vaults will be more prone to liquidations and redemptions (if such a mechanism is implemented). Therefore, liquidity will flow from the first type of vaults to the second type. If all vaults are sorted by APR, the borrow rate will determine where the line dividing these two types is drawn. In other words, what percentage of vaults must either increase profitability (which is not always possible) or face an outflow of funds. The dividing line can be drawn in several places, each option having its pros and cons.
Let's take a part of the vaults with the highest APR, having a quarter of the protocol's liquidity (let's call this the upper quarter). The average APR for the upper quarter is set as the borrow rate for the synthetic token. Advantages of this approach: vaults are forced to compete for the efficiency and reliability of validators, any mistake reduces overall profitability, and hence the chances of survival. Vaults need to introduce additional mechanics such as restaking, involving external protocols in the current protocol, thereby increasing the role of the liquid staking protocol in the overall DeFi market. A high APR is also attractive to holders of the synthetic token, thereby increasing investment attractiveness. The downside is that it lowers decentralization; more than three quarters of the vaults become inefficient and will most likely lose liquidity fast, which will flow into the upper quarter. After the redistribution of funds, the new upper quarter will contain even fewer vaults, which will again pull all the liquidity. Over time, this could lead to all liquidity being in one gigantic vault. Moreover, it's better when the basis of liquid staking is classic conservative staking. However, it will not have such a high APR, and the most efficient vaults will use experimental mechanics such as restaking. If something goes wrong (for example, if problems arise in an external protocol using restaking), the liquid staking protocol will also face problems.
If the line is drawn in the middle of the protocol's total liquidity, one half will be in poor vaults and the other half in good ones. A similar option is used in Stakewise, and it seems like a compromise at first glance. The APR that the vaults should have to survive is lower, so this approach is more democratic. At the same time, the borrow rate is defined as the weighted average APR, so large vaults with high liquidity have more influence. And a large part of ordinary vaults with classic strategies will become not enough profitable again, which will continue to lead to a greater strengthening of large risky vaults and centralization over time.
Finally, what if we take the lower quarter - the vaults with the lowest APR having a quarter of all liquidity and define the borrow rate as their average APR? In this case, most of the liquidity will be in vaults where the profitability exceeds the borrow rate, so users can invest in more conservative strategies without the risk of being liquidated. At the same time, low efficiency will make the asset less attractive. Therefore, holders might prefer other liquid staking tokens with roughly the same risks but a higher APR. Moreover, the yield on the synthetic token should serve as protection in case of bad debt occurring. For example, this could happen if, due to massive slashing, the LTV of a particular position rises above 100%, making it unprofitable to liquidate. Borrowed tokens in this CDP become not collateralized. Such positions are also covered by the interest on the total debt. Therefore, a low borrow rate increases sensitivity to bad CDPs and may require a lower LTV.
The situation is different in the classic Lido V2. The main contract in Lido is stETH. Users bring ETH to the protocol and receive shares of a liquid token. stETH.balanceOf() for a user represents the user's amount of Lido V2's total ETH, most of which are engaged in staking. Therefore, for Lido V2 it's not possible to choose an APR - it simply reflects the changes in the protocol's total funds due to staking rewards/penalties.
In the new system stETH will be minted simultaneously by the classic version of Lido V2 with a curated set of validators and by Lido Vaults. So, there is a question: what should be the APR of stETH in the new system? One option is to make stETH fully synthetic, constructing its APR from the APR of Lido V2 and Lido Vaults (creating an architecture similar to StakeWise). However, this raises several questions. Lido V2 in its current form would have to stop existing - as stated in the previous paragraph the APR in stETH now can't be set externally, it just reflects the current ratio of shares to liquidity in Lido V2. To make this work an additional token wrapper around Lido V2 should be created. From an investor's perspective, a synthetic variant in which the token reflects a certain state of the system, rather than being a share of liquidity, appears less favorable. Therefore, transitioning to a combined variant would cause stETH to lose one of its advantages.
One option that at least makes fewer changes in the current architecture of Lido V2 is the following. stETH continues to represent the user's amount of the total Lido V2's liquidity. When a user mints stETH in Lido Vaults, they are effectively borrowing it from Lido V2 at some borrow rate. The balance of stETH borrowed by the user from Lido Vaults rebases over time, and simultaneously the user's debt increases at the borrow rate. In such an architecture the total volume of Lido V2's liquidity will consist of ETH from Lido V2 on validators and ETH borrowed by Lido Vaults.
What should be the borrow rate in this case? It must be no less than the APR of Lido V2 validators, otherwise, stETH would grow faster than its collateral, leading to undercollateralization. Therefore, the borrow rate can be broken down into two components: the base borrow rate (equal to the APR of Lido V2 validators) and the additional borrow rate. The size of the additional borrow rate determines how much the APR of validators in a given vault must exceed the APR of Lido V2 validators. Otherwise, CDP's of users in that vault will lose health over time.
The new version of the protocol not only sets the APR in Lido V2 but also acts as the base borrow rate in Lido Vaults. The following hypothetical attack is based on the manipulation of the base borrow rate.
NO is some node operator managing validators from the curated set of Lido V2. This Node Operator doesn't hold a stake in Lido V2 but earns through staking fees. Also, there's some
Vault in Lido Vaults with a standard APR matching the APR of Lido V2 validators. NO might then perform the following actions:
- Deposit ETH into Vault.
- Mint stETH collateralized by this ETH.
- Exchange stETH for ETH.
- Deposit the obtained ETH back into Vault.
- Artificially reduce the efficiency of the validators under their control in Lido V2.
Step 5 would lead to a reduction in the APR of Lido V2 validators, consequently lowering the base borrow rate for the NO's debt. After this, the yield of Vault becomes higher than the base borrow rate. So the shares brought in from the step 4 increase in value faster than the debt from step 2. Calculations show that even considering the reduced rewards for running Lido V2 validators and Vault's commission, NO remains profitable. Moreover, to maximize profits, NO could repeat steps 2-4 after step 4, effectively leveraging their stETH position.
One way to mitigate the potential for this exploit is to introduce an
additional borrow fee, taken in Lido Vaults in addition to the base borrow fee. In this case Vault would need to operate more efficiently than the curated set from Lido Vaults for the attack to make sense.