Skip to content

[help-wanted] Extend the ML-DSA precompile PoC (criterion benchmark + aggregation exploration) #28

@Fiyiware

Description

@Fiyiware

Context

poc/ml-dsa-precompile/ is a minimal Rust PoC of the core of QRB's planned DSARECOVER precompile — ML-DSA-65 verification via the fips204 crate, with real sizes and a rough timing. It's the seed of the funded Phase 1 Reth-fork work. This issue is about taking it a step further. Pick any one — each is independently useful.

The concrete asks

  1. Proper benchmark. Replace the rough Instant timing with a real criterion benchmark (verify, ideally also keygen/sign), with varied inputs. This number directly feeds the Phase 1 gas-cost model.
  2. Aggregation / batching exploration. The ~3,309-byte ML-DSA-65 signature is the main L2 cost driver. Explore batch verification, signature aggregation, or a size/perf comparison with FN-DSA (FALCON, ~700 B). Even a written analysis is valuable.
  3. Precompile interface sketch. Design the input/output encoding for the verification op as it would live at a fixed address (e.g. 0x101) in a Reth fork — a short design note + a Rust stub is enough to start.

What's in it for you

  • Credit as a contributor on the foundation of the Phase 1 client work.
  • The Phase 1 Rust lead role is named and paid in our NLNet grant application if it lands — see JOIN.md.
  • A real PQ + Rust problem, not boilerplate.

Honest status

Phase 0, unpaid today; Phase 1 (the actual Reth fork) is grant-funded. This is deliberately not a Reth fork yet — building toward it is the point.

How to engage

Comment here, or open a PR against poc/ml-dsa-precompile/. If you're weighing the Phase 1 lead role specifically, JOIN.md is the place.

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions