Files
papers/lux-state-sync/sections/02-state-trie-structure.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

45 lines
1.5 KiB
TeX

\section{State Trie Structure}
\label{sec:trie}
\subsection{Merkle Patricia Trie}
Lux C-Chain uses a modified Merkle Patricia Trie (MPT) identical to Ethereum's \cite{wood2014ethereum}:
\begin{definition}[Merkle Patricia Trie]
An MPT is a deterministic key-value store where:
\begin{itemize}
\item Keys are 256-bit hashes (account addresses hashed via Keccak-256).
\item Values are RLP-encoded account states or storage slots.
\item Internal nodes are branch nodes (16 children + value), extension nodes (shared prefix + child), or leaf nodes (key remainder + value).
\item Each node's identity is its Keccak-256 hash (32 bytes).
\item The trie root hash commits to the entire state.
\end{itemize}
\end{definition}
\begin{definition}[State Root]
The state root $R = H(\text{root node})$ is a 32-byte hash that uniquely determines the entire state trie. Block headers include $R$, making it part of consensus.
\end{definition}
\subsection{Trie Statistics for Lux C-Chain}
\begin{table}[H]
\centering
\caption{Lux C-Chain state trie statistics (2025).}
\label{tab:stats}
\begin{tabular}{lr}
\toprule
\textbf{Metric} & \textbf{Value} \\
\midrule
Total accounts & 48,000,000 \\
Total storage slots & 320,000,000 \\
Trie nodes (account trie) & 95,000,000 \\
Trie nodes (storage tries) & 640,000,000 \\
Total state size (raw) & 42 GB \\
Total state size (trie nodes) & 78 GB \\
Trie depth (average) & 7.2 \\
Trie depth (maximum) & 12 \\
\bottomrule
\end{tabular}
\end{table}