IntersectMBO / IntersectMBO/cardano-node
Dijkstra era scope
- 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
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