Rocket Pool (RPL)

From CryptoWiki

One of the main projects focused on liquid staking derivatives (LSDs) of staked ETH.

Basics

"Rocket Pool is an Ethereum-based project that has been developing a staking pool/delegation system in preparation for Ethereum’s move to Proof-of-Stake since 2016. During this time, the design and specification of Ethereum’s staking protocol has changed frequently and Rocket Pool has constantly adapted their protocol to those changes. Recently the project overhauled its own design substantially and switched to a liquid staking model that seeks to tokenize Ether stake delegated to the project’s staking pool."

History

"Rocket Pool was originally designed in late 2016 using the Mauve Paper which was released by Vitalik."

Audits & Exploits

"As per the SLOC, there is 167% testing to code (TtC). This demonstrates great testing rigour and earns the protocol 100%. No code coverage report was found, however RocketPool's core repository clearly displays a complete set of tests. RocketPool has not undergone formal verification.

RocketPool has been audited 3 times before deployment, audit reports can be found here. The most recent report by Trail Of Bits indicates 5 high-severity issues, 2 of which remain not fixed by the RocketPool team. All other issues were fixed."

Bugs/Exploits

"On May 26, 2022 Rocket Pool developer machine was compromised and Oracle DAO private keys were stolen resulting in the theft of $28K."

"Yesterday our bug bounty program helped discover an exploit that also affected other staking providers, as a result we are postponing launch to implement a fix. Fix preparation is underway, the changes required are relatively minimal. We will have more information on the adjusted launch date soon."

"Staking pool vulnerability impacting Lido and Rocket Pool, deposit can be frontrun putting funds at risk, flagged by StakeWise, raised in Eth Research in late 2019."

"ERC20s who are allegedly vulnerable to the fake deposit exploit include BRC token, PWR token, BAT, HPT token, Cloudbric, RPL token, Moviecredits, and more."

Governance

"Since smart contracts on the sharded Ethereum PoS network are only enabled in phase 2 of the rollout, stake contributed to Rocket Pool and rewards earned before that cannot be withdrawn. These limitations in the first two phases of the PoS rollout also mean that withdrawal addresses on the beacon chain cannot be controlled by smart contracts. Because of this, Rocket Pool will be a trusted solution at launch. Rocket Pool and their investors will custody the keys associated with these withdrawal addresses. This means they will be in control of all deposits and associated rewards that will accrue on Ethereum’s beacon chain when the PoS migration begins. Currently, there are few details available on how exactly transforming rETH and nETH to ETH will work and how the dynamic unbonding periods of Ethereum 2.0 will be taken into account."

Admin Keys

  • Chris Blec outed his critique on the oDAO, stating that the admin key holders were able to upgrade any of the contracts (18-2-2023). The signers make ~$43k per month and are:
  1. Coinbase
  2. ConsenSys
  3. BanklessHQ
  4. sassal0x
  5. Etherscan
  6. @superphiz
  7. @blockchainjames
  8. @ethnimbus
  9. @cryptomanuf
  10. @beaconcha_in
  11. @blockchaincap
  12. RP team
  13. Lighthouse

"RocketPool's Contract Design & Upgradeability section notes that most RocketPool contracts are made to be upgradeable. A list of protocol contracts is provided and some contracts are identified as internal and thus non-upgradeable. Smart Contract change capabilities are mentioned within the Protocol DAO article. No pause control information could be found. No pause time lock information could be found."

oDAO (Oracle DAO)

  • From their blog (18-2-2021):

"The Rocket Pool protocol has two types of nodes, regular bonded nodes and oracle nodes. These node operators make up Oracle DAO. What makes these nodes special is an on-chain DAO where members perform extra duties for the protocol and are rewarded for doing so. There are two main oracle duties required by the Oracle DAO members, both of which are integral to the protocol. These are:

  1. Minipool Validator Balances — Each validator in the protocol is referred to as a Minipool. It contains 16ETH from the node operator and 16ETH from the deposit pool. The performance of these validators needs to be monitored so the protocol can calculate the performance of all the validators in the decentralised network and allow users holding rETH to exchange it for ETH + rewards at the correct exchange rate.
  2. RPL:ETH Ratio — When depositing 16ETH as a node operator, you are required to deposit a minimum 10% of that ETH’s value in RPL as an insurance promise to the protocol. The more RPL you provide as insurance, the more RPL rewards you earn. To make sure this amount of RPL is correct, the current RPL:ETH ratio must be reported and agreed upon by > 50% Oracle DAO members."

