Rocket Pool - A decentralised RPC provider?

Rocket Pool has at the moment of writing (December 3rd, 2022) around 1,781 Nodes or Node Operators (according to Rocket Pool Explorer). Most of which have multiple minipools running. This represents a huge decetralised network of nodes that operate at nowhere near full capacity. For instance, my node has the capacity to handle more demanding tasks, while my network could handle more traffic. Currently, we are not utilizing all the available resources.

Could we use the existing resources better? I would argue yes, we could think about adding a true decentralised and permissionless RPC service on top of it.

What would such a network look like?

On a high level, we need some kind of load balancing that would be the first instance for an RPC-call, this would then pass it on to the nodes that are close to the request and have enough capacity to handle such a request.

This could be an opt-in service where operators can choose to offer their capacity for a slight fee and allow the network to benefit from their resources. This could be done through a smart contract that would allow for payments. The load-balancer would be responsible for passing the request to the closest node with the most capacity (or lowest fee) and crediting the fee.

Payments can be done via additional RPL rewards which could come from the fees.

Pro’s

  • Decentralised and permissionless RPC provider
  • Utilising existing resources better
  • Additional RPL rewards and more rewards to run nodes
  • More value to the network

Con’s

  • Additional complexity
  • Potentially more security risks
  • Requires additional smart contracts

Not sure if such a service has been considered already within the Rocket Pool Community. It could be a great way to use the resources better while adding additional value to the network and the community.

Seems like a good idea to me. Not sure about how to do the accounting though - and can’t see how/why smart contracts would be required.

One approach might involve an RPC user paying for credits that are associated with a particular authentication token. The RPC provider would then have to prove that they served a request for a given token (to claim a fee, deducted from the credits on that token). But what would be a good way for them to prove that they served the request? (Serving RPC requests does not show up on chain.)

Might be overcomplicating this… If we make it easy - like simply a toggle to participate or not on the smartnode, I think people would do this for free. Which is I think the only price that will really compete in a market with Alchemix and Flashbot RPCs handy already.

Would need one time funding for load balancer dev and smartnode code. Would need ongoing funds for running the server.

This seems more up gitcoin’s alley than GMC since the benefit is mostly the RPC users rather than RP stakeholders. If it was funded this way, could also allow solo stakers to participate.

I agree, I would probably do it for free, given my node is not DDos’ed and validator duties have priorities. Given that the biggest RPC provider do it for free, it could be a nice addon to the decentralization efforts of the space. and offer an alternative.

A model for monetization is something that can be added later. But for the beginning, it could really be to offer a decentralized alternative.

I like this.

Gitcoin donations could be distributed among operator volunteers to support decentralization… this is a nice idea if execution is feasible.

1 Like