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.
18 lines
1.5 KiB
TeX
18 lines
1.5 KiB
TeX
\section{Introduction}
|
|
|
|
|
|
Blockchain state synchronization is the process by which a node obtains a copy of the current state (account balances, contract storage, code) without replaying all historical transactions from genesis. As blockchain state grows---Ethereum's state exceeds 200 GB---full historical replay becomes impractical for new nodes, taking days or weeks \cite{wood2014ethereum}.
|
|
|
|
State sync protocols face three challenges: (i)~\textbf{authenticity}: the synchronized state must be verifiable against a committed state root signed by consensus; (ii)~\textbf{completeness}: no state entries may be omitted, which would allow an adversary to hide balances or contract state; and (iii)~\textbf{efficiency}: the protocol must minimize bandwidth, latency, and disk I/O.
|
|
|
|
Ethereum's snap sync protocol \cite{ethsnapSync} addresses these challenges using flat state iteration with Merkle proofs at range boundaries. Lux State Sync builds on these ideas with improvements tailored to the Lux trie structure and multi-appchain architecture:
|
|
|
|
\begin{enumerate}[label=(\roman*)]
|
|
\item Hierarchical chunking aligned to trie structure for optimal parallelism.
|
|
\item Range proofs with $O(\log n)$ proof size verifiable without reconstructing the trie.
|
|
\item Incremental sync using state diffs between checkpoints.
|
|
\item Multi-source download with chunk-level verification for resilience.
|
|
\item Checkpoint selection via consensus finality for Byzantine fault tolerance.
|
|
\end{enumerate}
|
|
|