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
72 lines
4.2 KiB
TeX
72 lines
4.2 KiB
TeX
\section{What changed from 3.0}
|
|
|
|
\label{sec:diff-3-to-4}
|
|
%% ============================================================================
|
|
|
|
QuasarSTM~3.0~\cite{lp010-quasarstm-3} is the substrate paper.
|
|
QuasarSTM~4.0 is the production paper. Table~\ref{tab:diff34}
|
|
catalogues the differences exactly. Subsequent sections specify each
|
|
4.0 line item.
|
|
|
|
\begin{table}[ht]
|
|
\centering
|
|
\small
|
|
\caption{QuasarSTM 3.0 (2025-12-25) vs.\ 4.0 (2026-02-14)
|
|
production-feature delta.}
|
|
\label{tab:diff34}
|
|
\begin{tabular}{p{0.27\linewidth}p{0.32\linewidth}p{0.32\linewidth}}
|
|
\toprule
|
|
\textbf{Topic} & \textbf{3.0 (substrate)} & \textbf{4.0 (production)} \\
|
|
\midrule
|
|
EVM coverage & 118 opcodes; no \texttt{CALL} family, no \texttt{CREATE}, no \texttt{LOG}, no \texttt{EXTCODE}$\!*$ & \textbf{175 opcodes} including \texttt{CALL}/\texttt{CALLCODE}/ \texttt{DELEGATECALL}/\texttt{STATICCALL}, \texttt{CREATE}/\texttt{CREATE2}, \texttt{LOG}$_n$, \texttt{EXTCODE}$\!*$, \texttt{RETURNDATA}$\!*$, \texttt{TLOAD}/\texttt{TSTORE}, \texttt{MCOPY}, \texttt{BLOBHASH}/\texttt{BLOBBASEFEE} \\
|
|
SSTORE & write-through & \textbf{journaled} with EIP-2929~\cite{eip2929} cold/warm + EIP-3529~\cite{eip3529} refunds \\
|
|
BLS verifier & HMAC-keccak placeholder & \textbf{real BLS12-381}~\cite{bls12381} pairing on-device \\
|
|
Corona verifier & HMAC-keccak placeholder & \textbf{real Module-LWE}~\cite{corona} share verifier \\
|
|
Groth16 verifier & HMAC-keccak placeholder & \textbf{real Groth16}~\cite{groth2016} on BLS12-381 \\
|
|
Tier 1 lane-clock & sketch & \textbf{production fast path} \\
|
|
Tier 3 semantic reducers & enum stub & \textbf{production reducer commit} \\
|
|
ConflictSpec ABI & not implemented & \textbf{production} (Static / ABI / Historical / UserDeclared / Precompile / Learned) \\
|
|
LaneClass & not implemented & \textbf{NEMO}~\cite{nemo2025} (Owned / Shared / HotShared / Commutative / Unknown) \\
|
|
Versioning mode & always-on multi-version & \textbf{dynamic per-lane}~\cite{multiverse2026} \\
|
|
Fiber checkpoints & not implemented & \textbf{production}, per CALL-frame \\
|
|
Commit horizon & sketch & \textbf{production} (Nova prefix / Nebula cut) \\
|
|
MVCC GC & not implemented & \textbf{production}, horizon-driven \\
|
|
Motor VersionBlock~\cite{motor2024} & not implemented & \textbf{production} (4--8 inline versions per key) \\
|
|
GPU services & 12 (LP-132 3.0) & \textbf{16} (12 + A/B/M/F) \\
|
|
CSMV~\cite{csmv} commit server & not implemented & \textbf{scaffold landed}, single-GPU production \\
|
|
Formal CPU reference~\cite{vmvcc} & not implemented & \textbf{small executable semantics} + differential fuzzer \\
|
|
Cross-backend determinism & per-backend tests & \textbf{single harness}, byte-identical roots Metal $=$ CUDA \\
|
|
Coverage & informal & $\mathbf{\geq 96\%}$ \textbf{line coverage} on the CPU reference oracle (LP-137-COVERAGE.md) \\
|
|
\bottomrule
|
|
\end{tabular}
|
|
\end{table}
|
|
|
|
\paragraph{What did not change.}
|
|
The 3.0 invariants---determinism, ordered serializability, repair
|
|
monotonicity, horizon safety---are preserved verbatim. The wire format
|
|
(\texttt{QuasarRoundDescriptor}, \texttt{QuasarRoundResult}) is
|
|
byte-for-byte unchanged. The public host API
|
|
(\texttt{QuasarGPUEngine}~\cite{lp132-quasarexec}) is unchanged. The
|
|
canonical-order $\preceq_{\mathrm{can}}$ is unchanged: 4.0 reads
|
|
3.0-emitted round artifacts and emits 4.0 round artifacts with the
|
|
extra \texttt{hint\_roots}~\cite{chiron2025} riding in the existing
|
|
\texttt{roots} slot. There is no on-disk state migration. Validators
|
|
running 3.0 after 2026-02-14 are rejected at the consensus engine and
|
|
must upgrade.
|
|
|
|
\paragraph{Backward / forward compatibility.}
|
|
\begin{itemize}[leftmargin=2em]
|
|
\item \texttt{ServiceId.Count} flips from 12 to 16 at the activation
|
|
height; old IDs unchanged.
|
|
\item \texttt{VersionBlock.MAX\_INLINE\_VERSIONS} flips from 4 to 8;
|
|
4.0 reads 3.0 blocks, 3.0 cannot read 4.0 blocks (forward only).
|
|
\item The HMAC-keccak verifier path is preserved as a
|
|
development-only mode under \texttt{EVM\_DEV\_HMAC\_VERIFIER=1}
|
|
for deterministic test vectors. It is rejected on production
|
|
networks.
|
|
\item Pre-activation rounds remain valid as historical 3.0 rounds; the
|
|
activation height is the partition.
|
|
\end{itemize}
|
|
|
|
%% ============================================================================
|