Files
zooqueen a10bf7bbc6 papers: reconcile Corona to Module-LWE (Ringtail-derived, rank-7), not Ring-LWE rank-1
- 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
2026-06-20 01:59:25 -07:00

97 lines
4.4 KiB
TeX

\section{Cooldown for deprecated allocations}
\label{sec:cooldown}
When an allocation is marked Deprecated, the slot is NOT immediately
reusable. A one-year cooldown applies before re-allocation, to give
node operators and indexers time to drop the old code paths.
\subsection{Why a cooldown}
Three concrete failure modes if a deprecated slot is re-allocated
without cooldown:
\begin{enumerate}[leftmargin=2em,nosep]
\item \textbf{Stale node software.} Validator binaries pinned to the
pre-deprecation release continue to dispatch the old precompile.
A re-allocation makes that dispatch return semantically-different
data; the validator's view of the chain forks silently from the
network.
\item \textbf{Indexer leaks.} Off-chain indexers that scrape
historical data may not pick up the new allocation immediately.
Returning historical traces conflates the old and new semantics
on the same slot.
\item \textbf{Audit confusion.} Forensic analysis of a contract that
called the deprecated slot becomes ambiguous: was the dispatch
pre- or post-re-allocation? Without a cooldown window, the line is
blurred.
\end{enumerate}
The cooldown removes all three failure modes by guaranteeing a
calendar window in which the slot is dead -- no dispatch is valid,
no allocation is honored.
\subsection{The current cooldown ledger}
Six allocations entered Deprecated state on 2026-05-18 per
AUDIT-2026-05-18 (the precompile sweep). All six become re-allocatable
on 2027-05-18.
\begin{table}[h]
\centering
\small
\begin{tabular}{@{}p{2.6cm}p{2.4cm}p{6.0cm}p{2.0cm}@{}}
\toprule
\textbf{Slot} & \textbf{Owner LP} & \textbf{Reason} & \textbf{Re-allocatable} \\
\midrule
\texttt{0x9201} & LP-078 / LP-121 & ECIES superseded by HPKE (\texttt{0x9200}) and X-Wing/X-Wing+ hybrid KEMs & 2027-05-18 \\
\texttt{0x9210} & LP-078 / LP-116 & AES-256-GCM moved out of EVM precompile (use stdlib AEAD) & 2027-05-18 \\
\texttt{0x9211} & LP-078 / LP-117 & ChaCha20-Poly1305 moved out of EVM precompile (use stdlib AEAD) & 2027-05-18 \\
\texttt{0x0200..0006} & LP-3520 & ML-DSA stateful slot superseded by LP-0120 \texttt{0x012202} (FIPS 204 verify) & 2027-05-18 \\
\texttt{0x0200..0007} & LP-3520 & SLH-DSA stateful slot superseded by LP-0120 \texttt{0x012203} (FIPS 205 verify) & 2027-05-18 \\
\texttt{0x0200..000B} & LP-3520 & Corona stateful slot superseded by LP-0120 \texttt{0x012206} (Module-LWE threshold) & 2027-05-18 \\
\bottomrule
\end{tabular}
\caption{The six rows currently in cooldown. Until 2027-05-18 they
sit in the Deprecated bucket of LP-300; on 2027-05-18 they become
candidates for re-allocation, subject to the amendment-first rule
(\S\ref{sec:policy}). Re-allocation does not have to happen on
2027-05-18; the slot can stay reserved indefinitely after the
cooldown ends.}
\label{tab:cooldown-ledger}
\end{table}
\subsection{Cooldown procedure}
\begin{enumerate}[leftmargin=2em,nosep]
\item An LP-300 amendment moves the row from its active table to the
Deprecated table (\S\ref{sec:precomp-deprecated} for precompiles;
analogous tables for TypeKind / ShapeKind).
\item The amendment records both the \texttt{Deprecated} date and
the \texttt{Re-allocatable} date (Deprecated + 365 days).
\item The consuming LP that owned the deprecated slot is amended in
the same PR cycle to mark the deprecation and cite the LP-300 row.
\item During the cooldown, no LP MAY re-allocate the slot. A PR that
attempts to do so is rejected by the LP-300 maintainer until the
re-allocatable date has passed.
\item On or after the re-allocatable date, the slot becomes
candidate for re-allocation per the standard amendment-first rule
(\S\ref{sec:policy}). The LP-300 row stays in the Deprecated table
until a new amendment moves it elsewhere.
\end{enumerate}
\subsection{Activation marker}
LP-300 itself is \textbf{Final} from genesis -- unix
\texttt{1766708400} = 2025-12-25T16:20:00-08:00 -- because it is a
meta-registry, not a wire change. The first time the consuming LPs
(LP-208, LP-211, LP-214, LP-218, LP-219, LP-220) cross activation in
production, LP-300 is the binding map. Any disagreement between this
LP and a consuming LP is resolved in favor of LP-300; the consuming
LP must be amended in a follow-up PR.
The activation marker is also the reference time-zero for cooldown
arithmetic. A deprecation on 2026-05-18 (pre-activation) carries
forward post-activation as a calendar window, not a height window;
the cooldown is measured in days from the deprecation date, not
blocks from activation.