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.
116 lines
5.7 KiB
TeX
116 lines
5.7 KiB
TeX
\section{Conclusion}
|
|
\label{sec:conclusion}
|
|
|
|
Lux State Sync achieves fast, trustless state synchronization through five key design choices:
|
|
|
|
\begin{enumerate}
|
|
\item Trie-aligned chunking eliminates post-sync trie healing and enables optimal parallelism.
|
|
\item Merkle range proofs provide $O(\log n)$ completeness verification with $< 1\%$ bandwidth overhead.
|
|
\item Incremental sync reduces bandwidth by 90--99\% for nodes hours or days behind.
|
|
\item Multi-source download with per-chunk verification tolerates arbitrary Byzantine peers.
|
|
\item BLS-authenticated checkpoints inherit trust from consensus without separate infrastructure.
|
|
\end{enumerate}
|
|
|
|
Full sync of 42 GB state completes in under 30 minutes at moderate bandwidth, and incremental sync handles daily staleness in 25 seconds. The protocol is deployed on all Lux Network chains and available to custom appchains.
|
|
|
|
\subsection{Migration from Legacy Sync}
|
|
|
|
Nodes upgrading from historical full sync to the state sync protocol follow a phased migration:
|
|
|
|
\begin{enumerate}
|
|
\item \textbf{Checkpoint discovery}: The node queries peers for the latest BLS-authenticated checkpoint that is at least $C_{\min} = 100$ blocks behind the chain tip, ensuring finality.
|
|
\item \textbf{State snapshot download}: The node downloads the state trie at the checkpoint height using the hierarchical chunking protocol, while continuing to receive new blocks via the gossip layer.
|
|
\item \textbf{Gap fill}: After the snapshot completes, the node replays blocks from the checkpoint to the current tip, applying state transitions incrementally.
|
|
\item \textbf{Pruning}: Historical state prior to the checkpoint is pruned according to the node's retention policy ($D_{\text{retain}} = 256$ blocks by default), reclaiming disk space.
|
|
\end{enumerate}
|
|
|
|
Nodes that have already synced can also perform periodic re-snapshots to compact their state database, reducing fragmentation from long-running incremental updates. The re-snapshot process runs in the background without interrupting block processing.
|
|
|
|
Monitoring metrics exposed during sync include: chunk download rate (MB/s), verification throughput (chunks/s), peer reliability scores, and estimated time to completion. These are accessible via the node's Prometheus endpoint for integration with operational dashboards.
|
|
|
|
The protocol's design ensures that state sync never compromises the integrity of the chain's consensus history. All synced state is verified against the consensus-committed state root, and nodes that complete state sync participate in consensus with the same trust guarantees as nodes that performed full historical sync.
|
|
|
|
\bibliographystyle{plain}
|
|
\begin{thebibliography}{30}
|
|
|
|
\bibitem{wood2014ethereum}
|
|
G.~Wood, ``Ethereum: A secure decentralised generalised transaction ledger,'' \emph{Ethereum Yellow Paper}, 2014.
|
|
|
|
\bibitem{ethsnapSync}
|
|
P.~Szilard, ``Snap sync,'' \emph{go-ethereum documentation}, 2021.
|
|
|
|
\bibitem{ethfastSync}
|
|
P.~Szilard, ``Fast sync algorithm,'' \emph{go-ethereum wiki}, 2015.
|
|
|
|
\bibitem{laurie2013revocation}
|
|
B.~Laurie, A.~Langley, and E.~Kasper, ``Certificate transparency,'' \emph{RFC 6962}, 2013.
|
|
|
|
\bibitem{cosmosStateSync}
|
|
Cosmos SDK, ``State sync documentation,'' 2021.
|
|
|
|
\bibitem{nearStateSync}
|
|
Near Protocol, ``State sync design,'' \emph{Near Enhancement Proposals}, 2021.
|
|
|
|
\bibitem{nakamoto2008bitcoin}
|
|
S.~Nakamoto, ``Bitcoin: A peer-to-peer electronic cash system,'' 2008.
|
|
|
|
\bibitem{buterin2014ethereum}
|
|
V.~Buterin, ``Ethereum: A next-generation smart contract and decentralized application platform,'' 2014.
|
|
|
|
\bibitem{boneh2018compact}
|
|
D.~Boneh, M.~Drijvers, and G.~Neven, ``Compact multi-signatures for smaller blockchains,'' in \emph{ASIACRYPT}, 2018.
|
|
|
|
\bibitem{merkle1988digital}
|
|
R.~C.~Merkle, ``A digital signature based on a conventional encryption function,'' in \emph{CRYPTO}, 1987.
|
|
|
|
\bibitem{bayer2012timestamping}
|
|
D.~Bayer, S.~Haber, and W.~S.~Stornetta, ``Improving the efficiency and reliability of digital time-stamping,'' in \emph{Sequences II}, 1993.
|
|
|
|
\bibitem{dahlberg2016sparse}
|
|
R.~Dahlberg, T.~Pulls, and R.~Peeters, ``Efficient sparse Merkle trees,'' in \emph{NordSec}, 2016.
|
|
|
|
\bibitem{reyzin2017improving}
|
|
L.~Reyzin, D.~Meshkov, A.~Chepurnoy, and S.~Ivanov, ``Improving authenticated dynamic dictionaries, with applications to cryptocurrencies,'' in \emph{FC}, 2017.
|
|
|
|
\bibitem{buchman2016tendermint}
|
|
E.~Buchman, ``Tendermint: Byzantine fault tolerance in the age of blockchains,'' Master's thesis, 2016.
|
|
|
|
\bibitem{kwon2016cosmos}
|
|
J.~Kwon and E.~Buchman, ``Cosmos: A network of distributed ledgers,'' 2016.
|
|
|
|
\bibitem{wood2016polkadot}
|
|
G.~Wood, ``Polkadot: Vision for a heterogeneous multi-chain framework,'' 2016.
|
|
|
|
\bibitem{patricia1968}
|
|
D.~R.~Morrison, ``PATRICIA---Practical algorithm to retrieve information coded in alphanumeric,'' \emph{JACM}, vol.~15, no.~4, pp.~514--534, 1968.
|
|
|
|
\bibitem{leveldb}
|
|
J.~Dean and S.~Ghemawat, ``LevelDB,'' \emph{Google}, 2011.
|
|
|
|
\bibitem{pebble}
|
|
CockroachDB, ``Pebble: A LevelDB/RocksDB inspired key-value store,'' 2020.
|
|
|
|
\bibitem{castro1999practical}
|
|
M.~Castro and B.~Liskov, ``Practical Byzantine fault tolerance,'' in \emph{OSDI}, 1999.
|
|
|
|
\bibitem{gilad2017algorand}
|
|
Y.~Gilad et al., ``Algorand: Scaling Byzantine agreements for cryptocurrencies,'' in \emph{SOSP}, 2017.
|
|
|
|
\bibitem{kiayias2017ouroboros}
|
|
A.~Kiayias et al., ``Ouroboros: A provably secure proof-of-stake blockchain protocol,'' in \emph{CRYPTO}, 2017.
|
|
|
|
\bibitem{edrax2018}
|
|
R.~Dathathri et al., ``Making smart contracts smarter,'' in \emph{CCS}, 2018.
|
|
|
|
\bibitem{verkle2021}
|
|
J.~Kuszmaul, ``Verkle trees,'' 2019.
|
|
|
|
\bibitem{boneh2001bls}
|
|
D.~Boneh, B.~Lynn, and H.~Shacham, ``Short signatures from the Weil pairing,'' in \emph{ASIACRYPT}, 2001.
|
|
|
|
\bibitem{yin2019hotstuff}
|
|
M.~Yin et al., ``HotStuff: BFT consensus with linearity and responsiveness,'' in \emph{PODC}, 2019.
|
|
|
|
\end{thebibliography}
|
|
|