mirror of
https://github.com/lux-apps/papers.git
synced 2026-10-30 18:15:21 +00:00
Sweep across the non-Tier-1 paper catalogue (Tier-1 owned by parallel
agent and excluded). All 113 processed papers already had luxcover
wired up; this commit fixes 14 build breakers and produces fresh
PDFs across the catalogue.
Fixes:
- lux-blockchain-scaling-laws: em-dash inside lstlisting -> --
- lux-corona-pq: stale \input pointing at 03-the-corona-scheme renamed
to 03-the-corona-scheme (file already renamed on disk)
- lux-lattice-cryptography-primer: same Corona->Corona rename
- lux-formal-verification-lean4: Lean source uses unicode (×, ∀, ∃, ∈,
∧, ∨, ∩, ≠, ⟨, ⟩, ·, ¬) inside lstlistings. Added a literate map
so listings render the math glyphs without UTF-8 fault.
- lux-id-did-specification: ✓/✗ in tabular replaced with \ding{51}
/ \ding{55} (pifont). Added pifont package.
- lux-ntt-simd-implementation: middle-dot in Go assembly listings;
added literate {·}{\textperiodcentered}.
- lux-ntt-transform: μ, ×, –, — in regular text (no T1 fontenc).
Replaced with $\mu$/$\times$/--/--- via unicode->latex sweep.
- lux-perpetuals-derivatives, lux-quantum-consensus,
lux-quasar-consensus, lux-tee-computing-mesh: same unicode->latex
sweep across body text. Also fixed broken math segment
`$L_{avg} = 10$\times$$` -> `$L_{avg} = 10\times$`.
- lux-zchain: emoji glyphs in roadmap table replaced with
parenthetical text.
- lux-triple-proof-consensus: dropped duplicate \usepackage{geometry}
that clashed with luxcover (geometry option clash).
- pq: defined missing \Rq macro.
PDFs rebuilt for the full Tier-2/3 set.
Excluded (Tier-1, parallel agent): lp-073-pulsar, lp-stricte2epq,
dag-evm-formal, lp-010-quasar-stm-{3,4}, lp-020-quasar-consensus,
lux-institutional-custody, lux-nist-mptc-submission, pqsafe-il5,
pq-rns, plus shared/ and lps/.
129 lines
4.6 KiB
TeX
129 lines
4.6 KiB
TeX
\documentclass[11pt,a4paper]{article}
|
|
\usepackage{../shared/luxcover}
|
|
\usepackage[utf8]{inputenc}
|
|
\usepackage[T1]{fontenc}
|
|
\usepackage{amsmath,amssymb,amsthm}
|
|
\usepackage{mathtools}
|
|
\usepackage{graphicx}
|
|
\usepackage{algorithm}
|
|
\usepackage{algpseudocode}
|
|
\usepackage{tikz}
|
|
\usepackage{pgfplots}
|
|
\usepackage{booktabs}
|
|
\usepackage{hyperref}
|
|
\usepackage{cleveref}
|
|
\usepackage{listings}
|
|
\input{../shared/lstlang}
|
|
\usepackage{xcolor}
|
|
\usepackage{multicol}
|
|
\usepackage{caption}
|
|
\usepackage{subcaption}
|
|
\usepackage{array}
|
|
\usepackage{tabularx}
|
|
\usepackage{float}
|
|
\usepackage{enumitem}
|
|
|
|
|
|
\usetikzlibrary{automata, positioning, arrows.meta, shapes.geometric, matrix, fit, backgrounds}
|
|
\pgfplotsset{compat=1.17}
|
|
|
|
\definecolor{codegreen}{rgb}{0,0.6,0}
|
|
\definecolor{codegray}{rgb}{0.5,0.5,0.5}
|
|
\definecolor{codepurple}{rgb}{0.58,0,0.82}
|
|
\definecolor{backcolour}{rgb}{0.95,0.95,0.92}
|
|
\definecolor{luxred}{rgb}{0.992,0.267,0.267}
|
|
|
|
\lstdefinestyle{mystyle}{
|
|
backgroundcolor=\color{backcolour},
|
|
commentstyle=\color{codegreen},
|
|
keywordstyle=\color{magenta},
|
|
numberstyle=\tiny\color{codegray},
|
|
stringstyle=\color{codepurple},
|
|
basicstyle=\ttfamily\footnotesize,
|
|
breakatwhitespace=false,
|
|
breaklines=true,
|
|
captionpos=b,
|
|
keepspaces=true,
|
|
numbers=left,
|
|
numbersep=5pt,
|
|
showspaces=false,
|
|
showstringspaces=false,
|
|
showtabs=false,
|
|
tabsize=2
|
|
}
|
|
\lstset{style=mystyle}
|
|
|
|
\theoremstyle{plain}
|
|
\newtheorem{theorem}{Theorem}[section]
|
|
\newtheorem{lemma}{Lemma}[section]
|
|
\newtheorem{proposition}{Proposition}[section]
|
|
\newtheorem{corollary}{Corollary}[section]
|
|
|
|
\theoremstyle{definition}
|
|
\newtheorem{definition}{Definition}[section]
|
|
\newtheorem{example}{Example}[section]
|
|
|
|
\theoremstyle{remark}
|
|
\newtheorem{remark}{Remark}[section]
|
|
|
|
\hypersetup{colorlinks=true,linkcolor=black,citecolor=blue,urlcolor=blue}
|
|
|
|
\title{\textbf{Data Availability Sampling in Lux Network}\\
|
|
\large A Reed-Solomon Erasure-Coded DA Layer with KZG Commitments\\
|
|
and 2D Sampling for Scalable Light Node Verification}
|
|
|
|
\author{
|
|
Zach Kelling\thanks{Corresponding author: [email protected]}\\
|
|
\textit{Lux Industries, Inc.}\\
|
|
\texttt{[email protected]}
|
|
}
|
|
\date{2020}
|
|
|
|
\begin{document}
|
|
|
|
\luxcoverpage
|
|
|
|
\begin{abstract}
|
|
We present \textbf{Lux-DAS}, a data availability sampling protocol that enables light nodes
|
|
on the Lux Network to verify that block data has been published without downloading entire
|
|
blocks. Lux-DAS employs two-dimensional Reed-Solomon erasure coding over blob data arranged
|
|
in a $k \times k$ matrix, extended to $2k \times 2k$ with redundancy factor four, coupled
|
|
with Kate-Zaverucha-Goldberg (KZG) polynomial commitments on each row and column. Light
|
|
clients sample $s$ random cells from the extended matrix and request openings from full nodes;
|
|
if all $s$ openings verify, the client accepts the block with confidence
|
|
$1 - (1/4)^s \geq 1 - 2^{-\lambda}$ for security parameter $\lambda = 2s$. We prove that
|
|
an adversary who withholds more than $50\%$ of any row or column is detected with
|
|
overwhelming probability when the number of sampling light nodes exceeds
|
|
$O(k^2 / s)$. Our construction introduces three innovations beyond existing DAS designs:
|
|
(i) a \emph{appchain-scoped DA layer} that partitions the commitment namespace across Lux
|
|
appchains, reducing validator bandwidth by a factor proportional to the number of active appchains;
|
|
(ii) an \emph{adaptive sampling strategy} that increases sample count $s$ in proportion to
|
|
observed network churn, maintaining target security under dynamic validator sets; and
|
|
(iii) \emph{KZG commitment aggregation via inner-product arguments} that amortizes proof
|
|
verification cost when a light client queries cells from multiple blobs in the same slot.
|
|
We compare Lux-DAS against Ethereum's EIP-4844 (Proto-Danksharding) and Celestia's DAS
|
|
protocol, demonstrating a $3.1\times$ reduction in amortized verification cost per blob
|
|
and a $5.8\times$ improvement in sampling throughput for networks with more than 64 appchains.
|
|
A prototype implementation on the Lux Fuji testnet processes 128 blobs per slot with a
|
|
blob size of 128\,KiB, achieving median light-client verification latency of 42\,ms.
|
|
\end{abstract}
|
|
|
|
\tableofcontents
|
|
\newpage
|
|
|
|
%% ============================================================================
|
|
|
|
\input{sections/01-introduction}
|
|
\input{sections/02-background}
|
|
\input{sections/03-protocol-design}
|
|
\input{sections/04-security-analysis}
|
|
\input{sections/05-implementation}
|
|
\input{sections/06-evaluation}
|
|
\input{sections/07-related-work}
|
|
\input{sections/09-parameter-selection-guide}
|
|
\input{sections/10-kzg-ceremony-compatibility}
|
|
\input{sections/11-formal-specification-of-the-da-oracle-pr}
|
|
\input{sections/99-conclusion}
|
|
|
|
\end{document}
|