mirror of
https://github.com/lux-apps/papers.git
synced 2026-11-03 05:07:46 +00:00
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.
67 lines
2.9 KiB
TeX
67 lines
2.9 KiB
TeX
\section{Benchmark 7: Network Partition Recovery}
|
|
|
|
\label{sec:partition}
|
|
%% ============================================================================
|
|
|
|
We simulate network partitions by dropping all inter-datacenter traffic for 60\,s, then
|
|
restoring connectivity. Recovery time is measured from partition heal to next finalized
|
|
block.
|
|
|
|
\subsection{Partition Scenario}
|
|
|
|
\begin{itemize}
|
|
\item \textbf{Configuration}: $n=21$ validators, 7 per datacenter.
|
|
\item \textbf{Partition}: SFO isolated from \{NYC, MCI\} for 60\,s. SFO holds 7/21
|
|
(33\%) of stake---insufficient for either partition to finalize independently.
|
|
\item \textbf{Measurement}: Time from network restoration to first block finalized by
|
|
all honest validators.
|
|
\end{itemize}
|
|
|
|
\subsection{Results}
|
|
|
|
\begin{table}[h]
|
|
\centering
|
|
\begin{tabular}{@{}lrl@{}}
|
|
\toprule
|
|
\textbf{Protocol} & \textbf{Recovery (s)} & \textbf{Behavior During Partition} \\
|
|
\midrule
|
|
\textbf{Quasar} & \textbf{0.8} & Halts cleanly, no forks \\
|
|
Tendermint & 1.2 & Halts cleanly, no forks \\
|
|
HotStuff & 2.4 & Leader timeout + view change \\
|
|
Narwhal+Tusk & 3.1 & DAG diverges, reconverges \\
|
|
Snow (Avalanche) & 8.5 & Stalls on sampling failure \\
|
|
Tower BFT (Solana) & 14.2 & Vote lockout expiry required \\
|
|
Casper FFG (Ethereum) & 768$^*$ & Misses epochs, inactivity leak \\
|
|
\bottomrule
|
|
\end{tabular}
|
|
\caption{Time to first finalized block after 60\,s network partition heals.
|
|
$^*$Ethereum requires a full finality epoch after partition recovery.}
|
|
\label{tab:partition}
|
|
\end{table}
|
|
|
|
\subsection{Analysis}
|
|
|
|
Quasar recovers in 0.8\,s (approximately 1.5 block times) because:
|
|
|
|
\begin{enumerate}
|
|
\item During partition, both sides detect insufficient quorum and enter a wait state
|
|
without producing conflicting chains.
|
|
\item On reconnection, validators immediately exchange the latest state and resume
|
|
normal operation. No view-change protocol or vote lockout reset is required.
|
|
\item The dual-certificate mechanism provides an unambiguous ``last finalized'' marker,
|
|
eliminating fork resolution overhead.
|
|
\end{enumerate}
|
|
|
|
Solana's slow recovery (14.2\,s) results from Tower BFT's vote lockout mechanism:
|
|
validators that voted during the partition must wait for their lockout timers to expire
|
|
before voting on the new fork~\cite{solana-wp}. Snow's 8.5\,s recovery is caused by the
|
|
need to re-establish confidence counters from zero after sampling failures during the
|
|
partition.
|
|
|
|
\textbf{Degradation behavior}: Tendermint and Quasar both halt during a 33\%+
|
|
partition (safety over liveness). The critical difference is recovery speed: Quasar
|
|
resumes in 0.8\,s vs. Tendermint's 1.2\,s, because Quasar does not require a new
|
|
proposer election round---the existing leader simply retransmits the pending block.
|
|
|
|
%% ============================================================================
|