mirror of
https://github.com/lux-apps/papers.git
synced 2026-10-30 18:15:21 +00:00
- canonical lux-corona-pq paper: rank-7 Module-LWE (A in R_q^{8x7}, q=48-bit), Module-SIS
- scrub residual Corona Ring-LWE/R-LWE labels across ethos-of-lux, pqsafe-il5,
lux-whitepaper, lux-quasar-composition, lp-020; Corona<->Pulsar = parameter regime,
both Module-LWE (not rank-1-vs-rank-k)
- LLM.md: drop stale 'Corona as rank-1' wobble note; align to code/Ringtail params
- rebuild affected PDFs
237 lines
12 KiB
TeX
237 lines
12 KiB
TeX
\section{Namespace 3 -- EVM Precompile slot}
|
|
\label{sec:precompile}
|
|
|
|
EVM precompiles live in three disjoint address bands and a handful
|
|
of legacy / stateful clusters. Each row is owned by exactly one LP
|
|
(``Owner LP'') and optionally co-owned by a wrapper LP that attaches
|
|
a higher-level construction on top of the raw primitive.
|
|
|
|
The address bands and their authoritative owners:
|
|
|
|
\begin{itemize}[leftmargin=2em,nosep]
|
|
\item \texttt{0x000B..0x0FFF} -- Ethereum-compatible / Lux core (LP-078)
|
|
\item \texttt{0x011xxx} -- Federation / governance (LP-0011)
|
|
\item \texttt{0x012xxx} -- Post-quantum cryptography (LP-0120)
|
|
\item \texttt{0x02xxxxxx} -- Lux EVM-style stateful range (LP-3520 / LP-078)
|
|
\item \texttt{0x6010..0x9FFF} -- Application-layer (DEX, AI)
|
|
\item \texttt{0xB000..0xBFFF} -- Blob / KZG
|
|
\item \texttt{0x020000+} -- Reserved for future precompile blocks
|
|
\end{itemize}
|
|
|
|
\subsection{Classical EVM core + Ethereum-compat (LP-078)}
|
|
|
|
The broadest band. LP-078 is the authoritative owner of every slot
|
|
listed here; per-row Owner LP citations name the primitive's
|
|
specifying LP where one exists.
|
|
|
|
\begin{longtable}{@{}p{2.0cm}p{2.4cm}p{4.2cm}p{3.0cm}p{1.2cm}@{}}
|
|
\toprule
|
|
\textbf{Slot} & \textbf{Owner LP} & \textbf{Name} & \textbf{Purpose} & \textbf{Status} \\
|
|
\midrule
|
|
\endfirsthead
|
|
\toprule
|
|
\textbf{Slot} & \textbf{Owner LP} & \textbf{Name} & \textbf{Purpose} & \textbf{Status} \\
|
|
\midrule
|
|
\endhead
|
|
\texttt{0x000B} & LP-078 & BLS12-381 G1 add & EIP-2537 & Final \\
|
|
\texttt{0x000C} & LP-078 & BLS12-381 G1 scalar mul & EIP-2537 & Final \\
|
|
\texttt{0x000D} & LP-078 & BLS12-381 G1 MSM & EIP-2537 & Final \\
|
|
\texttt{0x0100} & LP-078 & secp256r1 / P-256 & EIP-7212 (RIP-7212) & Final \\
|
|
\texttt{0x0300} & LP-078 & AI mining & LP-009 family & Draft \\
|
|
\texttt{0x0300..01} & LP-078 / LP-127 & TEE attestation (NVTrust, SGX, SEV-SNP, TDX) & LP-127 & Draft \\
|
|
\texttt{0x0300..10} & LP-078 & AI compute marketplace & LP-130 & Draft \\
|
|
\texttt{0x0300..20} & LP-078 & Quasar Verkle tree verify & LP-026 & Draft \\
|
|
\texttt{0x0300..21} & LP-078 & Quasar BLS12-381 sig verify & LP-075 & Draft \\
|
|
\texttt{0x0300..22} & LP-078 & Quasar BLS12-381 aggregate & LP-075 & Draft \\
|
|
\texttt{0x0300..23} & LP-078 & Quasar Pulsar consensus verify & LP-073 & Draft \\
|
|
\texttt{0x0300..24} & LP-078 & Quasar hybrid PQ verify & LP-217 & Draft \\
|
|
\texttt{0x0440} & LP-078 & Bridge gateway & LP-017 & Draft \\
|
|
\texttt{0x0441} & LP-078 & Cross-chain routing & LP-017 & Draft \\
|
|
\texttt{0x0442} & LP-078 & Bridge message verification & LP-017 & Draft \\
|
|
\texttt{0x0443} & LP-078 & Bridge liquidity pools & LP-017 & Draft \\
|
|
\texttt{0x0500..04} & LP-078 / LP-126 & BLAKE3 & LP-011 & Draft \\
|
|
\texttt{0x0500..05} & LP-078 / LP-069 & Poseidon2 & LP-069 & Draft \\
|
|
\texttt{0x0500..06} & LP-078 / LP-119 & Pedersen (BN254) & LP-119 & Draft \\
|
|
\texttt{0x0500..07} & LP-078 / LP-111 & Baby Jubjub & LP-111 & Draft \\
|
|
\texttt{0x0500..08} & LP-078 / LP-113 & Pasta (Pallas + Vesta) & LP-113 & Draft \\
|
|
\texttt{0x0500..10} & LP-078 & On-chain GraphQL query & LP-128 & Draft \\
|
|
\texttt{0x0500..11} & LP-078 & GraphQL subscribe & LP-128 & Draft \\
|
|
\texttt{0x0500..12} & LP-078 & GraphQL cache & LP-128 & Draft \\
|
|
\texttt{0x0500..13} & LP-078 & GraphQL index & LP-128 & Draft \\
|
|
\texttt{0x0700} & LP-078 / LP-066 & FHE / TFHE ops & LP-066 & Draft \\
|
|
\texttt{0x0800..02} & LP-078 / LP-154 & FROST EdDSA threshold & LP-154 & Draft \\
|
|
\texttt{0x0800..03} & LP-078 / LP-155 & CGGMP21 ECDSA threshold & LP-155 & Draft \\
|
|
\texttt{0x0900} & LP-078 & Generic ZK verify & LP-037 & Draft \\
|
|
\texttt{0x0901} & LP-078 / LP-0120 & Groth16 verifier & LP-037 & Draft \\
|
|
\texttt{0x0902} & LP-078 & PLONK verifier & LP-037 & Draft \\
|
|
\texttt{0x0903} & LP-078 & fflonk verifier & LP-037 & Draft \\
|
|
\texttt{0x0904} & LP-078 & Halo2 verifier & LP-037 & Draft \\
|
|
\texttt{0x0A00..01} & LP-078 / LP-125 & sr25519 (Schnorrkel/Ristretto) & LP-125 & Draft \\
|
|
\texttt{0x3211..00} & LP-078 / LP-124 & Ed25519 & LP-124 & Draft \\
|
|
\texttt{0x3213} & LP-078 / LP-131 & VRF (ECVRF-Edwards25519-SHA512) & RFC 9381 & Draft \\
|
|
\texttt{0x6010} & LP-078 & Teleport (cross-chain) & LP-016 & Draft \\
|
|
\texttt{0x9010} & LP-078 & LXPool -- Uniswap v4 PoolManager & LP-032 & Draft \\
|
|
\texttt{0x9011} & LP-078 & LXOracle -- price aggregation & LP-032 & Draft \\
|
|
\texttt{0x9012} & LP-078 & LXRouter -- swap router & LP-032 & Draft \\
|
|
\texttt{0x9013} & LP-078 & LXHooks -- hook registry & LP-032 & Draft \\
|
|
\texttt{0x9014} & LP-078 & LXFlash -- flash accounting & LP-032 & Draft \\
|
|
\texttt{0x9020} & LP-078 & LXBook -- CLOB orderbook & LP-032 & Draft \\
|
|
\texttt{0x9030} & LP-078 & LXVault -- custody + margin & LP-032 & Draft \\
|
|
\texttt{0x9040} & LP-078 & LXPrice -- derived pricing & LP-032 & Draft \\
|
|
\texttt{0x9050} & LP-078 & LXLend -- lending pool & LP-032 & Draft \\
|
|
\texttt{0x9060} & LP-078 & LXRepayer -- self-repaying loans & LP-032 & Draft \\
|
|
\texttt{0x9070} & LP-078 & LXLiquidator -- liquidation engine & LP-032 & Draft \\
|
|
\texttt{0x9080} & LP-078 & LXTransmuter -- debt$\to$collateral & LP-032 & Draft \\
|
|
\texttt{0x9200} & LP-078 / LP-122 & HPKE seal & LP-122 & Draft \\
|
|
\texttt{0x9202} & LP-078 & Ring signature verify (LSAG) & --- & Draft \\
|
|
\texttt{0x9203} & LP-078 / LP-114 & X25519 DH & LP-114 & Draft \\
|
|
\texttt{0x9204} & LP-078 / LP-112 & Curve25519 raw point ops & LP-112 & Draft \\
|
|
\texttt{0xB002} & LP-078 / LP-118 & KZG / EIP-4844 blob commitments & EIP-4844 & Draft \\
|
|
\bottomrule
|
|
\caption{LP-078 band -- 53 active rows spanning classical curves,
|
|
hashing, ZK verifiers, threshold sigs, the LX DEX suite, hybrid KEM,
|
|
and KZG. Deprecated rows in this band are listed separately
|
|
(\S\ref{sec:precomp-deprecated}).}
|
|
\label{tab:precomp-lp078}
|
|
\end{longtable}
|
|
|
|
\subsection{Federation registry (LP-0011)}
|
|
|
|
\begin{table}[h]
|
|
\centering
|
|
\small
|
|
\begin{tabular}{@{}p{3.4cm}p{1.4cm}p{3.4cm}p{4.0cm}p{1.0cm}@{}}
|
|
\toprule
|
|
\textbf{Slot} & \textbf{Owner LP} & \textbf{Name} & \textbf{Purpose} & \textbf{Status} \\
|
|
\midrule
|
|
\texttt{0x011001} & LP-0011 & \texttt{FederationRegistry} resolver & Brand sovereignty discovery (LP-0010 family) & Draft \\
|
|
\texttt{0x011002} & LP-0011 & \texttt{BrandConfigStore} & Append-only commit log for federation records & Draft \\
|
|
\texttt{0x011003..0x011FFF} & LP-0011 & Reserved for federation expansion & --- & Reserved \\
|
|
\bottomrule
|
|
\end{tabular}
|
|
\caption{Federation registry band owned by LP-0011. Two active slots,
|
|
one reserve.}
|
|
\label{tab:precomp-lp0011}
|
|
\end{table}
|
|
|
|
\subsection{Post-quantum precompile registry (LP-0120)}
|
|
\label{sec:precomp-pq}
|
|
|
|
The canonical PQ precompile band. LP-218 and LP-220 attach P3Q
|
|
wrappers on top of three of these slots; LP-300 records both the
|
|
raw-primitive owner (LP-0120 plus the specifying LP) and the wrapper
|
|
owner where applicable.
|
|
|
|
\begin{longtable}{@{}p{3.2cm}p{2.4cm}p{2.8cm}p{3.2cm}p{1.2cm}@{}}
|
|
\toprule
|
|
\textbf{Slot} & \textbf{Owner LP} & \textbf{Name} & \textbf{Purpose} & \textbf{Status} \\
|
|
\midrule
|
|
\endfirsthead
|
|
\toprule
|
|
\textbf{Slot} & \textbf{Owner LP} & \textbf{Name} & \textbf{Purpose} & \textbf{Status} \\
|
|
\midrule
|
|
\endhead
|
|
\texttt{0x012201} & LP-0120 / LP-072 & ML-KEM-768 & FIPS 203 KEM (Module-LWE) & Draft \\
|
|
\texttt{0x012202} & LP-0120 / LP-070 & ML-DSA single-party & FIPS 204 signature & Draft \\
|
|
\texttt{0x012203} & LP-0120 / LP-071 & SLH-DSA-192f & FIPS 205 hash-based sig & Draft \\
|
|
\texttt{0x012204} & LP-0120 / LP-073 & Pulsar & Module-LWE threshold (ML-DSA-65 byte-equal) & Draft \\
|
|
\texttt{0x012205} & LP-0120 / LP-218 & P3Q / P3Q-Pulsar & Plonky3 PQ-only STARK + LP-218 rollup-batch verifier wrapper & Draft \\
|
|
\texttt{0x012206} & LP-0120 / LP-220 & Corona / P3Q-Corona & Module-LWE threshold; LP-220 wrapper reuses slot & Draft \\
|
|
\texttt{0x012207} & LP-0120 / LP-181 / LP-220 & Magnetar / P3Q-Magnetar & SLH-DSA threshold (public-DKG MPC); LP-220 wrapper reuses slot & Draft \\
|
|
\texttt{0x012208} & LP-0120 & HQC & NIST PQC4 code-based KEM (family-disjoint from ML-KEM) & Draft \\
|
|
\texttt{0x012209..0x0122FF} & LP-0120 & Reserved for PQ extensions & --- & Reserved \\
|
|
\texttt{0x012220} & LP-218 & Placeholder for displaced Plonky3-fork STARK & Pending dedicated LP allocation & Reserved \\
|
|
\texttt{0x2221} & LP-078 / LP-115 & X-Wing & Hybrid KEM (X25519 $\parallel$ ML-KEM-768) & Draft \\
|
|
\texttt{0x2222} & LP-0120 / LP-4930 & X-Wing+ & Extended hybrid KEM (X25519 $\parallel$ ML-KEM-768 $\parallel$ HQC) & Draft \\
|
|
\bottomrule
|
|
\caption{PQ precompile band. The wrapper rows at \texttt{0x012205},
|
|
\texttt{0x012206}, and \texttt{0x012207} share their slot with a
|
|
raw-primitive owner -- the wrapper is dispatched by the body's
|
|
kind byte and the raw primitive is reachable through the same slot
|
|
with a different kind. The \texttt{0x012220} placeholder is held
|
|
for a future dedicated-LP allocation of the Plonky3-fork STARK that
|
|
LP-218 originally targeted there.}
|
|
\label{tab:precomp-lp0120}
|
|
\end{longtable}
|
|
|
|
\subsection{Lux EVM-style stateful precompile range (LP-3520)}
|
|
|
|
\begin{longtable}{@{}p{2.4cm}p{2.4cm}p{3.0cm}p{3.2cm}p{2.0cm}@{}}
|
|
\toprule
|
|
\textbf{Slot} & \textbf{Owner LP} & \textbf{Name} & \textbf{Purpose} & \textbf{Status} \\
|
|
\midrule
|
|
\endfirsthead
|
|
\toprule
|
|
\textbf{Slot} & \textbf{Owner LP} & \textbf{Name} & \textbf{Purpose} & \textbf{Status} \\
|
|
\midrule
|
|
\endhead
|
|
\texttt{0x0200..0001} & LP-3520 & DeployerAllowList & Contract deployment permissions & Final \\
|
|
\texttt{0x0200..0002} & LP-3520 & TxAllowList & Transaction submission permissions & Final \\
|
|
\texttt{0x0200..0003} & LP-3520 & FeeManager & Dynamic fee configuration & Draft \\
|
|
\texttt{0x0200..0004} & LP-3520 & NativeMinter & Native token minting & Final \\
|
|
\texttt{0x0200..0005} & LP-3520 & RewardManager & Validator reward distribution & Final \\
|
|
\texttt{0x0200..0006} & LP-3520 & ML-DSA (legacy stateful) & Superseded by LP-0120 \texttt{0x012202} & Deprecated \\
|
|
\texttt{0x0200..0007} & LP-3520 & SLH-DSA (legacy stateful) & Superseded by LP-0120 \texttt{0x012203} & Deprecated \\
|
|
\texttt{0x0200..0008} & LP-3520 & Warp & Cross-chain BLS messaging & Draft \\
|
|
\texttt{0x0200..000A} & LP-3520 & Quasar consensus cert verify & LP-0110 / LP-0120 & Draft \\
|
|
\texttt{0x0200..000B} & LP-3520 & Corona (legacy stateful) & Superseded by LP-0120 \texttt{0x012206} & Deprecated \\
|
|
\texttt{0x0200..000C} & LP-3520 / LP-154 & FROST threshold & LP-154 & Draft \\
|
|
\texttt{0x0200..000D} & LP-3520 / LP-155 & CGGMP21 threshold & LP-155 & Draft \\
|
|
\bottomrule
|
|
\caption{Lux EVM-style stateful precompile range owned by LP-3520.
|
|
Three rows are deprecated (\texttt{0006} ML-DSA, \texttt{0007} SLH-DSA,
|
|
\texttt{000B} Corona) -- superseded by the LP-0120 PQ band; cooldown
|
|
to 2027-05-18 per \S\ref{sec:cooldown}.}
|
|
\label{tab:precomp-lp3520}
|
|
\end{longtable}
|
|
|
|
\subsection{Reserved future precompile blocks}
|
|
|
|
\begin{table}[h]
|
|
\centering
|
|
\small
|
|
\begin{tabular}{@{}lll@{}}
|
|
\toprule
|
|
\textbf{Slot range} & \textbf{Status} & \textbf{Notes} \\
|
|
\midrule
|
|
\texttt{0x0010..0x00FF} & Reserved & Ethereum precompile expansion (held by Ethereum; do not allocate) \\
|
|
\texttt{0x010000..0x010FFF} & Reserved & Future Lux core precompiles \\
|
|
\texttt{0x013000..0x01FFFF} & Reserved & Future PQ precompile extensions \\
|
|
\texttt{0x020000..0x02FFFF} & Reserved & Future stateful precompile blocks (per-VM clusters) \\
|
|
\bottomrule
|
|
\end{tabular}
|
|
\caption{Reserved precompile ranges. Allocation only via LP-300
|
|
amendment.}
|
|
\label{tab:precomp-reserved}
|
|
\end{table}
|
|
|
|
\subsection{Deprecated precompiles}
|
|
\label{sec:precomp-deprecated}
|
|
|
|
Six rows currently sit in Deprecated state. They are NOT immediately
|
|
re-allocatable; \S\ref{sec:cooldown} pins the one-year cooldown that
|
|
applies to every Deprecated allocation.
|
|
|
|
\begin{table}[h]
|
|
\centering
|
|
\small
|
|
\begin{tabular}{@{}p{2.6cm}p{2.4cm}p{3.6cm}p{2.0cm}p{2.4cm}@{}}
|
|
\toprule
|
|
\textbf{Slot} & \textbf{Owner LP} & \textbf{Name} & \textbf{Deprecated} & \textbf{Re-allocatable} \\
|
|
\midrule
|
|
\texttt{0x9201} & LP-078 / LP-121 & ECIES & 2026-05-18 & 2027-05-18 \\
|
|
\texttt{0x9210} & LP-078 / LP-116 & AES-256-GCM & 2026-05-18 & 2027-05-18 \\
|
|
\texttt{0x9211} & LP-078 / LP-117 & ChaCha20-Poly1305 & 2026-05-18 & 2027-05-18 \\
|
|
\texttt{0x0200..0006} & LP-3520 & ML-DSA (legacy stateful) & 2026-05-18 & 2027-05-18 \\
|
|
\texttt{0x0200..0007} & LP-3520 & SLH-DSA (legacy stateful) & 2026-05-18 & 2027-05-18 \\
|
|
\texttt{0x0200..000B} & LP-3520 & Corona (legacy stateful) & 2026-05-18 & 2027-05-18 \\
|
|
\bottomrule
|
|
\end{tabular}
|
|
\caption{Deprecation ledger. All six rows entered the cooldown on
|
|
2026-05-18 per AUDIT-2026-05-18 and become re-allocatable on
|
|
2027-05-18. The deprecation does not erase the slot; node operators
|
|
and indexers continue to honor existing on-chain dispatches for the
|
|
cooldown window.}
|
|
\label{tab:precomp-deprecated}
|
|
\end{table}
|