Files
zeekay f4ee7a0525 Publish under the org, not a person
Bylines, paper authorship, correspondence addresses and the founder blurb under
each post named an individual. They name the organisation that published the
work instead: the brand on posts and pages, the research byline on papers, and
research@ in place of a personal address. Both are what these repositories
already used elsewhere — nothing new was coined.

Co-authors are untouched. Where a paper named someone else alongside, they stay
named; only the one byline changed. Bibliography entries, running heads,
PDF metadata and affiliations move with it, so a citation still resolves to
whoever the cited paper names.

Sample and fixture data uses the placeholder name these tests already use
elsewhere, so no assertion changed meaning.
2026-09-01 08:58:10 -07:00

196 lines
7.8 KiB
TeX

\documentclass[11pt,a4paper]{article}
\usepackage{../../shared/luxcover}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{amsmath,amssymb}
\usepackage{graphicx}
\usepackage{hyperref}
\usepackage{booktabs}
\usepackage{enumitem}
\usepackage{xcolor}
\hypersetup{colorlinks=true,linkcolor=black,citecolor=blue,urlcolor=blue}
\title{Lux MPTC Experimental Evaluation}
\author{
Lux Research\\
\textit{Lux Industries, Inc.}\\
\texttt{[email protected]}
}
\date{2026-03-03}
\begin{document}
\luxcoverpage
\section*{Abstract}
\noindent We present Lux, a hybrid post-quantum consensus architecture for DAG-native chains. Lux separates fast operational finality from durable post-quantum finality. Validators emit Photons over a Nebula DAG substrate; classical BLS aggregates form Beams for low-latency confirmation, while ML-DSA attestations and Pulsar lattice-threshold Pulses provide post-quantum finality over Nebula roots. Prism binds all certificate lanes to the same transcript, and Quasar reaches Horizon finality when the bound lanes verify.
\textbf{This document.} The experimental evaluation summary for the NIST MPTC submission. Detailed numbers, methodology, hardware, and reproduction commands live in the companion benchmark report \cite{luxbenchmarks}; this document summarizes the headline results and points at the full report.
\section{Headline numbers}
All numbers on Apple M1 Max single core, $n = 21$, freeze tag \texttt{v0.1.0-rc1-pq-consensus-freeze}. Full reproduction in \cite{luxbenchmarks}.
\subsection{Sign / verify per scheme}
\begin{tabular}{@{}lrr@{}}
\toprule
\textbf{Scheme} & \textbf{Sign} & \textbf{Verify} \\
\midrule
BLS12-381 (single) & 350 \textmu s & 820 \textmu s \\
BLS aggregate (100 signers) & --- & 875 \textmu s \\
ML-DSA-65 & 495 \textmu s & 250 \textmu s (cached: 3 \textmu s) \\
Ed25519 & --- & 205 \textmu s (cached: 1.1 \textmu s) \\
secp256k1 & --- & 658 ns \\
Pulsar Sign1 (per party, $K=21$) & 185 ms & --- \\
Pulsar Sign2 (per party, $K=21$) & 22 ms & --- \\
Pulsar Verify & --- & 9 ms \\
Lens Ed25519 (per party) & 110 \textmu s sign & 320 \textmu s verify \\
\bottomrule
\end{tabular}
\subsection{Reshare benchmarks (LSS)}
LSS-Pulsar resharing $(t, n) \to (t, n)$ at sizes $\{3, 7, 21, 64, 128\}$, local-loop simulation:
\begin{tabular}{@{}rrr@{}}
\toprule
$\mathbf{n}$ & \textbf{Pulsar reshare (ms)} & \textbf{Lens reshare (ms)} \\
\midrule
3 & 360 & 0.7 \\
7 & 570 & 1.8 \\
21 & 960 & 5.2 \\
64 & 2440 & 16.5 \\
128 & 4730 & 33.0 \\
\bottomrule
\end{tabular}
Lens is $\sim 100$--$200\times$ faster per-party. Lens is classical (curve discrete log); Pulsar is post-quantum (Module-LWE). The trade-off is the production reason both kernels exist.
\subsection{Activation cert latency}
Pulsar activation cert at $K = 21$:
\begin{tabular}{@{}lr@{}}
\toprule
\textbf{Phase} & \textbf{Time} \\
\midrule
Sign1 + Round1Pre (local-loop) & 480 ms \\
Sign2 + Combine (local-loop) & 280 ms \\
Verify & 9 ms \\
\midrule
\textbf{Total local-loop} & \textbf{$\sim 760$ ms} \\
\textbf{Total cross-WAN p99} & \textbf{$\sim 880$ ms} \\
\bottomrule
\end{tabular}
\subsection{Warp 2.0 envelope verify}
Destination-side verify latency, $n = 21$:
\begin{tabular}{@{}lr@{}}
\toprule
\textbf{Path} & \textbf{Time} \\
\midrule
Beam-only & $\sim 900$ \textmu s \\
Beam + Pulse & $\sim 10$ ms \\
Full Horizon (Beam + ML-DSA + Pulse) & $\sim 15$ ms \\
Beam + Groth16-wrapped ML-DSA + Pulse & $\sim 12$ ms \\
\bottomrule
\end{tabular}
\subsection{Prism composition verify}
Consensus-side full Horizon verify on a Lux mainnet bundle:
\begin{tabular}{@{}lr@{}}
\toprule
\textbf{Step} & \textbf{Time} \\
\midrule
Transcript binding check + $\tau$ compute & 17 \textmu s \\
Beam aggregate verify ($n=21$) & 875 \textmu s \\
ML-DSA cert set verify (21, parallel) & 5.3 ms \\
Pulse verify & 9 ms \\
Validator-set + Nebula linkage check & 38 \textmu s \\
\midrule
\textbf{Total Prism verify} & \textbf{$\sim 15$ ms} \\
\bottomrule
\end{tabular}
\subsection{Cross-WAN $K = 21$ Pulse latency}
\begin{tabular}{@{}lrr@{}}
\toprule
\textbf{Phase} & \textbf{Median (ms)} & \textbf{p99 (ms)} \\
\midrule
Sign1 broadcast (1 WAN crossing) & 240 & 360 \\
Sign1 verify + Round1Pre (local) & 220 & 280 \\
Sign2 broadcast (1 WAN crossing) & 240 & 360 \\
Sign2 verify + Combine (local) & 250 & 320 \\
\midrule
\textbf{Total $K=21$ Pulse} & \textbf{$\sim 950$} & \textbf{$\sim 1320$} \\
\bottomrule
\end{tabular}
Lux mainnet bundle interval is $\sim 3$ s. Pulse latency at p99 is $\sim 1.3$ s --- comfortably under bundle interval. Chain reaches Horizon-final on every bundle in steady state.
\subsection{Pulse latency projections at $K = 64$, $K = 128$}
\begin{tabular}{@{}lrr@{}}
\toprule
$\mathbf{K}$ & \textbf{Median (s)} & \textbf{p99 (s)} \\
\midrule
21 & 0.95 & 1.3 \\
64 & 1.7 & 2.3 \\
128 & 3.0 & 3.9 \\
\bottomrule
\end{tabular}
At $K \geq 100$, p99 approaches the bundle interval; grouped Pulsar (smaller per-group $k$, multiple groups in parallel) is the right answer. Open systems-research: closed-form trade-off between $G$, $k$, $f$, and per-group latency under WAN churn.
\subsection{GPU acceleration headroom}
Projected Pulsar Round 1 GPU speedup over CPU:
\begin{tabular}{@{}lrrr@{}}
\toprule
$\mathbf{K}$ & \textbf{CPU (ms)} & \textbf{GPU projected (ms)} & \textbf{Speedup} \\
\midrule
3 & 95 & 110 & 0.9$\times$ \\
21 & 185 & 75 & 2.5$\times$ \\
64 & 380 & 95 & 4.0$\times$ \\
128 & 740 & 130 & 5.7$\times$ \\
\bottomrule
\end{tabular}
Projection from FHE-class NTT throughput on Apple M1 Max (\cite{luxfhebenchmarks}: 2.1 M poly muls/s). GPU production not enabled on the freeze tag; CPU path is the production default.
\section{Methodology}
\paragraph{Hardware.} Apple M1 Max (10 cores, performance + efficiency), Apple M2 Ultra (24 cores), AMD EPYC 7763 (64 cores). Runs on the M1 performance core; throttling monitored via \texttt{powermetrics} and runs that triggered throttling are discarded.
\paragraph{Software.} Go 1.26.1; \texttt{CGO\_ENABLED=0} for cross-compile, native otherwise. Build / test gate: \texttt{GOWORK=off go test -count=1 -short -timeout 300s ./...} from each canonical repo.
\paragraph{Statistics.} Median of 10 runs at \texttt{benchtime=1s}. Where p99 is reported, 1000-run distribution. Cross-WAN measurements use the production Lux mainnet 5-region deployment (US-East, US-West, EU-West, AP-South, AP-East); WAN RTT distribution is sampled via the operator monitoring stack.
\section{Reproducibility}
Every table above is reproducible from the freeze tag using the listed commands in \cite{luxbenchmarks}. KAT regen (\texttt{pulsar/scripts/regen-kats.sh}) produces byte-equal output across runs. Fuzz harnesses return zero panics in 60 s.
\section{Comparison to claims in older Lux drafts}
Older Quasar drafts cited a ``357 \textmu s epoch finality'' figure that does not match any measured operation in the current code. The honest measured numbers are the ones in this report. Closest real candidates to 357 \textmu s: BLS single keygen (350 \textmu s), ML-DSA-65 sign (495 \textmu s); neither corresponds to ``epoch finality.''
The full Quasar Horizon verify is $\sim 15$ ms CPU; the cross-WAN $K=21$ Pulse latency is $\sim 1$--$1.3$ s. These are the numbers to cite.
\section{Pointers}
For the full benchmark report with reproduction commands and per-platform numbers, see \cite{luxbenchmarks}. For the underlying threshold-cryptography analyses, see the LP-073 paper \cite{luxpulsar}, the LSS paper \cite{luxlssmpc}, the Quasar Horizon paper \cite{luxquasarhorizon}, and the Warp 2.0 paper \cite{luxwarpv2}.
\bibliographystyle{plain}
\bibliography{../references}
\end{document}