aere-research/pq-finality-circuit/README.md
Aere Network 6cb0140fae Republished from a clean root: the compiled artifact is gone from history, and the local line of work joins the sanitized public line
The public history carried kat/__pycache__/mlkem768_reference.cpython-314.pyc,
a compiled Python artifact embedding the operator's absolute local path. Text
secret scanners do not read compiled binaries, which is exactly how it slipped
through, and removing it from the tip would have left it reachable through the
old root commits. So this repository is republished from a single clean root.

This root also carries, from the previously unpublished line of work:
- corrected LICENSE year, LICENSING.md, VERIFY-POLICY.md, and
  CITATIONS-UNRESOLVED.md remeasured 2026-08-11 (101 paths, README aligned)
- O-018: run_consensus_verification.py ran 19 of 29 models and reported PASS;
  it now runs all 29, and computemarket_smt.py gains resolveByTimeout /
  reclaimUnsettled cases plus a negative control
- O-006: the word 'audited' removed from next to Bouncy Castle, twice, after a
  concurrent edit resurrected it
- O-014: prior art named and dated - Algorand's native falcon_verify shipped
  about ten months before AERE's precompiles; the primacy claim is withdrawn
  where it was implied
- bench/ scripts parametrized so they actually run for an outsider (the
  earlier textual sanitization left $STAGING unexpanded inside Python strings)
- AIP-2/AIP-3 errata with measured figures, spec remeasurements at 2026-08-01,
  and the spec-zk-stack retractions (owner is an operational key, not the
  Foundation; 'maximally sound' withdrawn; aggregator V1 deprecated)
The redacted bench-host environment files from the sanitized line are kept
exactly as published; the unredacted local variants are not carried.
2026-08-15 13:52:14 +03:00

51 lines
1.9 KiB
Markdown

# pq-finality-circuit
The off-chain research core of the Aere Network Post-Quantum Finality Certificate
(research item #4).
## What is here
`xmss-verify-core/` is the IMPLEMENTED and TESTED per-validator VERIFICATION CORE: an
RFC 8391 XMSS-SHA2_10_256 hash-based signature verifier (WOTS+ one-time signature plus
the XMSS Merkle authentication-path check that recovers the root public key). It is the
exact inner computation the aggregation zkVM guest runs for each validator. It is
`no_std`, allocation-free, float-free, hash-only, deterministic, and has ZERO external
dependencies, so it tests fully offline.
It is validated against the OFFICIAL github.com/XMSS/xmss-reference known-answer vector
committed at `../../contracts/test/fixtures/xmss-sha2_10_256-kat.json`, the same vector
the deployed on-chain `AereXmssVerifier.sol` uses.
## Run the test
```
cd xmss-verify-core
cargo test --offline
```
Expected: 12 tests pass. The genuine official signature verifies (recovers the official
root); every tamper (WOTS+ value, checksum chain, auth node, message, leaf index,
claimed root, R randomizer) fails; and the bundled SHA-256 matches FIPS 180-4.
## Regenerate the test vector
```
node scripts/gen_vectors.mjs
```
Reads the committed official KAT JSON and rewrites `xmss-verify-core/src/vectors.rs`, so
the Rust vector is provably derived from the official fixture with no hand transcription.
## Honest scope
- IMPLEMENTED and TESTED: the verification core (this crate).
- NOT implemented, `[MEASURE]`, multi-week specialist work: the full zkVM aggregation
guest, the SP1 proving pipeline, and the end-to-end certificate.
- UNCHANGED and fail-closed: the on-chain verifier and registry under
`../../contracts/contracts/pqfinality/`.
This is the ADDITIVE post-quantum finality-attestation read path. Aere consensus stays
classical ECDSA QBFT. Post-quantum finality is NOT live end to end.
Full design and effort estimate: `../../docs/AERE-XMSS-AGGREGATION-CIRCUIT.md`.