Summary

Enable Rocket Pool node operators to join the Eigenlayer network. This should be done while Rocket Pool retains senior debt, meaning Rocket Pool contracts are the withdrawal credentials from the beacon chain. The aim is for Rocket Pool node operators to participate in Eigenlayer activities and be slashed for misbehavior by pointing their withdrawal address to a special contract that enables all the functionality of a regular Eigenpod from slashing to rewards.

Required Milestones

Milestone 0 - Research EIP-7002 and Presigned Exit Messages

Payout: $10,000
Research the various methods of pre-signed exit message management. Present research to the pDAO showing the risks and benefits of this method. This research should include any necessary centralized components as well as any changes to the Rocket Pool contracts and smart node that would be needed. The research should also present on how Rocket Pool can incorporate EIP-7002 internally and further how an integration designed around 7002 would look. This should be compared with the pre-signed exit message route so that the pDAO can decide on what the best way forward is. Research applicants must intend to go on to build the full integration, however, the pDAO reserves the right to terminate the grant and look for others to finish the bounty. There will be a 5 week window from bounty acceptance to when the research must be presented.

Milestone A - Build Contract

Payout: $16,666
Once the pDAO has signed off on the desired integration method, the team will be ready to build the outlined contract allowing Node Operators to register with Eigenlayer and function like regular validators in their network including slashing. This ought to be verified with a core RP team member, ideally Kane, as a plausible solution.

Milestone B - Feedback and Integration

Payout: $16,666
Incorporate feedback from the audit and the Eigenlayer team. Then, in coordination with RP and Eigenlayer, release the integration for public use.

Milestone C - Front-End and Documentation

Payout: $16,666
Create proper front end components as well as documentation to make the product easy to use and understand.

Further Notes

Here is a breakdown of the expected product cycle:

Design

A sample design is shown below:

  • Point RP withdrawal address
  • Keeper network informs of minipool count changes
  • Keeper network informs of RP penalties

Must haves:

  • Ability to force exit - you want to be able to do that ASAP after RP penalties (you don’t have as much collateral) or Eigenlayer penalties (you don’t want RP penalties to supersede you)
  • Their slasher and escrow must work just fine for ETH; just pass the RPL through for ease, or consider using that as slashable too for efficiency
  • The contract should be upgradable by the oDAO
  • Protects rETH from any risk

Nice to haves:

  • Ability to decide how much node operator ETH is restaked
  • Ability to exit Eigenlayer delegation and be a normal Rocket Pool validator without exiting the validator

Work

  • Stage 0: Research
    • Assess the current field of pre-signed exit messages and the difficulties of designing an integration around them
    • This should include centralization trade-offs, capital efficiency analysis, protocol risks, and any other information that would be relevant to the pDAO to make an informed choice between pre-signed exit messages and EIP-7002 forced exit based integration
    • Research the state of EIP-7002 and present an approximate view of how Rocket Pool can incorporate it to improve capital efficiency + security
    • Correspond with the core dev team so that the research is not duplicating work
    • With this research, present a method of integrating with eigenlayer
    • 5 week window for submission
  • Stage 1: Build
    • Smart contract to point the RP stuff at – mostly will be just like the solo one except for
    • not giving full value to the validators
    • pod already handles multiple validators, here it’s just packaged per node – might be a couple for loops to swap
    • boot or revalue stuff based on keeper
    • make keeper scripts in python or similar
  • Stage 2: Audit cycle
    • complete an audit with feedback implementations with a reputable auditing firm discussed and coordinated with the GMC
    • coordinate with the team at Rocket Pool and Eigenlayer for broad comments on the design and technicals
  • Stage 3: UX/ presentation
    • Web page needs to handle the new thing you can add to a pod - for simplicity make it so a pod is either all solos or one RP node
    • documentation needs to be written so that users can understand the steps of the process a la the Rocket Pool documentation

Resources

Jasper Research

Verification

The product should be tested considerably by the applicant before being presented to the Rocket Pool core team, ideally Kane and a senior engineer from Eigenlayer. Further, a reputable 3rd party auditing firm should be engaged with the coordination of the GMC and the bounty applicant. The costs of this audit should be covered by the GMC.

Contacts

GMC Administrator - ShfRyn
Support - Jasper