RPIP #002 - Trusted Node Network DAO

Status

Currently being reviewed with expectation of being added before mainnet.

Abstract

Currently there exists two types of nodes that run in the Rocket Pool network, Trusted Nodes and Bonded Nodes (rebranded untrusted nodes). Core nodes have several additional purposes over Bonded Nodes, they:

  • Relay ETH2 beacon chain data back to our ETH1 smart contracts once a day, this includes things like rETH rewards earned, validator balances etc.
  • Mark minipool validators as exited.
  • Mark minipool validators as withdrawn.
  • Can deploy validators without the required 16ETH bond.

All of these functions require consensus from >= 51% of other trusted nodes in the network to be accepted to prevent rougue core nodes from causing issues.

Issue

Currently it is up to Rocket Pool to decide who runs these core nodes. If Rocket Pool is to ever operate under a DAO model, this point of centralisation needs to be resolved.

Solution

Rocket Pool can bootstrap the network with a set of core nodes from known parties such as us, ConsenSys and other reputable SaaS providers. From there, the core node network can act as a self regulating decentralised network where any major action requires the approval of >= 51% of the other core nodes to occur.

New actions that require consensus would include:

  • New core nodes need to be proposed by an existing core node with a deposit of 25k RPL (example) as a security bond.
  • New core nodes need at least >= 51% of existing core nodes approve/deny the proposed new core node entry.
  • Leaving core nodes need at least >= 51% of existing core nodes approve/deny the proposed core node to get their security bond back. Core nodes will have tools to assess if this node should leave.

Perceived Benefits

  • Trusted node network can run itself in a decentralised manner.

Perceived Drawbacks

  • Trusted node operators would be required to do due diligence on new members and assess leaving members (only a drawback from the current model where we have to do it).

Variables

  • Amount of RPL to be used as a security bond. Would be a significant amount to ensure trusted node operators don’t just disappear and act accordingly.

TLDR;

A new system to allow Trusted Nodes to maintain their own network members with a security bond in RPL to ensure good behavior. Replaces the current centralised model where RP can choose all Trusted Node operators.

1 Like

My proposal for value-add backed RPL would be consistent with rewarding the largest value-add node operators with core-node status.

The implication of the trusted node is that only established SAAS providers will be able to achieve this exalted status. However I think that it could be baked into the RP ecosystem that becoming a trusted node operator is a reward that could be earned by an otherwise unknown operator by consistently running an above average performance node.

Over time I expect we will see a number of enthusiastic people with no organisation behind them set out to become RP node operators purely for themselves. Many will demonstrate that they are not very good at that task and will be slashed out of existence. Unfortunately this will detract from the overall RP network performance in comparison with other staking pool providers.

On the other hand some of these no name operators will prove competitive with the established ones and will be an asset to the RP system worth encouraging. However access to enough capital to fund even 16 ETH for another validator may well be beyond them.

So maybe “promotion” to become a trusted node operator could be proceduralised so that aspirants can plan accordingly. Perhaps there could be a reward pool funded out of RPL inflation which would provide the RPL necessary to become a trusted node. Or maybe there could a probationary period with a lower RPL deposit and an “earn in” based on performance.

My hope is that by doing this RP captures the best node operators available which in turn ensures that the network performs in the top 10% of all ETH2 pools. This turn will ensure that when multi million ETH portfolios are allocated for staking by institutions RP is a must have staking service for them.

Coupled with this approach there should also be an ongoing PR campaign to make sure that RP is not just a best kept secret in this regard.

What is the current thinking on the size of the bond for trusted nodes? Having it set at zero seems like a perverse incentive from a network perspective.

I assume you have a smaller bond in mind (e.g 1 ETH per mini pool) but can’t find any documentation on it.