README: independent library + Double-Lattice composition with pulsar

Corona (Ring-LWE) and Pulsar (Module-LWE) are independently usable
threshold ML-DSA libraries — no shared types, no import line between
them. Each can be selected as a chain's sole PQ threshold layer.

The academic Corona upstream (Boschini et al, ePrint 2024/1113) is
referenced as luxfi/nasua (historical reference fork, trusted-dealer
DKG, not for public-chain use). Corona is the production track that
adds the lifecycle the academic fork lacks (Pedersen DKG over R_q +
proactive resharing + identifiable abort).

Lux primary-network QuasarCert layers both lattice families as a
Double-Lattice PQ defence with optional BLS classical fast-path and
per-validator ML-DSA-65 rolled up via STARK/FRI through P3Q.
This commit is contained in:
2026-05-12 09:09:42 -07:00
parent f28c574360
commit 8b65ae5c32
+40 -5
View File
@@ -5,9 +5,20 @@
See [LP-105 §Claims and evidence](https://github.com/luxfi/lps/blob/main/LP-105-lux-stack-lexicon.md#claims-and-evidence) for the canonical claims/evidence table and the ten architectural commitments — single source of truth.
**Corona** is the Lux **Ring-LWE** post-quantum threshold signature library
for **Quasar consensus**, derived from [daryakaviani/corona](https://github.com/daryakaviani/corona) (academic 2-round threshold signature from R-LWE) with the protocol additions needed to operate on a **leaderless open public chain**.
for **Quasar consensus**. The 2-round threshold construction line traces back
to Boschini–Kaviani–Lai–Malavolta–Takahashi–Tibouchi's academic R-LWE paper
(ePrint 2024/1113); the academic codebase lives at
[`luxfi/nasua`](https://github.com/luxfi/nasua) (historical reference fork,
trusted-dealer DKG only — not for public-chain use). Corona adds the
production lifecycle that fork lacked: Pedersen DKG over `R_q` with proper
hiding, proactive resharing for epoch validator rotation, identifiable
abort, and the integration surface Quasar consumes.
The Module-LWE sibling library — byte-equal to FIPS 204 single-party ML-DSA per the Class N1 manifesto — lives at [`luxfi/pulsar`](https://github.com/luxfi/pulsar).
The **Module-LWE sibling library** lives at [`luxfi/pulsar`](https://github.com/luxfi/pulsar).
Pulsar's threshold signature output is byte-equal to FIPS 204 single-party
ML-DSA (NIST MPTC Class N1). The two libraries are independent — there is
no import line between them — and Quasar consumes them as parallel kernels
selected per-chain via `FinalitySchemeID`.
## Version note
@@ -35,11 +46,14 @@ Brand-paired with Pulsar (Module-LWE) and Quasar (the consensus that
consumes both): the same family of threshold-finality light, observed at
a different layer.
## Relationship to upstream Corona
## Relationship to academic Nasua (formerly upstream Corona)
The upstream repo at `daryakaviani/corona` is an **academic proof-of-concept** ("not ready for production use" per its README). Corona is the production track:
[`luxfi/nasua`](https://github.com/luxfi/nasua) holds the academic
2-round R-LWE threshold construction (Boschini et al, ePrint 2024/1113)
as a **historical reference fork** — "not ready for production use" per
its origin. Corona is the production track:
| Layer | Upstream Corona | Corona |
| Layer | Academic Nasua | Corona |
|---|---|---|
| 2-round threshold sign | ✅ same byte-equal protocol | ✅ inherited |
| Trusted-dealer Gen | ✅ for fixed federation | ✅ retained for bridge MPC |
@@ -47,6 +61,27 @@ The upstream repo at `daryakaviani/corona` is an **academic proof-of-concept** (
| **Pedersen DKG over R_q** with proper hiding | ❌ not specified | 🚧 **corona/dkg2/** (this fork) |
| Per-validator triple-sign integration with Quasar | ❌ N/A | 🚧 **corona/consensus/** integration |
## Composition with Pulsar as optional layered PQ defense
Corona is independently usable: a chain can pick Ring-LWE Corona as its
sole PQ threshold layer, no cross-dependency on Pulsar. Lux primary-
network QuasarCert combines both lattice families as a **Double Lattice**
layered defence so a break in one family does not break finality:
```
QuasarCert {
BLS — optional classical fast-path (BLS-12-381 aggregate)
Corona — Ring-LWE threshold ML-DSA (this repo)
Pulsar — Module-LWE threshold ML-DSA (luxfi/pulsar)
MLDSARollup — per-validator ML-DSA-65 rolled up via STARK/FRI (P3Q)
}
```
Each layer is checkable independently with no shared code; selecting
the layer happens at chain-construction time via the `FinalitySchemeID`
axis on the chain's `ChainSecurityProfile`. The pure-PQ profile drops
BLS entirely and runs on `Corona + Pulsar`.
## Layout
- `sign/` — 2-round threshold signing (byte-equal with upstream)