Files
papers/lux-quantum-consensus/sections/05-performance-optimization.tex
zeekay 75a04faa36 papers: best-effort accuracy fixes from swarm (dates, arithmetic, internal consistency, LP numbering)
Resolves high-severity review findings: anachronistic dates aligned to citation
floors; arithmetic corrected to match formulas; internal contradictions
collapsed to the body-supported value; LP self-references aligned to filenames;
liquidity-surface repo paths scrubbed; AI-slop trimmed. PDFs rebuilt separately.
2026-06-27 02:16:34 +00:00

62 lines
1.5 KiB
TeX

\section{Performance Optimization}
\subsection{Signature Aggregation}
\textbf{Challenge}: ML-DSA signatures are 100$\times$ larger than ECDSA.
\textbf{Solution}: Use lattice-based aggregate signatures \cite{boneh2003aggregate}:
\begin{equation}
\text{Agg}(\sigma_1, \ldots, \sigma_n) = \sigma \quad \text{where } |\sigma| = O(1)
\end{equation}
\textbf{Result}:
\begin{itemize}
\item Single signature: 3,293 bytes
\item 100 validators: Still 3,293 bytes (constant!)
\item Network bandwidth: 100$\times$ reduction
\end{itemize}
\subsection{Parallel Verification}
ML-DSA verification is parallelizable:
\begin{lstlisting}[language=Go]
func VerifyBatch(sigs []Signature, msgs []Message) bool {
results := make(chan bool, len(sigs))
for i := range sigs {
go func(idx int) {
results <- dilithium.Verify(sigs[idx], msgs[idx])
}(i)
}
for range sigs {
if !<-results { return false }
}
return true
}
\end{lstlisting}
\textbf{Speedup}: Linear in CPU cores (16-core: 16$\times$ faster).
\subsection{Hardware Acceleration}
We implement lattice operations in AVX-512:
\begin{table}[h]
\centering
\begin{tabular}{lrrr}
\toprule
\textbf{Operation} & \textbf{Software (ms)} & \textbf{AVX-512 (ms)} & \textbf{Speedup} \\
\midrule
Key generation & 0.15 & 0.04 & 3.75$\times$ \\
Signing & 0.25 & 0.08 & 3.13$\times$ \\
Verification & 0.12 & 0.05 & 2.40$\times$ \\
\bottomrule
\end{tabular}
\caption{ML-DSA performance with AVX-512}
\end{table}