RPIP-1: Formalizing Protocol Changes

RPIP-1: Formalizing Protocol Changes

Summary

Most decentralized and open source projects of sufficient size utilize formal protocol change processes. With the initial launch of Rocket Pool completed, it is the community’s responsibility to organize itself effectively so as to be good stewards of this public good. We should therefore formalize proposals for Rocket Pool improvements.

Motivation

Beyond the ethical considerations outlined above, a more formal process will help with several areas:

  • Preventing low-effort governance proposals
  • Aiding and focusing discussion by providing numbers for specific proposals (e.g. instead of Joe’s latest smoothing pool suggestion, it’s RPIP-32).
  • Substantial step towards more decentralized community governance.

Risks

Creating more bureaucracy may unnecessarily burden the project at this early stage. To manage this risk, we should be mindful to keep the process appropriately simple so that it serves us instead of the other way around.

Proposed Format

EIP-1 is a great starting point for developing our own technical standards and documentation for protocol improvement requests: https://eips.ethereum.org/EIPS/eip-1

Like other projects, I suggest we utilize a repository on the Rocket Pool GitHub account to contain the official version of RPIPs and mirror the contents on this forum for discussion purposes.

Current Status

This repository contains a duplication of EIP-1 with minimal adaptions made for RP, most of which are deletions. RPIP-1 should not be wholly copied from the EIP-1 since not all parts of the document are relevant. The RPIP process may be better served by new Types which are more specific to RP than those described in EIP-1, for example.

Editors

This process will require some curation. Editors should be chosen to facilitate this process and should ideally be compensated for this work, maybe using salary data for technical writers as a starting point. However, community volunteers and development team members are probably an appropriate choice for now. I’m happy to nominate myself as an RPIP editor on a volunteer basis while we get things started.

Conclusion

I would like to open it up to the community to discuss more specific details of RPIP-1 in order to communally create a living RPIP-1 document to define the RPIP process. When an appropriate location in the official Rocket Pool repository is set aside, we can move this document there permanently. Please feel free to submit PRs against the document in its current location until then.

16 Likes

100% agree on the need for a formal process for changes to the protocol. even the collateral switch from 5-20% to 15% flat happened too informally for me, and that’s a pretty important change.

until the pDAO is fully ready, hopefully snapshot voting based on staked RPL can launch in the interim.

5 Likes

Thanks for taking the lead on this. IMO now seems like a great time to start working on getting the right structure and process for DAO-ifying RP. RPIPs, voting, governance, etc.

More than likely this post is part of a broader theme that we have an opportunity to work on to more fully decentralize RP (the protocol).

4 Likes

Thanks for the support! I also made a draft of RPIP-2, located here for now: RPIPs/RPIP-2.md at main · VVander/RPIPs · GitHub

I am also happy to nominate myself as the first RPIP editor and do so on a volunteer basis for now.

1 Like

I like it! One comment I have is that I’d vastly prefer RPIP’s to not be voted on by a 1 coin / 1 vote method. Straight coin voting subverts decision making.

4 Likes

Agreed! Please see here for my proposal on voting: Snapshot Voting

2 Likes

Hey @Wander,

i am going to echo @Marceau on this - but thank you for engaging with this. It was my hope to provide some initial structure to the governance forum but I am pleased that the community have taken it on themselves, as this is a community-wide process.

I like the idea of using the EIP process as a guide, although reviewing the repo I think there might be some opportunity to strip it down to the core elements and then add what we need over time. In an ideal world, someone should be able to understand the process within a couple of minutes.

3 Likes

I think there might be some opportunity to strip it down to the core elements and then add what we need over time. In an ideal world, someone should be able to understand the process within a couple of minutes.

Absolutely agree. I don’t think we need such a formal process for review, including “last call”, etc. Probably easier just to have people draft up an RPIP and request help to edit it.

Right now, RPIP-1 is mostly EIP-1 with bare minimum edits for relevance, but I am working on a branched version that’s more radically reduced. There’s a template here already that might help, too: https://github.com/VVander/RPIPs/blob/main/RPIPs/RPIP-template.md

1 Like

Just wanted to reach out to you and offer my services on this (if needed).

2 Likes

Cool, thanks! I sent you a discord friend request

1 Like

FYI I’ve merged the simpler version of RPIP-1 into main, which includes a quick summary section at the very top. There’s also an in-progress fork of the EIP website in the rpip-site branch.

@jcrtp @langers @nickdoherty @kane @darcius can we get this repository added to the official rocket-pool GitHub? It seems like there’s pretty broad support for this so far.

1 Like

What’s the advantage of using GitHub for RPIPs?

I think this forum works just fine. All discussions would be in one place, you can have the RPIP number in the topic title, Discourse supports Markdown and even has syntax highlighting for code, also no barriers to entry.

There are several difficulties with forums, especially for changes and editing:

  • It’s difficult to track changes (and there are edit limits for posters)
  • Multiple authors are difficult with forum posts
  • Editors can’t review content (e.g. no way to enforce unique RPIP numbers, format, etc)

Personally, I think it’s best to keep informal community discussion and feedback on the forums/discord while using GitHub to actually manage the document. That’s what most projects do, probably for these reasons.


On another note, the dev team has been supportive of RPIPs and wants to add the repository to the rocket-pool GitHub. Looks like we’re just waiting for @langers to get back from vacation in a few weeks.

2 Likes

The EIP editing process is being updated with EIP-5069, which includes some helpful guidelines for editors.

So when can we formalize this?

Hi @Wander,

A new repo for RPIPs is here:

1 Like