IntersectMBO / IntersectMBO/formal-ledger-specifications

[LLF1-2] Leios voting crypto: port the abstract-interface polish onto the core BLS primitives

Open
#1,298 0 comments 0 reactions 0 assignees Claimed by @ch1bo View on GitHub
era: dijkstra Leios
Dominant language
Agda
Stars
52
Forks
20
Avg merge
6d 14h
Merged PRs (30d)
7

Description

**Re-scoped 2026-08-31**.

The fork trial's `LeiosAbstract` record (williamdemeo/formal-ledger-specifications#16) is superseded by the BLS primitives #1300 adds to `Ledger.Core.Specification.Crypto` (`BlsVKey`, `BlsSig`, `BlsPoP`, `isValidPoP`, `isSignedByAggregate` over `Ser`, the key-hash order `_<ᵏʰ_`, and the `BlsKeyMaxAgeᶜ` genesis constant).

Core placement was this plan's follow-up destination anyway, and it dissolves the `GovStructure` threading together with the naming concern raised against it.

What remains is the port of the interface polish:

- [ ] Single-vote verification: `isSignedBy` for one BLS key over `Ser` (the message is the announcing RB header hash), with a decidability instance; `validateVote`'s ledger half needs it, and `isSignedByAggregate` does not subsume it.
- [ ] Confirm decidability and `DecEq` coverage on all new crypto fields, and the no-signing-side discipline (only verification enters the rules), recorded in module prose.
- [ ] Module prose: the BLS12-381 MinSig instantiation (96-byte keys, 48-byte signatures and proofs of possession), the rogue-key rationale for the mandatory proof of possession, and the Peras-sharing intent of the core placement.
- [ ] Retire the fork module: close williamdemeo/formal-ledger-specifications#16 with a pointer here; `EBHash`, `TxRefHash`, and `hashEBRefs` move to [LLF1-3].

These items can be done either as review suggestions on #1300 or as a small PR on top of it.

Subissue of #1295.

Contributor guide

Open the contributing guide

Research direction

Review the BLS primitives added by #1300 in Ledger.Core.Specification.Crypto and compare them with the four remaining checklist items. Confirm single-vote verification, decidability and DecEq coverage, and the requested module prose; then handle retirement of williamdemeo/formal-ledger-specifications#16 while leaving EBHash, TxRefHash, and hashEBRefs for LLF1-3.

Written by the indexing model from the issue text.

Assessment

Tech stack
cryptography
Domain
cryptography
Issue type
Refactor
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.