Skip to content

Protocol Parameters | Constitution and guardrail changes #755

@CarlosLopezDeLara

Description

@CarlosLopezDeLara

Why

The Ouroboros Leios upgrade necessitates the introduction of new protocol parameters and adjustments to existing ones. To ensure a smooth, secure, and constitutionally compliant transition to the Leios era, it is critical to update the Cardano Constitution, its accompanying Guardrails Appendix, and the on-chain Guardrails Script. Failure to do so would leave a gap in governance, potentially exposing the network to risks from unconstrained parameter changes and making the Leios upgrade non-constitutional, which could lead to rejection by the Constitutional Committee (CC) or DReps. This work directly supports the activation of Ouroboros Leios on mainnet by establishing the necessary governance framework for its operation.

What

This work encompasses the identification and definition of necessary changes to Cardano's governance documents and on-chain mechanisms to accommodate the Ouroboros Leios upgrade.

Scope Includes:

  1. Identification of New Protocol Parameters: Explicitly list all new protocol parameters introduced by Ouroboros Leios (e.g., timing parameters like L_hdr, L_vote, L_diff; size parameters like S_EB-tx, S_EB; and other operational parameters like Maximum Plutus steps per endorser block, Maximum Plutus memory per endorser block, Mean committee size, Quorum size).
  2. Constitutional Amendments:
    • Guardrails Appendix Update: Amend APPENDIX I. CARDANO BLOCKCHAIN GUARDRAILS to include all identified new Leios-specific protocol parameters.
    • Guardrail Definitions: Define specific GUARDRAILS (e.g., minimum, maximum, and inter-parameter relationships) for each new Leios parameter, similar to existing parameters like maxBlockBodySize or maxTxSize. -> Protocol Parameters Committee / Sebastian
    • Classification of Critical Parameters: Determine which new Leios parameters should be classified as "Critical to the Operation of the Blockchain" or "Critical to the Governance System" in the Constitution's Section 2.1. Critical Protocol Parameters, ensuring they adhere to the stricter voting thresholds (e.g., SPO vote as per PARAM-03a).
    • Parameter Grouping Update: Add the new Leios parameters to the relevant "List of Protocol Parameter Groups" in Section 9 of the Guardrails Appendix (e.g., Network Parameter Group, Technical/Security Parameter Group).
  3. Guardrails Script Updates: Update the on-chain Guardrails Script to implement the automated checking mechanisms for all newly defined Leios-specific GUARDRAILS. This involves adding logic to enforce parameter bounds and relationships within the script.
  4. Re-evaluation of Existing Guardrails: Review existing guardrails for parameters like maxBlockBodySize (S_RB) and maxBlockExecutionUnits[steps/memory] to ensure their continued relevance and coherence in the context of Leios' parallel block processing and increased throughput, and adjust if necessary. What about activeSlotCoefficient?

Out of Scope:

  • Changes to the on-chain governance voting thresholds for existing parameter groups, unless directly impacted by the classification of new Leios parameters.
  • If we are including Leios in Dijkstra, similar exercise should be done for other New Protocol Parameters. Some level of coordination will be required but those New Parameters from Dijkstra are not in the scope of this ticket.

Acceptance Criteria:

  • A comprehensive list of new and affected protocol parameters, with proposed guardrails, is integrated into a revised Cardano Constitution draft.
  • The revised Constitution draft is formally reviewed and approved by relevant stakeholders (e.g., Protocol Parameters Committee, Plutus team).
  • A plan for updating the Guardrails Script, including pseudo-code or detailed requirements for its new logic, is approved.
  • The overall constitutional update and guardrail changes are deemed sufficient to enable the safe and constitutional hard-fork to the Leios era.

How

The following approach will be taken to address the constitutional and guardrail updates for the Leios upgrade:

  1. Deep Dive into CIP-164 and Constitution:

    • Thoroughly re-read CIP-164 to ensure a complete understanding of all new components and their associated parameters (L_hdr, L_vote, L_diff, S_EB-tx, S_EB, Maximum Plutus steps/memory per endorser block, Mean committee size, Quorum size).
    • Perform a detailed analysis of the Cardano Constitution, particularly APPENDIX I. CARDANO BLOCKCHAIN GUARDRAILS, to identify relevant sections for modification (e.g., Section 2.1. Critical Protocol Parameters, Section 2.3. Network Parameters, Section 9. List of Protocol Parameter Groups).
  2. Parameter Mapping and Gap Analysis:

    • Create a mapping of all new Leios parameters to the existing parameter categorization (Network, Economic, Technical/Security, Governance) as defined in Section 9 of the Guardrails Appendix.
    • Identify gaps in current guardrails that do not account for Leios-specific parameters or their interactions with existing parameters.
  3. Drafting New Guardrails:

    • For each new Leios protocol parameter, propose concrete GUARDRAILS (min/max values, relationships to other parameters, change frequency recommendations) drawing inspiration from existing guardrail structures (e.g., MBBS-01, MTEU-M-01).
    • Leverage the expertise of the Protocol Parameters Committee to determine initial or recommended values and appropriate guardrail ranges for these new parameters.
    • Classify each new parameter according to its criticality, explicitly stating if it requires an SPO vote (PARAM-03a) or DRep vote (PARAM-05a).
  4. Constitution Draft Creation:

    • Integrate the newly defined Leios parameters and their guardrails into a draft of the APPENDIX I. CARDANO BLOCKCHAIN GUARDRAILS. This will likely involve adding new subsections or expanding existing ones.
    • Update Section 9. List of Protocol Parameter Groups to reflect the inclusion of Leios parameters in their respective groups.
  5. Guardrails Script Requirements Definition:

    • Collaborate with the Plutus team to outline the precise changes required for the on-chain Guardrails Script. This will include:
      • Defining the input parameters for the script to handle Leios-specific values.
      • Specifying the logic for validating the new GUARDRAILS (e.g., if (L_hdr < MIN_L_HDR || L_hdr > MAX_L_HDR)).
      • Ensuring the script correctly handles interactions between Leios and existing Praos parameters.
      • Determining the checkability of each new guardrail (y/x/~).
  6. Review and Iteration:

    • Circulate the draft Constitution changes and Guardrails Script requirements for review within IOG, the Cardano Foundation,Protocol Parameters Committee and key community stakeholders.
    • Iterate on the drafts based on feedback from the Protocol Parameters Committee, Plutus team, and other governance experts.
  7. Finalization:

    • Finalize the proposed constitutional amendments and Guardrails Script update plan.
    • Prepare for the on-chain governance action to propose these changes to the Constitution and Guardrails Script. This action will precede the Hard-Fork Initiation governance action for the Leios upgrade itself.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    Status

    Todo

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions