Rocket Pool —Atlas Upgrade
Hello Rocket Poolers! Today we’re excited to officially announce the protocol’s next major upgrade, Atlas! This is Rocket Pool’s second major upgrade since launching to mainnet, the previous upgrade being Redstone which occurred shortly before The Merge ™️ and made Rocket Pool compatible with it, plus introduced some extra special features such as the smoothing pool.
This new significant upgrade makes the protocol compatible with Ethereum’s Shanghai upgrade that will permit validators to initiate withdrawals of their staked ETH on the Beacon Chain. It also introduces many new improvements ranging from simple gas optimisations, to major new architecture changes aimed at scaling Rocket Pool like never before.
The Atlas upgrade has been a large undertaking by the team and community working together, its development has been the result of listening to wants and ideas, huge amounts of analysis and a tone of hard work. Before we get to deep into the changes, we’ll see if we can give a quick rundown of what Ethereum’s Shanghai upgrade will entail, then we’ll go over the various changes below and how they’ll help Rocket Pool take off like never before, so strap in.
Ethereum Shanghai Upgrade
In the coming month or two, the Shanghai upgrade will allow validators to initiate withdrawals of their staked ETH on the Beacon Chain. For context, up until this period, if you staked ETH as a validator since the Beacon Chain launched in December 2020, then your deposit was locked until this upgrade occurred.
Once the upgrade occurs, validators will be able to stop validating if they wish and withdraw their staking ETH balance completely, or they can continue staking and receive any ETH rewards in a liquid form over the initial 32 ETH deposit on a regular basis, also known as skimming.
Another important function which this upgrade will bring is the ability for existing validators using the BLS withdrawal credentials to change these to a withdrawal address on the Ethereum blockchain itself. Since withdrawals of staked ETH has been an evolving process over the years, the vast majority of validators use these BLS withdrawal credentials, so they will need to use this function in order to withdraw their ETH. This is an important feature which our Atlas release will make great use of.
Atlas Upgrade
This upgrade will be Rocket Pools biggest to date and will be primarily aimed at scaling the protocol to meet much higher demand, now and into the future, while fully maintaining our commitment to decentralisation and the health of the Ethereum.
Well enough chatting! Let’s get into the details of this release by going over each notable change you’ll see to Rocket Pool once the upgrade occurs.
Minipool LEB8's
Minipools are Rocket Pool validators and LEB stands for Lower ETH Bonded. This is by far the most hotly anticipated feature of the Atlas release for several reasons we’ll go into below.
Currently when a node operator wishes to create a minipool, they must provide 16 ETH and they receive 16 ETH on behalf of the protocol, this creates a 32 ETH staking validator on Ethereum. The original 16 ETH amount the node operator supplied was originally meant to incentivise them to perform their duties well, if not then they suffered just as much as the protocol since their rewards and bond are tied directly to their performance.
With time to monitor how staking nodes perform, the severity of slashing penalties and more. This 16 ETH amount was deemed to be safely reduced to 8 ETH with the introduction of LEB8’s, without compromising the security incentives already in place.
What kind of effects will this have?
- It would instantly allow the protocol to 3x its capacity and adapt to already very high demand for its LST rETH much better.
- Greatly reduces the barrier to entry for users who want to run a node on Rocket Pool and stake. More decentralised node operators add to Ethereum’s security.
- Current node operators running 16 ETH minipools earn 16% more than solo stakers due to the 15% commission awarded from the protocol on rewards earned for their work. 8 ETH minipools would see this amount earned change to 42% better for their work than solo staking and 25% better than 16 ETH minipools. This does not factor in additional RPL rewards in any way.
- Current node operators will be able to migrate their 16 ETH minipools to 8 ETH minipools without exiting the validator. More validators increase the chances of randomised events such as block proposals and sync committees for the node operator.
As you can see this relatively minor number change on the surface has profound impacts for the protocol beyond just adding more validators to Rocket Pool. As is tradition as Rocket Pool, we take safety and security very seriously. So it is hoped should 8LEBs prove successful and safe, 4LEBs may be introduced in a future upgrade not long into the future.
Solo Staker Migration
Currently about 30% of validators on Ethereum are classified as unknown, this means we don’t know whom they staked from. Generally it’s safe to say most of these are solo stakers which is awesome for Ethereum’s health.
With withdrawals rapidly approaching, node operators who are staking can now withdraw their ETH. With Rocket Pool being the only current permissionless protocol for node operators to join, we’ve designed a method for these node operators to migrate to Rocket Pool should they wish to do so, while still maintaining the decentralisation factor.
This method also means they don’t need to withdraw their ETH should they wish to migrate to Rocket Pool. As mentioned earlier, the Shanghai Upgrade will allow a method for current solo stakers to set their BLS withdrawal credentials to an address on the Ethereum blockchain. We’ve designed our solo staker migration to account for this, so if a current solo staker wishes to join Rocket Pool, they can do so without ever exiting their validator, makes it super simple with no need to exit or withdraw their current validator, awesome!
Simplified Minipool Queue
Currently when a node operator creates a minipool, it can be a full one with 32 ETH deposited or it can be a 16 ETH deposit, both types are maintained in separate queues, though 16 ETH ones would always receive ETH first from the protocol.
Post Atlas, these queues are combined into a single simplified queue that supports multiple types (16 ETH or 8 ETH) deposits by node operators. This simple queue also removes uncertainty over when your minipool might receive ETH from the deposit pool due to the dynamics of the current multiple queue system.
Optimised Minipool Queue ETH
Currently when there is ≥ 16 ETH in the deposit pool, it can be assigned to a minipool as soon as that minipool is created. This means that node operators can have their minipools staking almost instantly under this scenario. This is currently the trend on mainnet due to space in the deposit pool being under large demand.
But there has been times when the amount of minipools being created exceeded the capacity of what the deposit pool could assign. These minipools then sat in the queue with their 16 ETH sitting idle until more deposits for rETH came into the deposit pool.
With this optimisation in place, ETH that was previously sitting there doing nothing can be used to bring minipools in the queue online faster. Node operators will start earning yield sooner. rETH holders benefit from the additional yield of the previously unproductive ETH.
Dynamic Deposit Pool Limit
Currently the deposit pool has a fixed limit of 5k ETH on mainnet. Even if the minipool queue has capacity in excess of the deposit pool, the maximum deposit is still defined by this fixed limit.
This change makes it so when the minipool queue capacity exceeds the deposit limit, the deposit limit grows to match it. For instance, if the deposit pool limit was still 5k ETH max, but the minipool queue had capacity for 6.4k ETH, the deposit pool limit would now become 11.4k ETH. Once more minipools have had assigned ETH and the queue capacity dropped below 5k ETH, the deposit pool limit would be back to 5k ETH maximum.
Minipool ETH Distribution
Withdrawals will be arriving soon to Ethereum, hooray! They will come in two new flavours, full and partial withdrawals. So what’s the difference between the two?
Full withdrawals involve exiting your validator from the beacon chain to finish staking, then withdrawing your full balance. Partial withdrawals (also known as skimming) are fully automatic where any rewards you’ve earned above 32 ETH are automatically sent to your minipool while you are actively staking, this occurs on average about every 4 days on mainnet.
This distribution of ETH has been optimised for new LEB8 minipools. If you are on a 16 ETH minipool currently, you will need to upgrade your minipool to the new delegate to access skimmed rewards and also withdraw your RPL if you exit staking.
Additional Notable Changes
There’s also been many other improvements such as Minipool gas efficiency. Creating a new Minipool post Atlas will now use 40% less gas!
Some cleanup of older legacy functions that still existed past the previous Redstone upgrade has also been done. In particular, the old on-chain reward system required keeping track of effective RPL stake per node operator. This value depended on the price of RPL which is oracled to chain once a day. This required an annoying block which prevented people from creating minipools, or staking RPL, between a price checkpoint block and when the oracle executed a price change. All of this functionality can now be removed since the protocol moved to an off-chain RPL reward calculation.
Audits
The Atlas release has currently been audited by Sigma Prime and ConsenSys Diligence, both spending a cumulative 6 weeks reviewing the code and generating a detailed list of findings.
We’ll be releasing these reports in the near future as we always do for any audits the protocol undergoes. All the current audit reports for the protocol can be found on our website here.
Testnets
We are currently testing a Rocket Pool deployment running on the Zhejiang testnet. This is a testnet simulating staking withdrawals, it’s notable because it included all of the code for the Shanghai upgrade as it was the first testnet that successfully simulated staking withdrawals without reports of glitches or major issues.
Following successful testing there, we will be releasing to our Goerli testnet in the next few weeks. If you would like to help test the future of Rocket Pool, spin up a Goerli node and give it a try!
We are targeting a mainnet Atlas release for end of March / early April.
Questions or just say hello!
Well 72 points to you for making it this far! If you have questions, feedback, bug reports or want to know a bit more about us, why not swing by for a chat and say G’day! You can view our website or have a chat with us in our Discord chat room that anyone can join. If chat rooms aren’t your thing, we’re also on Twitter!
About Rocket Pool
Rocket Pool is Ethereum’s most decentralised liquid staking protocol. Its 2,100+ worldwide node operators have staked over 400,000 ETH representing over 2.5% of all Ethereum staked.
Liquid stakers can participate by depositing as little as 0.01 ETH to receive the rETH liquid staking token. Rocket Pool is a fully non-custodial solution, and its node operators are economically-aligned to perform well for stakers.
Joining as a node operator is fully permissionless and requires just 16 ETH (instead 32). A boosted ROI is provided from both operator commission plus RPL rewards for their nodes work in the protocol. For more information check out our node operator guide.
The Rocket Pool team have been in the staking space since its inception in 2016, which gives them a pedigree and track record without peer.
Take a look at the Rocket Pool website | Join the Rocket Pool community on Discord | Stay up to date with the latest news on Twitter | View all links on our Linktree