hash algorithm: blake2b-256
body: Hard Fork to Protocol Version 10
  abstract: We propose to upgrade the Cardano PreProd test environment to Protocol Version 10. This upgrade will be achieved via a Hard Fork (analogous to Chang#2 on Mainnet). Following the upgrade: 1. The PreProd protocol will be upgraded to Major Version 10 and Minor Version 0 2. All 7 governance actions that are described in CIP-1694 will be enabled 3. DRep voting will be enabled on all 7 governance actions 4. SPO voting will be enabled on all applicable governance actions, as defined in CIP-1694 5. Constitutional Committee voting will be enabled on all applicable governance actions, also as defined in CIP-1694 6. Staking rewards can be accumulated as usual, but can only be withdrawn following delegation to a DRep (including the pre-defined abstain/no-confidence options) 7. Several new Plutus primitives will be available once an update to the Plutus v3 cost model has been ratified In line with the Interim Cardano Constitution: 1. At least 85% of stake pools by stake should have upgraded to a version of the node that can support protocol version 10.
  motivation: Protocol Version 10 enables the remainder of the CIP-1694 functionality, ensuring that DReps can participate in voting on all governance actions. It enables treasury withdrawals, the ability to record a new constitution, updates to the constitutional committee, and votes of no confidence. These are in addition to the 3 existing governance actions that were enabled for Protocol Version 9 by the Chang hard fork (hard forks, parameter updates, and info actions). Following the hard fork, the protocol will support a number of new Plutus primitives that have been defined in CIP-0122, CIP-0123 and CIP-0127. These provide bitwise and logical operations on byte strings, plus RIPEMD-160 cryptographic hashing functionality (for compatibility with BitCoin). These primitives will be enabled by a complementary protocol parameter update governance action.
  rationale: We propose to upgrade the Cardano PreProd test environment to Protocol Version 10. This upgrade will be achieved via a Hard Fork (analogous to Chang#2 on Mainnet). Following the upgrade: 1. The PreProd protocol will be upgraded to Major Version 10 and Minor Version 0 2. All 7 governance actions that are described in CIP-1694 will be enabled 3. DRep voting will be enabled on all 7 governance actions 4. SPO voting will be enabled on all applicable governance actions, as defined in CIP-1694 5. Constitutional Committee voting will be enabled on all applicable governance actions, also as defined in CIP-1694 6. Staking rewards can be accumulated as usual, but can only be withdrawn following delegation to a DRep (including the pre-defined abstain/no-confidence options) 7. Several new Plutus primitives will be available once an update to the Plutus v3 cost model has been ratified In line with the Interim Cardano Constitution: 1. At least 85% of stake pools by stake should have upgraded to a version of the node that can support protocol version 10. ## Technical Evaluation ### Functionality The upgrade enables two main items: 1. The remainder of the CIP-1694 functionality, as described below - notably: DRep voting on all action types, the remaining governance actions, and restrictions on rewards withdrawals. 2. New Plutus primitives as described below. Existing functionality from Protocol Version 9 will be maintained. Full testing reports have been produced for the Cardano node that demonstrate: 1. No behavioral regressions for existing functionality; 2. Conformance between the specification and implementation of the Cardano node for the new CIP-1694 functionality; 3. Correct operation of the new Plutus primitives. ### Security Security audits have been undertaken for: 1. The formal specification for CIP-1694 in Agda; 2. The ledger implementation in Haskell that corresponds to this formal specification A security report will be provided for the new Plutus primitives. ### Perf…
  references: Other
    label: CIP-0122
    uri: https://github.com/cardano-foundation/CIPs/tree/master/CIP-0122
  references: Other
    label: CIP-0123
    uri: https://github.com/cardano-foundation/CIPs/tree/master/CIP-0123
  references: Other
    label: CIP-0127
    uri: https://github.com/cardano-foundation/CIPs/tree/master/CIP-0127
  references: Other
    label: CIP-0135
    uri: https://github.com/cardano-foundation/CIPs/tree/master/CIP-0135
  references: Other
    label: Full List of Ledger Fixes for Protocol Version 10
    uri: https://github.com/IntersectMBO/cardano-ledger/issues/4572
  references: Other
    label: RIPEMD-160 hashing
    uri: https://homes.esat.kuleuven.be/~bosselae/ripemd160/pdf/AB-9601/AB-9601.pdf
  references: Other
    label: Overview of the Plutus Primitve Benchmarking Process
    uri: https://github.com/IntersectMBO/plutus/blob/master/doc/cost-model-overview/cost-model-overview.pdf
  references: Other
    label: Generating and Updating the Plutus Cost Model
    uri: https://github.com/IntersectMBO/plutus/blob/master/plutus-core/cost-model/CostModelGeneration.md
  references: Other
    label: Plutus Primitive Benchmarking Code
    uri: https://github.com/IntersectMBO/plutus/tree/master/plutus-core/cost-model/create-cost-model
  references: Other
    label: Plutus Primitive Performance Results (CSV)
    uri: https://github.com/IntersectMBO/plutus/blob/master/plutus-core/cost-model/data/benching-conway.csv
  references: Other
    label: Cardano Node 10.1.1 Performance Report
    uri: https://updates.cardano.intersectmbo.org/reports/2024-10-performance-10.1.1/
  references: Other
    label: All Cardano Node Performance Reports
    uri: https://updates.cardano.intersectmbo.org/reports/tags/benchmarking-reports