RPIP #004 - RPL tokenomics

This is a competing proposal to RPIP 003

Design objectives

  • Long-term sustainability
    • Incentivise validators to act honestly
    • Incentivise validators to remain with our protocol long-term
    • Provide governance powers to those who have long-term incentives
  • Robustness
    • Changes to protocol should be slow and planned
  • Simplicity
    • Contracts should be gas-efficient
    • Tokenomics should be easy to understand and evaluate
    • DAO influence should be minimal and clear
  • Reward early believers and contributors
  • Scalability

Issues with RPL #003

  • Collateral-based tokenomics are untested and hard to valuate
  • Oracle risks
  • No checks against short-term actors (whether profit-seeking or malicious)
  • Hard caps that limit scalability

Solution
Use a simple cash-flow based model where RPL earns fees and timelocked RPL takes important decisions.

  1. Validators must stake [16 + f(t,min,decay)] ETH

    • t refers to the time a validator has been staking for, without being slashed
    • min refers to the minimum stake above 16 ETH that a new validator must stake, decided by DAO
    • decay is a parameter that determines how the minimum staking requirement for a validator decays with time. This incentivises validators to remain with us long-term. The excess ETH can be withdrawn and potentially added to newer staking lots.
    • proposed functions:
      f(t,min,decay) = min - decay * t
      f(t,min,decay) = min * e^( -decay * t)
      min could be 1 or 2 ETH
    • if a decay function is too complicated to implement on-chain we will just use (16 + min) ETH as the staking requirement
  2. ETH stakers can stake any amount to get rETH. rETH represents their ETH in ETH 2.0 plus rewards (z%)

  3. ETH staked is allocated to validators to earn rewards from the deposit contract

  4. Staking rewards are split amongst three parties

    • Validators receive a fraction (x%) of rewards
    • RPL stakers receive a fraction (y%) of rewards
    • ETH stakers receive a fraction of rewards (z%)
      x + y + z = 100
  5. RPL can either be staked short-term or long-term

    • Short-term stake earns y1% of staking rewards and can be withdrawn anytime.
    • Long-term stake earns y2% of rewards. Submitting a withdrawal request on-chain will cause the stake to get converted to short-term stake after exactly one month, at which point it can be withdrawn.
      y2 > y1
      y1 + y2 = y
  6. Long-term staked RPL is used for governance

    • Governance can change the parameters: min, decay, x, y1, y2, z, f
    • Increasing min goes through a 1-week timelock, so that validators can respond
    • Decreasing min or changing x, y1, y2, z goes through a timelock for f hours. f could be increased as the protocol matures.
  7. We could implement a short-term but aggressive inflation schedule on launch. This will attract validators and ETH stakers in the initial stages and get a critical mass of users, along with sufficient initial liquidity. Inflation amount, as well who is rewarded how much (validators, ETH stakers, Uniswap LPs) can be discussed.

1 Like

How do you envision this, in detail?

Currently:

  • Staked Eth cannot be withdrawn until phase 2 (possibly 1.5, TBD)
  • A validator (minipool) can be voluntarily exited and receive nEth
  • nEth can be traded to Eth 1:1 come phase 2, or presumably on the open market before then at a discount to Eth

This fundamental non-liquidity of staked Eth is the reason RPool exists in its current form, imo. “The excess Eth can be withdrawn” sounds like a big enough deal to warrant detailed discussion.

You’re right, I didnt think this through. Isn’t it possible for the 16 ETH to be staked in the deposit contract and the remaining amount (min) to be staked on the main chain?

You could have the remaining amount sent to a contract that RPool controls, as I understand it, yes.

1 Like

The need for a price Oracle is a point of concern for me as well with RPIP-003. This proposal does away with that, which I consider an advantage. I’m still interested in the further details of RPIP-003 that will be forthcoming next week, RPL valuation should be addressed there hopefully.

One disadvantage I see of using ETH instead of RPL for collateral as a node operator, is that this means operators aren’t immediately onboarded in governance through their collateral deposit. Now they’d need to invest extra funds both into ETH collateral, and into RPL separately if they want to participate in governance.

The time-locking of RPL for governance is a good idea, including the two separate fee rates. This is something that could be integrated into RPIP-003 as well for RPL staking in the overflow pool.

2 Likes

Have addressed these concerns over in the RPIP #003 post :rocket:

3 Likes

Then how about recognising both for governance without involving the RPL token?

Node operators own 50% of votes, where each node operators owns votes proportional to the ETH staked. RPL stakers own 50%, where each person owns votes proportional to the RPL they stake.

Yes, that could work. @Tristannn made a suggestion to that effect here: Rocket Pool Governance

Having the weight also adjusted by the Operator’s performance could be a further refinement.