Oracle DAO members also must also perform daily services for the protocol. These include:

  1. Minipool Validator— Mark validators as exited/withdrawn when they perform these actions on the beacon chain.
  2. Protocol Liveliness — Make sure the protocol is always lively and staking as much ETH from the deposit pool as it can to help generate rewards value for rETH holders. Oracle DAO members can create unbonded minipool validators that don’t require 16 ETH to be matched by themselves.

"A Rocket Pool DAO will be formed in the future to allow RPL stakers the ability to participate in a Decentralised Autonomous Organisation which will be used to help govern important aspects of the decentralised network from smart contract upgrades to more minor changes in settings across the network."

Treasury

Token

Launch

Token allocation

  • It seems like (21-7-2020) the team owns less than 49% of the tokens, but you can’t find a clear distribution.

Utility

  • RPL gives more rewards when staked in a RocketPool node. It is not required to stake. In the future also governing rights. Got changed again, and now nodes must bond RPL and earn rewards, or get slashed if doing wrong (13-4-2021):

"RPL mechanics are used in multiple key places to drive the protocol:

  1. rETH value protection with node operators staking RPL as insurance.
  2. Oracle DAO member good behaviour bonds.
  3. Protocol DAO Governance."

Token Details

  • From their blog (29-5-2020):

"This token does not need to be locked within the network to gain rewards and it can be traded, sold or held as the user desires, all from the moment they deposit ETH for staking. This token can instantly be used in DeFi apps and allows DEXs, wallets the ability to offer instant staking services.

Importantly, this token also provides Rocket Pool users with liquidity over Phases 0 and 1 of the ETH2 rollout, in which any staking deposit is locked. When smart contracts are natively enabled on ETH2 during Phase 2, a smart contract will be deployed that will allow users with the rETH token to burn it for ETH.

nETH & rETH

For Phases 0 and 1 of the ETH2 rollout, if you run a node in Rocket Pool and withdraw from the network, you will receive the nETH token, which represents your deposit, rewards + commissions earned in the network for the time you participated, and is backed by ETH 1:1. This is not the same as rETH, which represents tokenised staking deposits + rewards earned by the whole network, and has a variable exchange rate.

This is a temporary token for node operators which will be replaced with actual ETH in Phase 2 of the ETH2 rollout. At this time, node operators will also be able to trade nETH in for actual ETH."

"In Rocket Pool, at least half of the stake in the system needs to be contributed by node operators forcing them to have skin-in-the-game. The protocol is using a three token model at launch:

rETH: Tokenized Ether staked with Rocket Pool nodes. This fungible liquid staking token is a claim on staking deposits and rewards after commissions minus penalties in excess of what is covered by node operators.

nETH: Node operators receive this token when they withdraw from the network before smart contracts are enabled on Ethereum’s PoS network. It is a claim on their own deposited stake and rewards, as well as commissions earned for running a Rocket Pool node.

RPL: The project’s native token that is used to incentivize high uptime and to discourage incurring penalties for node operators. Staking RPL enables node operators to receive a higher share of protocol commissions, but also puts their RPL at risk in the case of slashings. If a node operator incurs a penalty, his staked RPL will be burned proportionally. RPL will in the future also be used to govern parameters of the protocol."

RPL Tokenomics changes in Beta 2.5

  • From their blog (29-5-2020):

"We realised one of the drawbacks for 2.0 was the need for RPL to even run a single minipool validator on your node. This was a barrier to entry and we are all about knocking those down at Rocket Pool HQ. RPL will now not be needed to run a node in Rocket Pool. Under 2.5 you will be able to stake RPL on your node as an additional security and uptime promise. Users that choose to stake RPL be rewarded with an additional reward proportional to the extra security they are providing. Failure to provide this additional security when staking RPL will result in your RPL being burned proportionally to the size of your penalty or slashing event.

But wait, where does this extra reward come from? In short, from us. Previously we had a commission on all rewards earned on the network. We will now be giving that to users that provide extra security and uptime by staking RPL."

Coin Distribution

  • Coinbase bought 47k RPL. Since Coinbase is also one of the oDAO signers (for which it gets paid), Chris Blec highlighted (21-2-2023) the following:

