Files
papers/lux-pq-consensus-benchmarks/sections/09-named-competitor-comparison.tex
zooqueen a1f77cacc9 papers: retire boschini2024corona key -> ringtail (third-party prior art); fix Pulsar/Corona/Ringtail provenance + lattice labels
Ringtail (Boschini et al., ePrint 2024/1113) is third-party prior art; Lux's
Corona (Ring-LWE = Module-LWE rank-1) builds on it; Pulsar is Module-LWE rank-k.
Retired the conflated boschini2024corona/corona2024/coronago/... bib keys to the
single canonical ringtail/corona/pulsar/magnetar keys, rewrote \cite + \bibitem
by context, and fixed 'Pulsar (Ring-LWE)' mislabels (Corona where corona.metal/
single-ring/Ringtail-derived; Pulsar where Module-LWE rank-k/ML-DSA). Cryptographer-led.
2026-06-19 22:33:10 -07:00

143 lines
7.9 KiB
TeX

%% ====================================================================
\section{Named-Competitor Comparison (Scaffold)}
\label{sec:named-competitors}
%% ====================================================================
The microbenchmarks in Sections~\ref{sec:bench-conclusion} characterise the
Lux PQ-consensus pipeline in isolation. To make the ``better than any other
solution'' claim falsifiable, this section pins concrete competitors and
publishes a comparison-table skeleton populated with literature numbers.
\textbf{Lux columns are marked \texttt{[TBD-measure]}}: they require a
controlled run on identical hardware against each baseline before any
``faster than X'' claim is published. \textbf{Numbers in the
``Literature'' columns are taken from the cited source verbatim.}
\subsection{Competitors}
We restrict the comparison to widely-cited, production-grade BFT pipelines
whose source code and benchmark methodology are publicly auditable:
\begin{itemize}[leftmargin=2em,nosep]
\item \textbf{Tendermint / CometBFT}~\cite{buchman2016tendermint,cometbftgithub}
--- the canonical pre-vote / pre-commit BFT used by every Cosmos zone.
\item \textbf{HotStuff} (and \textbf{HotStuff-2})~\cite{yin2019hotstuff,malkhi2023hotstuff2}
--- the linear-comm BFT that underlies Aptos / DiemBFT.
\item \textbf{Avalanche Snowman}~\cite{rocket2019avalanche,amores2024avalanche}
--- probabilistic-finality protocol, prior art for sub-second
finality on commodity validator sets.
\item \textbf{Mysticeti-C}~\cite{babel2024mysticeti} --- 2024 DAG-BFT
on Sui; the current published latency floor for non-PQ BFT.
\end{itemize}
We deliberately exclude pure classical pipelines that are not BFT
(etcd-Raft) and protocols with no published WAN latency figures (Solana
TowerBFT outside Solana's own marketing material).
\subsection{Per-Validator-Set Latency / Throughput}
\begin{table}[h]
\centering
\small
\begin{tabular}{@{}lrrrl@{}}
\toprule
\textbf{Protocol} & \textbf{Validators} & \textbf{Finality (ms)} & \textbf{Throughput (TPS)} & \textbf{Source} \\
\midrule
\textbf{Lux (BLS lane only)} & 21 & \texttt{[TBD-measure]} & \texttt{[TBD-measure]} & this paper \\
\textbf{Lux (BLS + Pulse)} & 21 & \texttt{[TBD-measure]} & \texttt{[TBD-measure]} & this paper \\
\textbf{Lux (Horizon, $K{=}21$)} & 21 & $\sim$1{,}000--1{,}300 (p99) & \texttt{[TBD-measure]} & Sec.~\ref{sec:bench-conclusion} \\
\midrule
Mysticeti-C & 10 & 500 (commit) & $>$200{,}000 & \cite[Fig.~5]{babel2024mysticeti} \\
Mysticeti-C & 50 & $<$1{,}000 & $\sim$400{,}000 & \cite[Fig.~6]{babel2024mysticeti} \\
Mysticeti-C & 106 & 390 (p50) & --- (re-deployment) & \cite[\S6.3]{babel2024mysticeti} \\
HotStuff (orig.) & 128 & $\sim$700 & $\sim$50{,}000 & \cite[\S5.3]{yin2019hotstuff} \\
HotStuff-2 & 100 & $\sim$400 & --- & \cite[\S6]{malkhi2023hotstuff2} \\
Tendermint / CometBFT & $\sim$100 & 1{,}000--3{,}000 & $\sim$1{,}000--10{,}000 & \cite{cometbftgithub,alqahtani2021bottlenecks} \\
Avalanche Snowman & 2{,}000 & 1{,}350 & 3{,}400 & \cite[Table~5]{rocket2019avalanche} \\
\bottomrule
\end{tabular}
\caption{Finality / throughput comparison populated with literature numbers
for the competitor column. The Lux entries are intentionally \texttt{[TBD-measure]}
because the existing Lux microbenchmarks (Apple M1 Max, single-core, no WAN)
are not directly comparable to the multi-validator WAN deployments reported
for the competitors. The single Lux figure with a value
($\sim$1.0--1.3\,s) is the cross-WAN $K{=}21$ Pulse latency from
Section~\ref{sec:cross-wan-latency}; the throughput is gated by the EVM
execution lane (\cite{luxevmgpu}), not the consensus lane.}
\label{tab:pq-consensus-named}
\end{table}
\subsection{Post-Quantum Verification Cost}
Lux's distinguishing feature is that the PQ verification cost is bounded
and reported. Most baselines either ship no PQ lane (HotStuff, Tendermint,
Snowman, Mysticeti) or ship one without published per-validator-set
benchmarks (e.g.\ ``ML-DSA hybrid'' proposals on Cosmos roadmaps).
\begin{table}[h]
\centering
\small
\begin{tabular}{@{}lrrl@{}}
\toprule
\textbf{Operation} & \textbf{Lux measured} & \textbf{Closest baseline} & \textbf{Source} \\
\midrule
BLS aggregate verify ($n{=}21$) & $\sim$875\,\textmu s & blst $\sim$1.0--1.5\,ms (incl.\ pairing, n=128) & \cite{supranationalblst} \\
ML-DSA-65 single verify & $\sim$250\,\textmu s & FIPS-204 reference $\sim$120--300\,\textmu s & \cite{fips204} \\
ML-DSA-65 cached verify & $\sim$3\,\textmu s & --- & this paper \\
Pulsar Pulse verify & $\sim$9\,ms & no analogous published number & \texttt{[TBD-baseline]} \\
Full Horizon verify (BLS+ML-DSA+Pulse) & $\sim$15\,ms & no analogous published number & \texttt{[TBD-baseline]} \\
PQ-finalised consensus latency (WAN, $K{=}21$) & $\sim$1.0--1.3\,s (p99) & none published & \texttt{[TBD-baseline]} \\
\bottomrule
\end{tabular}
\caption{Per-step PQ-verification numbers vs.\ closest published baselines.
``No analogous published number'' rows are kept honest: they identify the
quantity that competitors would need to publish to rebut Lux.}
\label{tab:pq-step-costs}
\end{table}
\subsection{Reproducibility (what we still need to run)}
\label{subsec:pq-repro}
To populate \texttt{[TBD-measure]} cells in Table~\ref{tab:pq-consensus-named}
with numbers comparable to the competitor literature, a controlled experiment
must be run. The required spec:
\begin{itemize}[leftmargin=2em,nosep]
\item \textbf{Hardware.} 21 nodes; AWS \texttt{c6i.8xlarge} (Intel
Ice~Lake, 32 vCPU, 64\,GiB) across 3 regions (us-east-1, eu-west-1,
ap-southeast-1). This matches the Mysticeti~\cite[\S6]{babel2024mysticeti}
and HotStuff-2~\cite{malkhi2023hotstuff2} deployment shape.
\item \textbf{Software versions.} Lux \texttt{v0.1.0-rc1-pq-consensus-freeze}
from \cite{pulsar,thresholdgo,consensusgo,warpgo,lensgo};
comparison baselines built from upstream HEAD as of paper freeze.
\item \textbf{Workload.} 1\,kB payload transactions, Poisson arrivals at
a sweep of $\lambda \in \{10^3, 10^4, 10^5, 2\!\times\!10^5\}$\,TPS
--- same generator as Mysticeti~\cite[\S6.1]{babel2024mysticeti}.
\item \textbf{Metrics.} p50 / p99 commit latency; sustained TPS at p99
commit $\leq 1$\,s; message count per commit; per-validator CPU /
memory at steady state.
\item \textbf{Commands.}
\begin{verbatim}
# build (Lux side)
GOWORK=off go test -count=1 -short -timeout 300s \
./consensus/... ./pulsar/... ./lens/... ./threshold/... ./warp/...
# Mysticeti-C baseline (from upstream repo)
cargo run --release --bin orchestrator -- benchmark \
--committee-size 21 --tx-size 1000 --duration 600
# CometBFT baseline
cometbft testnet --v 21 --o ./mytestnet && \
./mytestnet/scripts/run-benchmark.sh
\end{verbatim}
\item \textbf{Decision rule.} Lux ``wins'' Table~\ref{tab:pq-consensus-named}
only if every measured Lux cell beats the corresponding competitor
literature cell at the same validator count and the same workload.
Otherwise the table must report ``ties'' or ``loses'' honestly.
\end{itemize}
\noindent\textbf{What this section deliberately does not say.} It does not
say Lux is faster than Mysticeti, HotStuff-2, or CometBFT today. It says
the comparison is well-defined, the methodology is fixed, and the
\texttt{[TBD-measure]} cells are the only honest path to a published
``Lux beats X'' claim.
%% ====================================================================