Files
papers/lux-verkle-trees/sections/08-performance-analysis.tex
zeekay abf99d05fc 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

93 lines
2.1 KiB
TeX
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
\section{Performance Analysis}
\subsection{Proof Size Comparison}
\begin{table}[H]
\centering
\begin{tabular}{@{}lrrrr@{}}
\toprule
\textbf{Metric} & \textbf{Merkle Patricia} & \textbf{Verkle Tree} & \textbf{Reduction} \\
\midrule
Single proof & 640 B & 150 B & 76.6\% \\
10-key batch & 6,400 B & 250 B & 96.1\% \\
100-key batch & 64,000 B & 1,200 B & 98.1\% \\
Block witness & 512 KB & 28 KB & 94.5\% \\
\bottomrule
\end{tabular}
\caption{Proof size comparison across different operations}
\label{tab:proof-sizes}
\end{table}
\subsection{Verification Performance}
\begin{table}[H]
\centering
\begin{tabular}{@{}lrrr@{}}
\toprule
\textbf{Operation} & \textbf{Merkle} & \textbf{Verkle} & \textbf{Ratio} \\
\midrule
Single verify & 3.2 ms & 4.8 ms & 1.5× \\
10-proof batch & 32 ms & 8.5 ms & 0.27× \\
100-proof batch & 320 ms & 42 ms & 0.13× \\
Pairing check & — & 2.1 ms & — \\
\bottomrule
\end{tabular}
\caption{Verification time comparison}
\label{tab:verification-time}
\end{table}
\subsection{Tree Operations}
\begin{figure}[H]
\centering
\begin{tikzpicture}
\begin{axis}[
xlabel={State Size (millions of accounts)},
ylabel={Proof Size (bytes)},
xmin=0, xmax=1000,
ymin=0, ymax=2000,
legend pos=north west,
grid=major,
width=0.8\textwidth,
height=0.5\textwidth,
]
\addplot[color=red,thick,mark=square*] coordinates {
(1, 640)
(10, 768)
(100, 896)
(1000, 1024)
};
\addlegendentry{Merkle Patricia}
\addplot[color=luxblue,thick,mark=*] coordinates {
(1, 150)
(10, 150)
(100, 150)
(1000, 150)
};
\addlegendentry{Verkle Tree}
\end{axis}
\end{tikzpicture}
\caption{Proof size scaling with state growth}
\label{fig:proof-scaling}
\end{figure}
\subsection{Bandwidth Analysis}
Network bandwidth requirements for different client types:
\begin{equation}
B_{stateless} = H_{size} + N_{tx} \cdot P_{verkle}
\end{equation}
For 15 transactions per block:
\begin{itemize}
\item Merkle stateless: $480 + 15 \times 640 = 10,080$ bytes/block
\item Verkle stateless: $480 + 15 \times 150 = 2,730$ bytes/block
\item Reduction: 72.9\%
\end{itemize}