Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CIP-1694 | SPO pre-defined voting options #916

Open
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

adamrusch
Copy link

Addition of language that allows for SPOs to delegate to pre-defined voting options. PR created by Adam Rusch and Johnny Kelly. Idea for achieving SPO pre-defined voting options came from Martin Lang of ATADA Stake Pool at the September 23, 2024 Ledger Working Group meeting.

Addition of language that allows for SPOs to delegate to pre-defined voting options.
@lehins
Copy link
Contributor

lehins commented Sep 23, 2024

Here is the ticket on the Ledger side that goes into some reasons and outlines more specifics of this change: IntersectMBO/cardano-ledger#4645

Cross referencing it for anyone interested in following progress on implementation of this feature.

@rphair rphair changed the title SPO pre-defined voting options CIP-1694 | SPO pre-defined voting options Sep 24, 2024
@rphair rphair added Update Adds content or significantly reworks an existing proposal State: Triage Applied to new PR afer editor cleanup on GitHub, pending CIP meeting introduction. labels Sep 24, 2024
@Hornan7
Copy link
Contributor

Hornan7 commented Sep 25, 2024

I second that PR by saying, 'That's about time!' 😅🥰👍

@@ -488,7 +491,7 @@ Depending on the type of governance action, an action will thus be ratified when

* the constitutional committee approves of the action (the number of members who vote `Yes` meets the threshold of the constitutional committee)
* the DReps approve of the action (the stake controlled by the DReps who vote `Yes` meets a certain threshold of the total active voting stake)
* the SPOs approve of the action (the stake controlled by the SPOs who vote `Yes` meets a certain threshold over the total delegated active stake for the epoch)
* the SPOs approve of the action (the stake controlled by the SPOs who vote `Yes` meets a certain threshold of the total active voting stake, excepting Hard Fork Governance Actions)
Copy link
Contributor

@Hornan7 Hornan7 Sep 25, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The total active voting stake for SPOs usually doesn’t include 'Auto-Abstain' in the calculations for any governance actions, including hard fork governance. Since hard forks will not include 'Auto-Abstain' and 'No-Confidence' voting options, wouldn’t it be better to rephrase this with the assumption that we are effectively discussing active stake delegated to stake pools, rather than just the active stake that has voted?

@@ -515,7 +518,7 @@ The following table details the ratification requirements for each governance ac
The DRep vote threshold that must be met as a percentage of *active voting stake*.

* **SPOs**<br/>
The SPO vote threshold which must be met as a percentage of the stake held by all stake pools.<br/>
The SPO vote threshold which must be met as a certain threshold of the total active voting stake, excepting Hard Fork Governance Actions. Due to the need for robust consensus around Hard Fork initiations, these votes must be met as a percentage of the stake held by all stake pools. <br/>
Copy link
Contributor

@Hornan7 Hornan7 Sep 25, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same here. To dispel confusion about what constitutes 'active voting stake' for SPOs, it's important to note that the 'Auto-Abstain' voting option is typically not included in the 'active voting stake' calculations, while 'Auto-No-Confidence' is. Should we add some additional clarifications regarding the hard fork exception?

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The SPOs' relationship to the Automated Voting Options being added as a Note after the Automated Voting Options section is placed to dovetail off of the existing explanations of how these options affect the Active Voting Stake.

Copy link
Collaborator

@rphair rphair left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I won't be at the next CIP meeting when this is introduced (https://hackmd.io/@cip-editors/98), but just in case it's undisputed & perhaps can be merged there, I'm endorsing this in advance due to the approval of the Ledger team & governance advocates.

@Ryun1
Copy link
Collaborator

Ryun1 commented Oct 1, 2024

hello!

Thanks for the pull request @adamrusch and team, I am a fan of this.

Changing active CIPs once marked as active has proven to cause compatibly issues.
Tooling claiming to be CIP-1694 compliant will no longer be.

May I suggest that we change this to be its own proposal (I know it will be brief) but I feel this will make tracking compatibility much easier.

@lehins
Copy link
Contributor

lehins commented Oct 1, 2024

@Ryun1 I'd like to argue against your suggestion. Technically CIP-1694 is not yet fully active. It will only be active after the bootstrap phase is over with Chang+1 HF, which is exactly when the full CIP-1694 goes into affect. This feature that is being described in the PR is something that is currently being implemented for the Chang+1 HF in Ledger.

So, if we do this change in a separate CIP, technically then ledger will not be CIP-1694 compatible 😉

We also discussed this on a call and @disassembler and @kevinhammond also made the same suggestion: just amend the existing CIP-1694.

@rphair rphair requested a review from perturbing October 2, 2024 21:21
@perturbing
Copy link
Collaborator

I see that a separate CIP is not necessary, but I want to guard against inconsistencies with this change to CIP 1694.

Are you sure that the suggested changes cover all things that should change?

For example, is line 722 still correctly formulated?

@Hornan7
Copy link
Contributor

