We have created a system where all NOs can contribute to spiraling RPL prices, but only overcollateralized RPL holders and speculators are able to “sell high” or risk-manage.
There may be multiple reasons a NO wants to sell RPL for life events/taxes, but the most common would be to rebalance the investment portfolio to manage risk. Most NOs in Rocket Pool expect RPL/ETH to rise, and after a minimum RPL allocation (9%, most common new NO investment) for a single minipool, a NO would have to surpass 60% RPL (24E worth of RPL) before any could be withdrawn; under LEB at 8E this would be 82%; and under LEB at 4E, RPL would be 91% of node portfolio with current proposals.
Before Shanghai (or withdrawal hardfork unspecified), the 150% limit prevents most NOs from selling. However, after withdrawals a NO has a relatively easy way to access their RPL:
exit validator and wait for ETH reimbursement
unstake RPL down to 10% of a minipool
spin up minipool
- nodes with multiple minipools have to withdraw multiple validators, depending how close they are to 150% collateral
This workaround can negatively impact the protocol in several ways:
Once the NO has fully exited, they may take their capital somewhere else entirely, like a new staking service (ie, inertia is gone)
There is capital inefficiency for the protocol ETH waiting in staking/exit queue
The gas fees are coming from a rocket pool aligned investor, and either are from extra RPL selling or ETH that might have been staked
Because of the hassle, the NO is likely to overdraw RPL so they don’t have to do this again
The NO can get down to 10% collateral, which actually would negatively impact the insurance benefit that RPL provides if RPL/ETH drops
This will encourage sybil nodes for easier liquidation of individual positions
Continue to allow NOs rewards on effective stake up to 150% collateral; however, allow RPL to be unstaked as down to a lower arbitrary level (25%, 50%, 75% etc)
Charge a RPL fee equal to: the gas cost of withdrawal and restaking the minipools + the value of RPL earned that reward period by withdrawn RPL (ie if 200 of 1000 RPL withdrawn, penalize 20% of last reward period)
Send the RPL fees to a burn address
RPL holders benefit by RPL being burned rather than sold to pay fees, as well as increased price stability.
rETH/protocol benefits by lower downtime, less churn of validators, and a more favorable environment for new NOs
NO benefits from having better liquidity, lower downtime, less time/effort, improved risk profile based on their individual needs (particularly institutions).
Withdrawal system abused: Deposit RPL for rewards and immediately withdraw after rewards period. This is entirely mitigated by penalizing based on last reward period, so you only get rewards for RPL that have been staked the whole period
Loss of RPL value: there may be a sell off initially, although I’d argue that this would happen with withdrawals anyway. However, eventually this proposal would help to stabilize the RPL price by eliminating liquidity crunch
Rocket Pool has a visceral distaste of rent seeking, and this would be a fee: there is no way around this, except to say the workaround would be more expensive.
In a massive drawdown of RPL/ETH ratio (90% or more), this could affect the security model as more NOs would be below 10% collateral. However, in such a price collapse the majority of NOs would already be under 10% with our current distribution.
@NickS see if this is at all what you were thinking
Please all criticism encouraged.
@sam thanks for the feedback!
Node operators with less than withdrawal collateral will be able to voluntarily exit and rejoin in the current system; it’s just more of a pain. I was trying to figure out how to deal with this reality in a way that provides some benefit to the protocol. Perhaps there is another way?
The distaste of rent seeking is just that rocket pool doesn’t charge direct fees for its own developers or to increase RPL value. It’s one of our selling points.
For example, is from Marceau twitter in July ‘First, context. Rocket Pool is objectively the best liquid staking product on the market, by being purely decentralized, permissionless, non-rent seeking, and focused solely on Ethereum. Lido is 0/4 here and we desperately need competitive staking protocols like RP to step up.’
But obviously the team indirectly benefits from RPL inflation and price through oDAO and warchest.
Yep, i think that’s a perfectly concise way of putting it. People will freely use the options in front of them, and I’d like to retain as much of that value in the rocketpool ecosystem. You are definitely correct that we do not get to an equivalent state as written, but I feel that compromise [everyone gets some benefit] would encourage NOs to use this official route. And money left on the table does not harm the protocol, assuming the collateral level chosen is sufficient for our needs. However, this could be weighted further towards or away from NOs and would still provide them benefit.
Regarding the case of the minipool queue: the vast majority of new NOs are buying in around 10-20% RPL based on rocketscan. I would argue that keeping an existing minipool running at 50% is more valuable, from a protocol [and RPL price] perspective, so not sure why we would want to send them to the end of the line.
Yep, I agree with that before withdrawals the fact that funds were locked necessitated a high return. However, most financial vehicles allow withdrawals and still offer returns; I don’t need to commit to a corporate bond for 10 years to make steady returns.
I actually really like this tiered system, acknowledging that 20% collateral is possibly going to be fully used, but 130% collateral will almost certainly never be used, and they shouldn’t be reimbursed equally. So allow withdrawals up to the useful level, and decrease extraneous payments for anyone still staking above that. But then the big question is, what is that level? And will it be fair to people who have accumulated 150% RPL?
I am not supportive of this proposal unless everyone can withdraw equally. For example, let’s say the arbitrary cutoff is 50% collateralization. Then someone with 75% is able to sell up to 1/3 of their investment, and someone with 50% collateralization is not able to sell any. Even though we say 10% is necessary for protocol security.
This is just as bad as before in terms of effect. But instead it penalizes NOs that have less RPL even more because their RPL remains illiquid while others’ RPL is unlocked, causing even greater pressure on the value of their RPL. I don’t think a small burn would be enough to compensate. After all, whales and speculators would be benefiting from burns too.
Worse, it also means that someone who prioritized minipools over RPL collateralization is punished more also, since it puts them below the arbitrary cutoff and keeps all their RPL illiquid while others, with half their ETH invested in Rocket Pool minipools and the other half deposited to Lido stETH, are given the special privilege of liquidity. This is the case today but the effect would be more visible with this change.
Edit: I think it’s interesting that you mention “Rocket Pool has a visceral distaste of rent seeking”. If you could link me to where the team has mentioned this, I would appreciate it. Because the team knows the true reason RPL exists, and they are definitely taking rent, every few days in fact.
Edit 2: It looks like the arguments I was trying to make only apply to this other thread Reduce Maximum RPL Collateralization rate to 75% over time - #24 by NickS sorry about that
@epineph: Thank you for your reply. Looking back, I was thinking about this proposal if it were implemented before withdrawals are enabled. I think after withdrawals are enabled this would be fine because, as you say, it eliminates the long hurdle of withdrawing and re-depositing, which could cost a lot in fees and and not be as good for the protocol.
When exactly is RPL usually unlocked? We might want to delay the implementation after the proposal passes so that NOs withdrawing completely from staking are not caught with illiquid RPL when the change is made.
Also, is there a place other than the burn address that would be suitable for the unstaking fee?
So I like this better than the previous thread https://dao.rocketpool.net/t/reduce-maximum-rpl-collateralization-rate-to-75-over-time/1105/24. In particular, this is attempting to say “hey - if we’re gonna allow X by taking 3 steps, could we just allow X without fewer steps?”
That said, I don’t think we actually got to a fully equivalent state.
- If there’s a minipool queue of folks that want to be NOs, this effectively lets incumbents keep their spots in a way that they couldn’t if they had to go through the exit method.
- There is also no opportunity cost. While we’re capturing some of the disincentive with the proposed burn, we’re not capturing the loss of earnings. This is particularly important if we have a significant queue.
- Imagine a case with a fairly stable ~200 minipool queue and ~10 minipools being dequeued per day, and RPL price doubles. All of the above recently happened. With the exit method, the price to rebalance is quite high, and grows if more people do it. With the proposed method, all 1k+ NOs can do it without paying this opportunity cost or growing the opportunity cost.
I have to think about this more, but my initial reaction is that I’d support something like this if the minipool queue is empty (or perhaps under 10 or something). In that case, it does indeed feel like just avoiding un-needed red tape.
But if you can easily unstake your RPL, why do you still get more rewards if you have more collateral?
IMO, getting more rewards is a way of saying “thanks for really committing to Rocket Pool”.
But if you simply can withdraw, you shouldn’t get as much reward as if you couldn’t. Maybe a multi-tiered system would be ok:
- Below 10%: no rewards
- Between 10% and unstake threshold X: full rewards
- Between X and 150%: full rewards for RPL below X but only half that for the remaining RPL
- 2000 RPL is 100%
- Reward is 2% for locked collateral and 1% for liquid collateral
- Unstake threshold is at 40%
- You staked 1000 RPL
- 40% of 2000 RPL = 800 RPL
- You get 2% rewards on your locked 800 RPL = 16 RPL
- You get 1% rewards on your liquid 200 RPL = 2 RPL
- Overall, you get 18 RPL
- Normally, you would have gotten 2% of 1000 RPL = 20 RPL
It’s definitely an interesting proposal @epineph, thanks for putting this together. I certainly support inquiries into this kind of approach but would hold off on making any change for the time being.
I think that we’re going to have some very interesting opportunities to expand RPL’s use cases in the near future that could potentially align nicely with a shift in collateralization mechanics. Namely, utilizing RPL as a junior tranche of collateral in Eigenlayer while simultaneously allowing it to be staked to your node.
With the existing collateralization rules in play, users who pledged RPL as collateral on Eigenlayer would have to immediately liquidate validators in order to free up RPL for withdrawal and liquidation in the event of a slashing event in one or more of Eigenlayer’s protocols. While some node operators would take on the risk, many others would likely avoid it.
If we can reduce the collateralization level required for withdrawal while retaining the existing reward mechanism (or slightly modifying if desired), there is a strong incentive for RPL holders to continue staking their RPL in their node while also earning additional yield from Eigenlayer. As long as the node operator manages the amount of RPL they’ve staked on Eigenlayer, they can sit comfortably knowing that they won’t have a liquidation event triggers as mass exit.
Assuming there is design space to support it, assigning RPL as the junior tranche would entitle holders to higher rewards relative to ETH. This would in turn reinforce RPL as a valuable form of collateral that has the same yield-stacking properties as staked ETH.
Ideally, this dynamic would incentivize RPL holders to continue holding RPL long into the future, especially if they’re sitting on significant capital gains and the delta in yield between RPL and ETH is minimal.
I’m supportive of this proposal, most specifically in the context of LEB8s. For liquidity and cash flow reasons, I have prioritized 150% collateral since I started in January. With LEB8s, assuming one goes from 1 to 2 minipools, the protocol ETH goes to 48, so your previous 150% collateralization goes to 50%.
If LEB8s happen near the time of Shanghai, for me this is moot (though I’d still be generally supportive). If Shanghai is still some time out, even though I’d earn less than possible, I would be unlikely to migrate to LEB8s. So from the perspective of whether this proposal helps the protocol or not, at least for some, the protocol may get less new available rETH than expected from LEB8s.
I’m assuming here that I’m not the only one that needs some amount of liquidity and cashflow today, rather than some as yet unknown date in the future. On the other hand, maybe I’m such a small fraction it’s marginal. I guess only about 20% of node operators are at or near 150% and some portion of them may not care, but I also don’t know the number of minipools that 20% of NO cover.
Individual people wanting liquidity back really shouldn’t be a design consideration for changing the entire protocol’s tokenomics.
I don’t see any reason to connect collateral max changes to LEBs and would recommend we treat them as distinct changes for a variety of security and governance reasons.
Thanks for the personal perspective. I agree this may be a reason some folks don’t migrate. It’s effectively a special case of the standard “less RPL exposure in the portfolio”, looking at the amount of RPL exposure required to be liquid on any RPL ratio gains.
Thanks for putting it in terms of benefit to the protocol. However - for that benefit there’s no urgency to make the change now. If we see that (A) a significant number of NOs don’t migrate for this reason, and (B) we can’t meet rETH demand as a result, then we can consider this knob (or LEB4s or some other clever idea).