Determine Voting Criteria (RPIP-4) [eligible voters: all nodes]
This page reproduces proposal text and published results preserved from Snapshot. It reflects the archive capture below.
Archive capture completed:
Published voting information
State at capture
closed
Voting type
single-choice
Created
2023-10-10 07:19:02 UTC
Voting opened
2023-10-10 07:19:02 UTC
Voting closed
2023-10-24 07:19:02 UTC
Snapshot block
18318507
Participation score
13005.464519729268
Published quorum
7393.358640197937
Quorum type
default
Recorded ballots
294
Published choice scores
Choice
Score
All nodes eligible
9672.615639930176
≥10% borrowed ETH eligible
3246.89754621223
Abstain
85.95133358687534
Preserved proposal text
Original text, including Markdown notation. Linked content is not reproduced here.
This vote will determine eligible voters for future pDAO governance votes.
There are two concurrent votes to determine voting criteria:
- `Determine Voting Criteria (RPIP-4) [eligible voters: all nodes]`
- `Determine Voting Criteria (RPIP-4) [eligible voters: nodes w/RPL ≥10% borrowed ETH]`
These votes are identical except that different strategies were used to determine voter eligibility. Vote power was calculated the same way, etc.
# Context around the situation
RPIP-4 defines who gets to vote: `To be eligible for vote participation, the RPL must be effectively staked in the Rocket Pool protocol as reported by getNodeEffectiveRPLStake().`
This is currently interpreted by people multiple ways, including at least:
- It was meant to be effective stake (10-150%); the function was not there as a definition, but as an implementation that was bugged. Fixing the bugged function (and vote weight) was proper.
- Effective stake is defined in the RPIP using the function at the time. Fixing the bugged function (and vote weight) was inappropriate without pDAO input.
- It's ambiguous.
Before Atlas, `getNodeEffectiveRPLStake()` counted all RPL below 150%. After Atlas, this function returned 0 if the node had less RPL staked than the value of 10% of borrowed ETH. The voting body *was* changed with Atlas release - whether that was ok depends on where you land above. Since this is about voting, we can't do a single vote to figure out what we want -- the set of people that should vote on that is in question (ie, this is a bootstrap problem). This is why the approach is to vote using both possible voting bodies to determine eligibility moving forward.
# Outcomes
- If both concurrent votes `(Determine Voting Criteria (RPIP-4) [eligible voters: all nodes]` and `Determine Voting Criteria (RPIP-4) [eligible voters: nodes w/RPL ≥10% borrowed ETH])` have matching results, the RPIP Editors are instructed to clarify RPIP-4 and RPIP-8 per those results
- Implementation for [eligible voters: all nodes (commit a967777)](https://github.com/rocket-pool/RPIPs/pull/85)
- Implementation for [eligible voters: nodes w/RPL ≥10% borrowed ETH (commit f0be7ac)](https://github.com/rocket-pool/RPIPs/pull/86)
- If the votes do not match, or quorum fails on either vote, no action is taken
- Other votes will remain blocked until a future successful attempt to determine the voting body
# Further context
- [Ongoing forum conversation](https://dao.rocketpool.net/t/rpip-4-discussion-who-should-vote/2249)
- Val suggests a clarification and [polls for overwhelming consensus](https://dao.rocketpool.net/t/rpip-4-effective-rpl-10/2068/7) -- it's clear that there's no overwhelming consensus
- Patches suggests the concurrent vote path, which enjoyed strong support in the poll
- Deep dive:
- [Full forum thread](https://dao.rocketpool.net/t/rpip-4-effective-rpl-10/2068) that included both of the highlighted posts. Note that the initial topic is slightly different and that incidentally raised this point of ambiguity.
- Selected discord discussions: [1](https://discord.com/channels/405159462932971535/405163713063288832/1148270849401565315), [2](https://discord.com/channels/405159462932971535/774497904559783947/1150386963153698898)