IntersectMBO / IntersectMBO/cardano-node

Dijkstra era scope

Open
#6,634 1 comment 0 reactions 0 assignees View on GitHub
Dijkstra PV12
Dominant language
Haskell
Stars
3.2k
Forks
754
Avg merge
4d 20h
Merged PRs (30d)
20

Description

# Dijkstra era: scope

The Hard Fork Working Group, which brings together people from multiple teams and organizations across the ecosystem, has discussed the scope for the Dijkstra era at length. We wish we could include many more features than we have. Scope has to be set against three things: time to market considerations, the commitments to the community that follow from the projects the community voted for in past Treasury Withdrawal proposals, and the current state of those projects. Weighing those together is what produced the list below.

The following table details what is in scope for Dijkstra.

| Feature | Activation | Owner | New updatable protocol params? | Guardrail-script impact? | Constitution change? |
| :---- | :---- | :---- | :---- | :---- | :---- |
| **[CIP-0164: Leios](https://cips.cardano.org/cip/CIP-0164)** | Dijkstra v12 | Leios team / IO Labs | ✅ | ✅ new params to guard (Plutus team) | ✅ |
| **Peras** | Dijkstra v12: serialization and parameters. Activation at *intra-era* v13 | Tweag by Modus Create | ✅ | ❓ | ❓|
| **[CIP-0118: Nested transactions](https://cips.cardano.org/cip/CIP-0118)** | Dijkstra v12 | Ledger IO Labs | ❌ | ❌ | ❌ |
| **[CIP-0159 phase 1: Accounts Enhancements](https://cips.cardano.org/cip/CIP-0159)** | Dijkstra v12 | Ledger IO Labs | ❌ | ❌ | ❌ |
| **[CIP-0112: Guard scripts](https://cips.cardano.org/cip/CIP-0112)** | Dijkstra v12 | Ledger IO Labs | ❌ | ❌ | ❌ |
| **[CIP-0181: Remove DRep delegation requirement for reward withdrawals](https://cips.cardano.org/cip/CIP-0181)** | Dijkstra v12 | Ledger IO Labs | ❌ | ❌ | ❌ |
| **Fee function update | Dijkstra v12 | Ledger IO Labs | ❌ | ❌ | ❌ |
| [**Plutus V4 context**](https://github.com/IntersectMBO/plutus/issues/7342) | Dijkstra v12 | Ledger IO Labs | ✅ (cost model) | ❌ | ❌ |
| **[Reference script pricing and limits](https://github.com/IntersectMBO/cardano-ledger/blob/master/docs/adr/2024-08-14_009-refscripts-fee-change.md)** | Already active on Conway; needs a constitution update to make the parameters updatable | Leios Product Manager | ✅ | ✅ | ✅ |
| **[CIP-0167: Remove isValid from transactions](https://cips.cardano.org/cip/CIP-0167)** | Dijkstra v12 | Ledger IO Labs | ❌ | ❌ | ❌ |
| **[CIP-0176: Non-segregated block body serialization](https://cips.cardano.org/cip/CIP-0176)** | Dijkstra v12 | Ledger IO Labs | ❌ | ❌ | ❌ |
| **[CIP-0023: Fair Min Fees](https://cips.cardano.org/cip/CIP-0023)** (`minPoolMargin`) | Dijkstra v12: serialization and parameters. Activation at *intra-era* v13 | Ledger IO Labs | ✅ | ❓ | ❓|
| **[CIP-0050: Pledge Leverage-Based Staking Rewards](https://cips.cardano.org/cip/CIP-0050)** (`maxPledgeLeverage`, L) | Dijkstra v12 | Ledger IO Labs | ✅ | ✅ | ✅ |

**On activation:** *Dijkstra v12* is the Dijkstra hard fork itself (protocol version 12). Some features ship their serialization and parameters at v12 but only activate at a later *intra-era* hard fork (v13).

**Outside this scope:** features that do not require a hard fork to be activated may continue to be developed, integrated and released, as long as the addition does not compromise or delay the Dijkstra era.

## New protocol parameters and the Constitution

Dijkstra introduces a significant number of new protocol parameters. Under the Constitution, a parameter introduced by a hard fork cannot be changed through a Parameter Update action until it is listed in the Constitution with guardrails defined for it (guardrails **HARDFORK-05** and **NEW-CONSTITUTION-01a**). These new parameters will therefore be added to the Constitution **ahead of the Dijkstra era hard fork**, so that they are governable from the moment the new era begins. This is critical for Leios release plan to Mainnet.

That Constitution Update Proposal will only be submitted once two conditions are met: the Dijkstra CDDL is ready, and the teams agree on reasonable guardrails for each of the new parameters. It will also carry a new guardrails script, which enforces on-chain those guardrails that can be checked automatically.

Contributor guide

Open the contributing guide

Research direction

No source file, test, or implementation entry point is identified. Start by reading the scope table and its linked CIPs and proposals; the issue does not define a concrete change or a verifiable definition of done.

Written by the indexing model from the issue text.

Assessment

Domain
blockchain
Issue type
Documentation
Difficulty
5/5
Estimated time
Over a week
Activity status
Active
Clarity
Needs clarification
Newbie friendliness
15/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.