Hornan7 commented Oct 3, 2024

Are you sure that the suggested changes cover all things that should change?

For example, is line 722 still correctly formulated?

I believe line 722 is indeed correctly formulated.

That being said, I suggested more clarification in this comment (on line 521):
#916 (comment)

I believe line 494 and 521 should probably be revised. As it is currently written, it suggests that the thresholds for hard forks are exempt from being calculated based on 'active voting stake.' In reality, even for a hard fork, it's still necessary to meet a threshold of active voting stakes. The only exceptions are the exemption of 'auto-abstain' and 'auto No-confidence' voting options regarding 'Hard-fork initiation' governance action.

@perturbing
Copy link
Collaborator

Thank you, @Hornan7 :)

And for completeness, do you think we should add some line from this issue for context somewhere in the CIP?

@Hornan7
Copy link
Contributor

Hornan7 commented Oct 3, 2024

And for completeness, do you think we should add some line from this issue for context somewhere in the CIP?

I think Johnny Kelly and Adam Rusch did a great job with this PR. It summarizes the changes to the ledger well in the CIP-1694, though I believe the part mentioned above could be slightly modified. 😇

@Ryun1
Copy link
Collaborator

Ryun1 commented Oct 5, 2024

@lehins

My main motivation for wanting this in its own proposal is for communication reasons
It is a lot simpler to communicate "heads up new Ledger CIP-????" rather than CIP-1694 is changing again
Having this change in its own proposal, gives the authors a chance to fully describe the motivation and rationale for this making communicating easier

Furthermore much tooling has considered itself CIP1694 compliant, having tested across different networks with and without bootstrapping
Changing CIP1694 will now mean these tools are not compliant, and it is a challenge to reach out to all these tools to let them know

Anyway, seems like the sentiment is against me on this one 😆
If this is to stay as a change to CIP1694, I must request a few changes

  • Please update the ChangeLog section
  • Please add the rationale for this change to the Rationale section
    • Capturing the motivation for this change I feel is really important
    • Currently the change is proposed but there is no description on WHY this is changing, and what problem this solves

cc @adamrusch

@Hornan7
Copy link
Contributor

Hornan7 commented Oct 5, 2024

While I appreciate your perspective on the benefits of creating a separate CIP, I believe it is crucial to maintain and update CIP-1694 instead. This document serves as the official key reference for how Cardano's governance features operate at the protocol level and is integral to our governance framework.

The CIP-1694 is also referenced multiple times in the Interim Constitution:

  1. Appendix 1 - Cardano Guardrails Introduction: This section states that implementing on-chain governance requires establishing guardrails based on CIP-1694 to ensure the Cardano Blockchain operates securely and sustainably.

  2. Guardrail 2.5 - Governance Parameters: This section emphasizes that the goals of managing governance parameters include ensuring governance stability and maintaining a representative form of governance as outlined in CIP-1694.

  3. Guardrail Script 9: CIP-1694 is cited multiple times within this section, reinforcing its role as a foundational document for governance practices during the Interim Period.

Given that the CIP-1694 is already established as the main reference point in the Interim Constitution, creating a new CIP for this change would imply significant modifications to the Constitution itself to incorporate this new reference. This could lead to confusion and misalignment within our governance framework if these changes are not done concurrently in both documents.

As Alexei mentioned, we are still in the bootstrap phase, which is why I also believe we should prioritize updates to CIP-1694 to ensure it accurately reflects our governance processes. 😃👍

@rphair
Copy link
Collaborator

rphair commented Oct 6, 2024

I'm sorry for not contributing much so far beyond agreeing with the points everyone is making on both sides. I can see how a trail of distinct CIPs documenting any changes to the baseline would be important as @Ryun1 is saying. I also can see why it's necessary at this point to confine the sum of this behaviour to CIP-1694 alone, as a special case beyond this generally desirable process, because of CIP-1694's uniquely defined & comprehensive role.

I think what @Ryun1 offers in #916 (comment) would be an excellent compromise — to rationalise and record this update within CIP-1694 itself — and to follow this precedent for any similar updates until some evolutionary change might break that uniquely intimate relationship between CIP-1694 and the overall Governance process.

@rphair rphair added the Category: Ledger Proposals belonging to the 'Ledger' category. label Oct 7, 2024
@rphair rphair added State: Last Check Review favourable with disputes resolved; staged for merging. and removed State: Triage Applied to new PR afer editor cleanup on GitHub, pending CIP meeting introduction. labels Oct 15, 2024
@rphair
Copy link
Collaborator

rphair commented Oct 15, 2024

@adamrusch - consensus at CIP meeting today is that we only await updating as per #916 (comment) before double-checking the added rationale / changelog & then hitting the merge button for this.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Category: Ledger Proposals belonging to the 'Ledger' category. State: Last Check Review favourable with disputes resolved; staged for merging. Update Adds content or significantly reworks an existing proposal
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants