mirror of
https://github.com/lux-apps/papers.git
synced 2026-10-30 18:15:21 +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.
93 lines
2.1 KiB
TeX
93 lines
2.1 KiB
TeX
\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}
|
||
|