Cardano Node Ledger State Certification - PoC

Open
#2,525 2 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 2 days

Nobody has claimed this yet.

Assessment

Difficulty
5/5
Estimated time
Over a week
Newbie friendliness
35/100
Issue type
Feature
Clarity
Needs clarification
Activity status
Quiet
Tech stack
rust

Research direction

The PoC targets Cardano ledger state in the ledger/ directory and the InMemory UTxO-HD flavor. Start by tracing how deterministic ledger snapshots are produced and how Mithril signers build multi-signed protocol messages. Done means validating whether independent nodes can compute matching ledger-state hashes and include that hash in a multi-signature.

Written by the indexing model from the issue text.

Description

roadmap :compass:

Why

Today, the Cardano ledger state (the accumulated UTxO set, stake snapshots, and other chain state stored in the ledger/ directory) is distributed as part of the ancillary files and is not certified by Mithril multi-signatures. Instead, the aggregator signs a manifest of the ancillary files using IOG-owned Ed25519 keys, providing authenticity from a single trusted party rather than the decentralized trust of the Mithril protocol.

The root cause is that the Cardano node has historically not produced deterministic ledger snapshots: different nodes running the same chain produce different binary representations of the ledger snapshots. Since Mithril multi-signatures require all signers to independently compute the exact same hash, non-deterministic output makes it impossible for signers to agree on a common message to sign.

The Cardano node is introducing support for deterministic ledger snapshots, but uncertainties remain around the different UTxO-HD flavors (Legacy, InMemory, LMDB) and their determinism guarantees. The goal of this PoC is to validate the end-to-end feasibility: can multiple Mithril signers independently compute matching hashes of the ledger state from their local Cardano nodes, and can this hash be included in a multi-signed protocol message? This will surface any blockers before committing to a production implementation.

What

Implement a Poc of Cardano node ledger state certification for InMemory UTxO-HD ledger flavor.

Dominant language
Rust
Stars
155
Forks
52
Avg merge
2d 17h
Merged PRs (30d)
37

Getting set up

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from IntersectMBO/mithril

All issues in IntersectMBO/mithril

Similar issues

More Rust issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.