[WIP] Guardian

What can the Guardian do in Bootstrap Mode?

Explicit: RocketDAONodeTrusted.sol

Explicit: RocketDAOProtocol.sol

  • can change pDAO settings
  • can change distribution of RPL inflation rewards
  • can spend pDAO RPL funds
  • can disable bootstrap mode

Explicit: RocketMinipoolPenalty.sol

After the merge, priority fees will go to the validator that proposed the block. The validator will be able to configure the "coinbase"/ fee recipient as the address where these rewards go to. Rocket Pool has no way to enforce that the fee recipient is set to a smart contract that ensures fair sharing with rETH. Therefore, the protocol includes a penalty function that can be used to impose penalties on ETH for node operators that do not share priority fees fairly.

The penalty is applied after a minipool has been exited and the balance is distributed. It's defined as a percentage and is limited to the maximum penalty rate. The guardian can set the maximum penalty rate and maintains this ability after bootstrap mode is disabled.

The penalty rate for a minipool can be set by any network contract. There currently aren't any network contracts that use this method. The penalized amount goes to rETH directly during the distribution process.

Implicit: Penalize Minipools

Since the guardian is able to add new network contracts, they are also able to add a contract that gives the guardian the ability to set the penalty rate for any minipool.

This is just one example of how the ability to change or add contracts can add new functionality to the guardian role.

Implicit: Take over oDAO duties

Since the guardian is able to add new oDAO members, they can add oDAO nodes until they control a majority and effectively gain all the oDAO privileges:

  • can remove oDAO members
  • can set minipools as withdrawable
  • can set network balances (total ETH balance, staking ETH balance, total rETH supply)
  • can set RPL price and effective RPL staked
  • scrub minipools