mirror of
https://github.com/lux-apps/papers.git
synced 2026-11-03 05:07:46 +00:00
Companion LaTeX papers to luxfi/LPs: - lp-200-zap-stack: full ZAP-as-substrate paper (10-layer model, deco- mplected concerns, performance). - lp-200-lux-vs-avalanche-diff: code-translation appendix. - lp-203-gpu-native-verify, lp-205-pipelined-quasar, lp-208-dag-mempool, lp-209-mysticeti-ordering, lp-210-block-stm, lp-211-cross-shard-atomic, lp-217-cert-profile-modes, lp-218-zap-p3q-pq-rollup, lp-220-p3q-corona-magnetar, lp-221-stark-fri-verifier, lp-300-schema-registry. Pitch / outreach decks (luxcover.sty templated): - blackrock-nahmii-pitch, corporate-dao-stack-analysis, nahmii-patent-acquisition, pq-patent-family-future-infringers, lux-substrate-platform-pitch, w3a-foundation-membership, multi-validator-scale, vfs-archive-cost-study. Edits aligning to LP-217 / LP-200: - lp-020-quasar-consensus 02-system-model + 08-performance. - lp-073-pulsar 11-quasar. - lp-103-omnichain-explorer 03-chain-support. - lp-104-graph-engine. - lp-201-zap-universal-wire/wire-inventory.csv. - lp-306-lx-social-dex sections/02. - lux-adoption-roadmap, lux-chain-architecture, lux-consensus-engines/08-composition, lux-crypto-agility, lux-evm-precompile-engineering/02, lux-fhe-smart-contracts/05, lux-quasar-composition/04+06+10, lux-reproducible-builds. - INDEX.md cross-links the new papers.
84 lines
2.9 KiB
TeX
84 lines
2.9 KiB
TeX
\documentclass[11pt,a4paper]{article}
|
|
\usepackage{../shared/luxcover}
|
|
\usepackage[utf8]{inputenc}
|
|
\usepackage[T1]{fontenc}
|
|
\usepackage{amsmath,amssymb,amsfonts}
|
|
\usepackage{graphicx}
|
|
\usepackage{hyperref}
|
|
\usepackage{booktabs}
|
|
\usepackage{enumitem}
|
|
\usepackage{xcolor}
|
|
\usepackage{siunitx}
|
|
\usepackage{listings}
|
|
\usepackage{url}
|
|
|
|
\hypersetup{colorlinks=true,linkcolor=black,citecolor=blue,urlcolor=blue}
|
|
|
|
\sloppy
|
|
\hbadness=10000
|
|
\hfuzz=20pt
|
|
|
|
\lstset{
|
|
basicstyle=\ttfamily\scriptsize,
|
|
breaklines=true,
|
|
frame=single,
|
|
showstringspaces=false,
|
|
}
|
|
|
|
\title{LP-221: STARK-FRI Verifier Precompile\\
|
|
\large A dedicated EVM slot for strict-PQ STARK proofs,\\
|
|
orthogonal to the P3Q signature dispatch at 0x012205}
|
|
\author{Lux Industries, Inc. \\
|
|
\texttt{[email protected]}}
|
|
\date{2026-06-04}
|
|
|
|
\begin{document}
|
|
\luxcoverpage
|
|
|
|
\begin{abstract}
|
|
LP-221 specifies the dedicated EVM precompile at slot
|
|
\texttt{0x012220} for verifying strict-PQ STARK proofs. The verifier
|
|
is a Plonky3 fork with the classical-curve surface stripped out:
|
|
\textbf{FRI}~\cite{frieprint} low-degree testing over the
|
|
\textbf{Goldilocks} 64-bit prime field, \textbf{cSHAKE256}
|
|
(FIPS~202~/ SP~800-185)~\cite{fips202,sp800185} Merkle commitments,
|
|
no KZG, no pairings, no elliptic-curve arithmetic. The reference
|
|
implementation at \texttt{lux/precompile/starkfri/} (5 files, 22
|
|
tests passing under \texttt{-race} in \SI{1.376}{\second} on
|
|
darwin/arm64) registers under config key \texttt{starkfriVerify}.
|
|
LP-221 is the dedicated allocation that LP-300~\S``Post-quantum
|
|
precompile registry'' had recorded as the displaced-Plonky3-fork
|
|
placeholder pending dedicated LP allocation. LP-221 is orthogonal
|
|
to LP-218: LP-218 owns slot \texttt{0x012205} for PQ
|
|
\emph{signature} verification (Pulsar~/ Corona~/ Magnetar
|
|
kind-byte dispatched); LP-221 owns slot \texttt{0x012220} for PQ
|
|
SNARK \emph{proof} verification. One slot for signatures, one slot
|
|
for SNARK proofs, two disjoint use cases, zero overlap. The on-chain
|
|
wire format pins \texttt{VersionV1=0x01}, \texttt{MagicHeader="P3Q1"}
|
|
preserved verbatim from the pre-rename era for proof-artifact
|
|
byte-stability (EasyCrypt~/ Lean~/ Jasmin~/ dudect), and
|
|
\texttt{MinInputLength=13} (1 version + 4 proof-len + 4 magic + 4
|
|
public-input-len). Gas schedule is \texttt{BaseVerifyGas=200{,}000 +
|
|
PerByteGas=10}, sized to the CPU verify cost (\SIrange{5}{10}{\milli\second}
|
|
per typical \SI{30}{\kilo\byte} proof). Soundness reduces to
|
|
collision resistance of cSHAKE256 modeled as a random oracle; the
|
|
parameter set used by the audited backend crate fixes the soundness
|
|
error at $\le 2^{-100}$. Completeness is~$1$.
|
|
\end{abstract}
|
|
|
|
\tableofcontents
|
|
\newpage
|
|
|
|
\input{sections/01-introduction}
|
|
\input{sections/02-architectural-decision}
|
|
\input{sections/03-specification}
|
|
\input{sections/04-verifier}
|
|
\input{sections/05-cryptographic-properties}
|
|
\input{sections/06-constant-time}
|
|
\input{sections/07-composition}
|
|
|
|
\bibliographystyle{plain}
|
|
\bibliography{biblio}
|
|
|
|
\end{document}
|