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.
45 lines
1.5 KiB
TeX
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}
|
|
|