Files
papers/lux-triple-proof-consensus/sections/07-performance.tex
zooqueen ed0d9cabdf Reconcile Corona/Pulsar taxonomy: both are Module-LWE
Scrub residual Ring-LWE mislabels of the Corona/Pulsar threshold
signature family per canonical decision-b (source: ringtail/sign/config.go
M=8,N=7, q=0x1000000004A01).

- Corona = Module-LWE (Ringtail-derived parameter set, A in R_q^{8x7}),
  not Ring-LWE / not "Module-LWE at rank 1".
- Pulsar = Module-LWE (ML-DSA-65, FIPS-204 byte-equal).
- Corona+Pulsar differ by parameter regime/codebase, NOT hardness family:
  intra-lattice parameter/implementation diversity, NOT family-disjoint.
- True family-disjoint defense = Magnetar (hash, SLH-DSA) / HQC (codes).

Reframed the false Corona(R-LWE)-vs-Pulsar(M-LWE) family-independence
across lp-219/lp-220/lp-222/lp-223 (P3Q kinds), lux-quasar-composition
(profile hardness table + composition corollary/proof), lux-magnetar-pq,
and the superseded triple-proof/quasar drafts (anonymous lattice
threshold lane = Corona). Legitimate FHE/TFHE Ring-LWE, NTT citations,
and neutral "rank-1" lattice facts left intact. PDFs rebuilt.
2026-06-20 02:26:47 -07:00

62 lines
1.7 KiB
TeX

\section{Performance}
\subsection{Benchmarks}
Measured on Apple M1 Max (10 CPU cores, darwin/arm64, Go~1.26.1).
GPU numbers are estimated; all others are \texttt{go~test~-bench} output~\cite{lux-benchmarks}.
\begin{center}
\begin{tabular}{lr}
\toprule
\textbf{Operation} & \textbf{Time} \\
\midrule
BLS sign & 350\,$\mu$s \\
BLS verify (single) & 820\,$\mu$s \\
BLS aggregated verify ($N$=100) & 875\,$\mu$s \\
ML-DSA-65 sign & 495\,$\mu$s \\
ML-DSA-65 verify (raw) & 181\,$\mu$s \\
ML-DSA-65 verify (via fx) & 254\,$\mu$s \\
ML-DSA-65 verify (cached) & 3\,$\mu$s \\
Groth16 prover (CPU) & ${\sim}400$\,ms \\
Groth16 prover (GPU, est.) & ${\sim}5$--$15$\,ms \\
Groth16 verify (3 pairings, CPU) & ${\sim}1$--$3$\,ms \\
Quasar block processing (BLS+ML-DSA+Corona) & 1.85\,ms \\
\textbf{QuasarCert total CPU verify} & \textbf{${\sim}2$--$5$\,ms} \\
\bottomrule
\end{tabular}
\end{center}
\subsection{Storage}
At 1ms block times (1,000 blocks/second):
\begin{center}
\begin{tabular}{lrrr}
\toprule
\textbf{Component} & \textbf{Size} & \textbf{Frequency} & \textbf{Annual} \\
\midrule
Block header & 144 B & 1,000/s & 4.5 TB \\
Epoch proof & 258 B & 1/s & 8.1 GB \\
\midrule
\textbf{Total (without tx data)} & & & \textbf{$\sim$4.5 TB} \\
\bottomrule
\end{tabular}
\end{center}
With pruning (retain only epoch proofs after 30 days):
\begin{center}
\begin{tabular}{lrrr}
\toprule
\textbf{Component} & \textbf{Retained} & \textbf{Annual} \\
\midrule
Recent blocks (30 days) & 144 B $\times$ 1000/s $\times$ 30d & 373 GB \\
Epoch proofs (permanent) & 258 B $\times$ 1/s $\times$ 365d & 8.1 GB \\
\midrule
\textbf{Total (pruned)} & & \textbf{$\sim$381 GB} \\
\bottomrule
\end{tabular}
\end{center}