Lux is not merely adding post-quantum signatures to a chain; it defines a hybrid finality architecture for DAG-native consensus, with protocol-agnostic threshold lifecycle, post-quantum threshold sealing, and cross-chain propagation of Horizon finality.
See LP-105 §Claims and evidence for the canonical claims/evidence table and the ten architectural commitments — single source of truth.
Technical and formal papers covering the Lux multi-consensus blockchain: Quasar consensus engine, post-quantum cryptography, cross-chain bridging, DeFi protocols, and EVM infrastructure.
Each paper lives in its own subdirectory:
papers/
├── shared/ # cover styles, lstlang.tex, paperkit
│ ├── luxcover.sty
│ └── lstlang.tex
├── <paper-slug>/
│ ├── <paper-slug>.tex # main file (\input's sections)
│ ├── <paper-slug>.pdf # compiled output
│ └── sections/ # modular sections
│ ├── 01-intro.tex
│ ├── 02-architecture.tex
│ ├── 03-protocol.tex
│ ├── ...
│ └── 99-bibliography.tex
└── INDEX.md # auto-generated catalogue
cd <paper-slug>
TEXINPUTS=".:..:" latexmk -pdf <paper-slug>.texOr build all:
make allSee INDEX.md for full catalogue of papers.
defense-pack.yaml is the authoritative manifest of the curated bundle
distributed via GitHub Releases
under the defense-pack-* tag prefix. Each entry maps an output filename
to its source repository + relative path (luxfi/papers or hanzoai/papers),
so the pack is fully reproducible from git state — no ad-hoc copies.
Build locally:
# Default: sibling clone at ../../hanzo/papers
bash tools/build-defense-pack.sh
# Custom hanzoai/papers location
HANZO_PAPERS_DIR=/path/to/hanzoai-papers bash tools/build-defense-pack.sh
# Skip UNRESOLVED entries (manifest items with no source yet)
ALLOW_UNRESOLVED=1 bash tools/build-defense-pack.shOutputs land in dist/:
<release>.tar.gz— bundled PDFs underLux-Hanzo-Defense-Pack/<release>.tar.gz.sha256— archive digest<release>.manifest.txt— per-file sha256 digests, sorted
CI: pushing a defense-pack-* tag triggers .github/workflows/defense-pack.yml,
which checks out both repos, builds via the same script, and attaches the
tarball + sha256 + per-file manifest to the GitHub Release. Manual dispatch
also uploads workflow artifacts for inspection.
Reproducibility caveat. The build script makes the archive layer
reproducible (sorted entries, zeroed uid/gid, fixed mtime, gzip without
filename). PDF content itself is non-deterministic across latexmk runs
unless SOURCE_DATE_EPOCH is pinned at compile time — see
tools/build-defense-pack.sh and follow-up in FOLLOW-UPS-2026-05-12.md.
Use <release>.manifest.txt to check whether a divergence is in a single
PDF or in the archive layer.
- One paper, one directory. No top-level .tex files.
- Modular sections. Main .tex \input's
sections/NN-name.texfiles for easy editing. - Shared cover. All papers use
\usepackage{shared/luxcover}and\luxcoverpage. - Shared lstlang. All papers use
\input{shared/lstlang}after\usepackage{listings}. - No AI slop. Technical, dense, citation-supported.
- One paper per concept. Updates over time via versioning, not duplication.