"If these tx reflect the entirety of the deal, then @Rocket_Pool dev team sold 47k $RPL to @Coinbase for just $16 per token. The market price on the day of the transfer was around $38. This would equal a 58% discount for Coinbase."

Tech

"At 2,340 commits and 34 branches, RocketPool's core repository is launching to new heights and earns 100%."

How it works

Fees

Upgrades

Staking

"A minimum of 16 ETH and 1.6 ETH worth of RPL, the governance token of Rocket Pool, is required to become a node operator. The remaining 16 ETH will be matched by any stakers looking to join this decentralized network of Ethereum nodes."

  • Staking while running a node on RocketPool gives ETH2.0 staking rewards, plus extra rewards by charging Rocket Pool users a set percentage of the rewards earned on your node. 
  • From their blog (29-5-2020):

"When a user deposits into the Rocket Pool network, they will instantly receive the rETH token which represents a tokenised staking deposit and the rewards it gains over time in the Rocket Pool network."

Validator Stats

"In just two hours, 94 nodes across 28 time-zones have registered. Our stage 1 target of 15 minipools has been hit."

Slashing

"Minimised deposit risk. Any losses that occur from bad nodes for stakers who deposit ETH are socialised across the whole network to minimise impacts on any single user."

  • From their blog (29-5-2020):

"Due to the change in network mechanics that v2.5 brings, Rocket Pool can now offer even more safety for user deposits. All losses that are incurred when a node operator finishes staking with < 16 ETH in total are now socialised across the whole network. This means that your deposit cannot be assigned to a “bad node” — all rETH holders share the risk of nodes being slashed or penalised equally. If a node fails, all holders lose a tiny amount of value, rather than one unlucky person losing everything.

Node operators, though, are still accountable for their penalties and will absorb any losses if their validators earn less than 32 ETH. This makes them economically bonded to perform in the same way as previously. As long as a node performs well, it stands to earn extra rewards in the network from commissions charged on deposits and staking rewards. This increases the ROI for node operators over staking solo, where all the same parameters apply."

Different Implementations

Interoperability

Other Details

Oracle Method

"RocketPool's oracle source is Oracle DAO, documented and explained at this location. A brief description in their glossary can be found here. The contracts dependent are not identified and there is no relevant software function documentation provided.

RocketPool does not mention front running and does not document any countermeasure against it. RocketPool does not mention flash loan attacks and does not document any countermeasure against it."

Their Other Projects

Roadmap

"In a blog post today it indicated the platform is waiting for smart contract withdrawals to be enabled before it can go live."

Usage

Projects that use or built on it

Competition

  • StaFi is also working on liquid staking.
  • ETH 2.0 staking solutions has grown a lot in 2020. A review of all options. can be read here (7-1-2021).

Pros and Cons

Pros

  1. "The team has long experience and developed various iterations specifically for Ethereum’s PoS protocol. 
  2. Built on Ethereum, so rETH has access to DeFi protocols and there are fewer security risks than projects built on less proven chains (of course, the risk of smart contract exploits remain). 
  3. Very simple user experience for non-node operating ETH stakers."

Cons

  1. "Keys that will control funds on Ethereum’s beacon chain will be custodially controlled at launch, so this is a trusted/custodial solution until smart contracts are enabled (ETH2 phase 2).
  2. High requirements for stake contributed by node operators may prove to be a limitation of this solution.
  3. Highly specialized and completely focused on Ethereum staking, not a cross-protocol solution."

Team, Funding, Partners

Team

"We were able to identify 5 public contributors to the main repository. This was further confirmed by RocketPool's LinkedIn."

Funding

  • Coinbase bought 47k RPL. Since Coinbase is also one of the oDAO signers (for which it gets paid), Chris Blec highlighted (21-2-2023) the following:

"If these tx reflect the entirety of the deal, then @Rocket_Pool dev team sold 47k $RPL to @Coinbase for just $16 per token. The market price on the day of the transfer was around $38. This would equal a 58% discount for Coinbase."

Partners 

(:

Knowledge empowers all and will help us get closer to the decentralized world we all want to live in!

Making these free wiki pages is fun but takes a lot of effort and time.

If you have enjoyed reading, tips are appreciated :) This will help us to keep expanding this archive of information.

ETH tip address: 0x83460bE5F218b1520B69D702cE60A1DE37dD8E31