IntersectMBO / IntersectMBO/mithril

Cardano Node Ledger State Certification - PoC

Open
#2,525 2 comments 0 reactions 0 assignees View on GitHub
roadmap :compass:
Dominant language
Rust
Stars
154
Forks
51
Avg merge
1d 23h
Merged PRs (30d)
38

Description

## 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.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.