mirror of
https://github.com/luxfi/proofs.git
synced 2026-10-30 15:21:05 +00:00
Squashed batch covering:
- lux-adopts-liquidity-protocol.tex: protocol adoption proof artifact
- chronology updates aligning Quasar consensus references to LP-020
- pq-finality-no-bls.tex: Pulsar (Corona-derived lattice threshold)
naming clarification; per-block / per-epoch / per-era cert language
- quasar-cert-soundness.tex: Pulsar (systems-layer composition with
key-era lifecycle, resharing, activation cert, rollback) vs Corona
(signing primitive); math notation and theorems unchanged
- INFRASTRUCTURE-STATUS-2026-04-20.md → INFRASTRUCTURE-STATUS.md
(drop date stamp from filename)
- LP back-refs and chronology integration
quasar-cert-soundness.tex production-publishable depth (March 3 final):
- NEW Section 6 (Pulsar Key-Era Lifecycle Lemmas): formal
definitions for Pulsar share state, GroupKey hash, and Refresh /
Reshare / Reanchor transitions. Four lifecycle lemmas with full
proofs:
Lemma 10 (Generation monotonicity)
Lemma 11 (KeyEraID stability across Reshare)
Lemma 12 (GroupKey byte-identity across Refresh and Reshare)
Lemma 13 (Rollback-lineage forward reconstruction)
Plus Theorem 14 (Activation-certificate soundness): VerifyActivation
accepts iff the new committee shares Lagrange-recombine to the
master secret under the unchanged GroupKey, except with negligible
probability under MLWE/MSIS.
- Lagrange-recombination identity written as a labelled display
equation, citing
Crypto.Threshold.Reshare.reshare_preserves_public_key in
lean/Crypto/Threshold/Reshare.lean for the mechanised companion.
- Bibliography additions: hjky97 (Herzberg--Jarecki--Krawczyk--Yung
proactive secret sharing), desmedtjajodia97 (redistribution),
wongwangwing02 (verifiable redistribution), lp073 (Pulsar paper).
- LP-073 section pointers updated to text-form references that
survive without LP-073 .aux file.
Naming evolution: throughout this work, "Corona" refers to the
lattice signing primitive (Sign1/Sign2/Combine math); "Pulsar" refers
to the Lux production fork at github.com/luxfi/pulsar that wraps it
with key-era lifecycle for permissionless validator-set rotation.
- proofs/fhe/ (NEW): canonical proof bucket for the Lux FHE
dual-runtime stack (LP-167 companion):
correctness.tex — encrypt → evaluate → decrypt correctness.
dual-runtime-equivalence.tex — Lux FHE-Go and Lux FHE-C++ produce
byte-equal output on identical inputs
and parameters; KAT closure witness.
nebula-binding.tex — FHE result roots bind into Nebula /
Quasar transcripts; reduces a forged
binding to hash collision + Pulsar
SUF-CMA forgery.
parameter-security.tex — concrete LWE parameter security under
the Albrecht estimator; ≥128-bit
classical and ≥128-bit quantum for
PN10QP27 / PN11QP54 / PN9QP28_STD128.
Theorem statements + remarks; no proof bodies duplicated in the
companion paper (papers/lux-fhe-runtime/) — the paper cites these.
56 lines
2.2 KiB
TeX
56 lines
2.2 KiB
TeX
%% ============================================================
|
|
%% lss/lifecycle-safety.tex
|
|
%% ============================================================
|
|
%%
|
|
%% Canonical LSS lifecycle invariants for any kernel adapter.
|
|
%% ============================================================
|
|
|
|
\subsection*{LSS lifecycle invariants}
|
|
|
|
The following lemmas hold for any LSS-managed threshold kernel
|
|
(Pulsar, Lens, CMP) carrying state-tuple
|
|
$(\eta, g, \mathsf{rb}, V, t, \mathsf{State})$.
|
|
|
|
\begin{lemma}[Generation monotonicity]
|
|
\label{lem:gen-monotonic}
|
|
Across any sequence of $\mathsf{DynamicReshare}$ or $\mathsf{Refresh}$
|
|
calls within an era, $g$ increases monotonically by exactly $1$ per
|
|
call. Across $\mathsf{Rollback}(g_{\text{target}})$, the restored state
|
|
carries $g = g_{\text{current}} + 1$ and
|
|
$\mathsf{rb} = g_{\text{current}}$ (cf.\
|
|
\texttt{quasar-cert-soundness.tex} Lemma 10
|
|
\texttt{lem:gen-mono}).
|
|
\end{lemma}
|
|
|
|
\begin{lemma}[KeyEraID stability]
|
|
\label{lem:eta-stable}
|
|
$\eta$ is unchanged by $\mathsf{Refresh}$, $\mathsf{Reshare}$, or
|
|
$\mathsf{Rollback}$. $\eta$ increments by $1$ \emph{only} on
|
|
$\mathsf{Reanchor}$; the new era starts at $g = 0$, $\mathsf{rb} = 0$
|
|
(cf.\ Lemma 11 \texttt{lem:eta-stable}).
|
|
\end{lemma}
|
|
|
|
\begin{lemma}[GroupKey byte-identity]
|
|
\label{lem:gk-byte-identical}
|
|
The $\mathsf{GroupKey}$ pointer (the $(\mathbf{A}, \tilde{\mathbf{b}})$
|
|
public-key bytes for Pulsar; the $(g, h, X)$ bytes for Lens) is
|
|
\emph{byte-identical} across every $\mathsf{Refresh}$ and
|
|
$\mathsf{Reshare}$ within a key era. The proof reduces to the
|
|
master-secret preservation theorem
|
|
(\texttt{pulsar/reshare-preservation.tex}
|
|
Theorem~\ref{thm:pulsar-reshare-preserves-s}) plus the deterministic
|
|
formula $\tilde{\mathbf{b}} = \lfloor\mathbf{A}\cdot\mathbf{s} +
|
|
\mathbf{e}\rceil_\Xi$ with $\mathbf{e}$ erased post-Bootstrap (cf.\
|
|
Lemma 12 \texttt{lem:gk-identical}).
|
|
\end{lemma}
|
|
|
|
\begin{lemma}[Rollback lineage reconstructibility]
|
|
\label{lem:rollback-lineage}
|
|
Given the snapshot history $\{(\eta_i, g_i, \mathsf{rb}_i,
|
|
\mathsf{State}_i)\}$ persisted by the LSS RollbackManager, the
|
|
\emph{forward} lineage of the chain is reconstructible: for any
|
|
current state, the chain of $\mathsf{rb}$ pointers traces back to the
|
|
genesis state of the era (cf.\ Lemma 13
|
|
\texttt{lem:rollback-lineage}).
|
|
\end{lemma}
|