mirror of
https://github.com/lux-apps/papers.git
synced 2026-10-30 18:15:21 +00:00
124 lines
4.7 KiB
TeX
124 lines
4.7 KiB
TeX
\section{Benchmark 1: Finality Time}
|
|
|
|
\label{sec:finality}
|
|
%% ============================================================================
|
|
|
|
Finality time is measured as wall-clock elapsed time from transaction broadcast to the
|
|
point at which the transaction is irreversibly committed and cannot be reverted without
|
|
violating the protocol's safety assumptions.
|
|
|
|
\subsection{Definitions}
|
|
|
|
Protocols define ``final'' differently:
|
|
\begin{itemize}
|
|
\item \textbf{Quasar}: Block has both valid BLS aggregate certificate and valid Pulsar
|
|
threshold certificate ($\geq 2n/3$ contributors each).
|
|
\item \textbf{Tendermint}: Block committed after \texttt{Precommit} phase with $\geq 2n/3$
|
|
signatures~\cite{tendermint}.
|
|
\item \textbf{HotStuff}: Block finalized after 3-chain rule (propose, pre-commit,
|
|
commit, decide)~\cite{hotstuff}.
|
|
\item \textbf{Narwhal+Tusk}: DAG vertex committed after Tusk's zero-message-overhead
|
|
commit rule~\cite{narwhal-tusk}.
|
|
\item \textbf{Casper FFG}: Checkpoint finalized after two consecutive justified
|
|
epochs~\cite{casper-ffg}. Each epoch = 32 slots $\times$ 12\,s = 384\,s.
|
|
\item \textbf{Tower BFT}: 32 layers of exponentially increasing vote lockout
|
|
periods~\cite{solana-wp}.
|
|
\item \textbf{Snow}: Probabilistic finality after $\beta$ consecutive successful
|
|
sampling rounds~\cite{snow-paper}.
|
|
\end{itemize}
|
|
|
|
\subsection{Results ($n = 100$ validators)}
|
|
|
|
\begin{table}[h]
|
|
\centering
|
|
\begin{tabular}{@{}lrrr@{}}
|
|
\toprule
|
|
\textbf{Protocol} & \textbf{Median (ms)} & \textbf{p99 (ms)} & \textbf{Max (ms)} \\
|
|
\midrule
|
|
\textbf{Quasar} & \textbf{204} & \textbf{347} & 512 \\
|
|
Narwhal+Tusk & 464 & 890 & 1{,}340 \\
|
|
Snow (Avalanche) & 920 & 1{,}850 & 3{,}100 \\
|
|
Tendermint (CometBFT) & 1{,}180 & 2{,}410 & 4{,}200 \\
|
|
HotStuff (Aptos) & 1{,}640 & 3{,}200 & 5{,}800 \\
|
|
Tower BFT (Solana) & 12{,}800 & 13{,}400 & 14{,}200 \\
|
|
Casper FFG (Ethereum) & 768{,}000 & 768{,}000 & 768{,}000 \\
|
|
\bottomrule
|
|
\end{tabular}
|
|
\caption{Time to irreversible finality at $n=100$ validators, 3-datacenter WAN.}
|
|
\label{tab:finality}
|
|
\end{table}
|
|
|
|
\begin{figure}[h]
|
|
\centering
|
|
\begin{tikzpicture}
|
|
\begin{axis}[
|
|
ybar,
|
|
bar width=12pt,
|
|
width=0.95\textwidth,
|
|
height=7cm,
|
|
ymode=log,
|
|
log ticks with fixed point,
|
|
ylabel={Finality time (ms, log scale)},
|
|
symbolic x coords={Quasar, Narwhal, Snow, Tendermint, HotStuff, Tower BFT, Casper FFG},
|
|
xtick=data,
|
|
xticklabel style={rotate=30, anchor=east, font=\small},
|
|
ymin=100,
|
|
ymax=2000000,
|
|
nodes near coords,
|
|
nodes near coords style={font=\tiny, above},
|
|
every node near coord/.append style={rotate=45, anchor=south west},
|
|
enlarge x limits=0.1,
|
|
legend style={at={(0.02,0.98)}, anchor=north west, font=\small},
|
|
]
|
|
\addplot[fill=luxpurple] coordinates {
|
|
(Quasar, 204)
|
|
(Narwhal, 464)
|
|
(Snow, 920)
|
|
(Tendermint, 1180)
|
|
(HotStuff, 1640)
|
|
(Tower BFT, 12800)
|
|
(Casper FFG, 768000)
|
|
};
|
|
\addplot[fill=luxblue!40] coordinates {
|
|
(Quasar, 347)
|
|
(Narwhal, 890)
|
|
(Snow, 1850)
|
|
(Tendermint, 2410)
|
|
(HotStuff, 3200)
|
|
(Tower BFT, 13400)
|
|
(Casper FFG, 768000)
|
|
};
|
|
\legend{Median, p99}
|
|
\end{axis}
|
|
\end{tikzpicture}
|
|
\caption{Finality time comparison (log scale). Quasar achieves 204\,ms median
|
|
finality---3.8$\times$ faster than the next DAG-based competitor.}
|
|
\label{fig:finality-bar}
|
|
\end{figure}
|
|
|
|
\subsection{Analysis}
|
|
|
|
Quasar's finality advantage stems from two design decisions:
|
|
|
|
\begin{enumerate}
|
|
\item \textbf{Parallel certificate collection}: BLS and Pulsar signatures are collected
|
|
concurrently. The critical path is the slower of the two (BLS aggregation at
|
|
$\sim$195\,ms over WAN), not their sum.
|
|
\item \textbf{Responsive finality}: Like HotStuff, Quasar finalizes at actual network
|
|
speed, not at a fixed timer. With 38\,ms median intra-cluster RTT, finality
|
|
completes well under the block time.
|
|
\end{enumerate}
|
|
|
|
\textbf{GPU BLS acceleration}: When validators use GPU-accelerated BLS aggregation
|
|
(Metal or CUDA shaders), the BLS round completes in $\sim$10\,ms instead of
|
|
$\sim$195\,ms. In single-datacenter deployments with sub-millisecond RTT, this
|
|
yields \textbf{10\,ms finality}---the primary target for co-located validator sets.
|
|
CPU BLS remains available as a 100\,ms fallback on commodity hardware.
|
|
|
|
Ethereum's Casper FFG is architecturally incapable of sub-minute finality: two full
|
|
epochs (12.8\,min) are required by design~\cite{casper-ffg}. Solana's Tower BFT
|
|
requires 32 layers of exponentially locked votes, producing $\sim$12.8\,s irreversible
|
|
finality regardless of network conditions~\cite{solana-wp}.
|
|
|
|
%% ============================================================================
|