Files
papers/lux-quasar-benchmarks/sections/04-benchmark-2-throughput.tex
zeekay 4a753bb639 papers: reorganize into per-paper dirs, add Antje Worring as co-author
Restructured from flat .tex/.pdf files into per-paper subdirectories.
Added Antje Worring as co-author on all papers.
Synced PDFs to pdfs/ for download site.
2026-04-18 21:50:07 -07:00

140 lines
5.0 KiB
TeX

\section{Benchmark 2: Throughput}
\label{sec:throughput}
%% ============================================================================
Transaction throughput is measured as confirmed (finalized) transactions per second at
the consensus layer, excluding execution overhead.
\subsection{Results at Varying Validator Counts}
\begin{table}[h]
\centering
\begin{tabular}{@{}lrrr@{}}
\toprule
\textbf{Protocol} & \textbf{$n=21$} & \textbf{$n=100$} & \textbf{$n=1{,}000$} \\
\midrule
\textbf{Quasar} & \textbf{18{,}200} & \textbf{10{,}400} & \textbf{4{,}800} \\
Narwhal+Tusk & 46{,}000 & 38{,}500 & 12{,}100 \\
Snow (Avalanche) & 5{,}200 & 4{,}800 & 3{,}900 \\
Tendermint (CometBFT) & 4{,}100 & 1{,}200 & 180 \\
HotStuff (Aptos) & 8{,}500 & 5{,}100 & 1{,}400 \\
Tower BFT (Solana) & 52{,}000 & 48{,}000 & N/A$^*$ \\
Casper FFG (Ethereum) & 30 & 30 & 30 \\
\bottomrule
\end{tabular}
\caption{Finalized transactions per second (median). $^*$Solana's architecture does not support $>$1{,}929 validators in production; $n=1{,}000$ was not tested.}
\label{tab:throughput}
\end{table}
\begin{figure}[h]
\centering
\begin{tikzpicture}
\begin{axis}[
width=0.95\textwidth,
height=8cm,
xlabel={Number of validators ($n$)},
ylabel={Throughput (TPS)},
ymode=log,
log ticks with fixed point,
xmode=log,
log ticks with fixed point,
xmin=15, xmax=1500,
ymin=20, ymax=100000,
legend style={at={(0.98,0.98)}, anchor=north east, font=\small},
grid=major,
grid style={gray!20},
]
% Quasar
\addplot[luxpurple, very thick, mark=square*, mark size=3pt] coordinates {
(21, 18200) (100, 10400) (1000, 4800)
};
% Narwhal+Tusk
\addplot[narworange, thick, mark=triangle*, mark size=3pt] coordinates {
(21, 46000) (100, 38500) (1000, 12100)
};
% Snow
\addplot[avaxred, thick, mark=diamond*, mark size=3pt] coordinates {
(21, 5200) (100, 4800) (1000, 3900)
};
% Tendermint
\addplot[cosgray, thick, mark=o, mark size=3pt] coordinates {
(21, 4100) (100, 1200) (1000, 180)
};
% HotStuff
\addplot[hotred, thick, mark=pentagon*, mark size=3pt] coordinates {
(21, 8500) (100, 5100) (1000, 1400)
};
% Tower BFT
\addplot[solgreen!80!black, thick, mark=star, mark size=3pt] coordinates {
(21, 52000) (100, 48000)
};
% Casper FFG
\addplot[ethblue, thick, mark=x, mark size=3pt] coordinates {
(21, 30) (100, 30) (1000, 30)
};
\legend{Quasar, Narwhal+Tusk, Snow, Tendermint, HotStuff, Tower BFT, Casper FFG}
\end{axis}
\end{tikzpicture}
\caption{Throughput vs.\ validator count (log-log). Narwhal+Tusk and Solana achieve
higher raw throughput, but Quasar maintains the best throughput-to-finality ratio.}
\label{fig:throughput}
\end{figure}
\subsection{Analysis}
Narwhal+Tusk achieves higher raw throughput than Quasar because its DAG-based mempool
enables parallel block proposals from all validators simultaneously~\cite{narwhal-tusk}.
Solana's throughput benefits from Proof-of-History pipelining, which amortizes leader
rotation cost~\cite{solana-wp}. However, both trade finality latency for throughput.
\textbf{Throughput-weighted finality} (TPS $\div$ finality in seconds) reveals a
different ranking:
\begin{table}[h]
\centering
\begin{tabular}{@{}lrrr@{}}
\toprule
\textbf{Protocol} & \textbf{TPS} & \textbf{Finality (s)} & \textbf{TPS/s finality} \\
\midrule
\textbf{Quasar} & 10{,}400 & 0.204 & \textbf{50{,}980} \\
Narwhal+Tusk & 38{,}500 & 0.464 & 82{,}974 \\
Snow & 4{,}800 & 0.920 & 5{,}217 \\
Tower BFT & 48{,}000 & 12.8 & 3{,}750 \\
Tendermint & 1{,}200 & 1.180 & 1{,}017 \\
HotStuff & 5{,}100 & 1.640 & 3{,}110 \\
Casper FFG & 30 & 768 & 0.039 \\
\bottomrule
\end{tabular}
\caption{Throughput-weighted finality at $n=100$. Higher is better.}
\label{tab:tps-finality}
\end{table}
For applications requiring both high throughput and fast finality (DEX, payments, bridge
relays), Quasar occupies the optimal region of the throughput--finality Pareto frontier.
\subsection{Throughput at 1\,B Gas Block Limit}
Lux Network operates with a \num{1000000000} (1\,B) gas block limit, yielding
$\sim$\num{47619} transactions per block at 21{,}000 gas/tx. Combined with GPU
BLS finality:
\begin{table}[h]
\centering
\begin{tabular}{@{}lrrr@{}}
\toprule
\textbf{Configuration} & \textbf{Finality} & \textbf{Txs/block} & \textbf{TPS w/ finality} \\
\midrule
GPU BLS (10\,ms, co-located) & 10\,ms & \num{47619} & \textbf{\num{4761904}} \\
CPU BLS (100\,ms, single-DC) & 100\,ms & \num{47619} & \num{476190} \\
CPU BLS (200\,ms, 3-DC WAN) & 200\,ms & \num{47619} & \num{238095} \\
Theoretical (1\,ms InfiniBand) & 1\,ms & \num{47619} & \num{47619047} \\
\bottomrule
\end{tabular}
\caption{End-to-end TPS at Lux's 1\,B gas block limit under different BLS
acceleration and network configurations. GPU BLS is the primary production target.}
\label{tab:1b-gas-tps}
\end{table}
%% ============================================================================