Files
zeekayandHanzo Dev 178febad68 papers: reconcile T-Chain -> M-Chain / F-Chain / B-Chain per LP-134
Every rendered "T-Chain" / "ThresholdVM" / "teleportvm" reference across
the paper corpus is rewritten to the correct canonical chain by concern:
threshold signing / MPC / bridge custody / key recovery -> M-Chain (MVM);
FHE / encrypted compute / threshold decryption -> F-Chain (FVM); teleport
/ cross-chain messaging -> B-Chain (bridgevm); consensus Pulsar stays
Q-Chain. Section lux-trust-kernel/03-t-chain-threshold-governance.tex
renamed -> 03-f-chain-encrypted-policy.tex (with \input + xref fixes).
Braided "T-Chain" sections split by concern (M vs F). Only lp-020's
chain-separation rationale and the shared lux/chains/thresholdvm library
path retain the name, to record the removal. All changed papers rebuilt
(pdflatex, rc=0, no undefined refs).

ยง09 of lux-dao-governance-framework reframed: fabricated "production
deployment" metrics ($50M/$240k/$12M, survey %s, "as of Oct 2024")
relabeled as illustrative design configurations with no invented
replacements; reality noted (DAO treasury is a 1/1 Safe); conclusion
echo + one "first production" overclaim softened.

This commit also captures concurrent corpus workstreams on the same tree.

Co-authored-by: Hanzo Dev <[email protected]>
2026-07-02 00:57:09 -07:00

103 lines
5.7 KiB
TeX

\section{Open questions and cryptographer-review items}
\label{sec:open}
XSS reuses two cryptographic verifiers that are implemented
(\texttt{0x012205} P3Q, \texttt{0x012220} starkfri) and a note model that
exists (\texttt{lux/chains/zkvm/}), but it composes them in ways the code
does not yet exercise. The cryptographic claims below are \emph{not}
asserted as proven. \textbf{The shielded-pool soundness and the
P3Q/starkfri trust model require cryptographer sign-off before
implementation.}
\subsection{Items requiring cryptographer sign-off}
\begin{enumerate}[leftmargin=2em]
\item \textbf{Shielded-pool soundness (commitments/nullifiers).} That
the deployed commitment scheme is binding and hiding, that nullifiers
are unforgeable and uniquely determined by a note, and that the note
pool admits no inflation. The model objects exist
(\texttt{transaction.go:113--120};
\texttt{precompile/zk/commitment.go}) but the shield/unshield
execution is a stub (\texttt{handlers.go:141,313}); the scheme must be
pinned and reviewed as deployed.
\item \textbf{Cross-boundary double-spend (S4).} That a single note
cannot be both unshielded to a visible X UTXO \emph{and} spent again
on Z --- i.e. the nullifier set is the single arbiter across both the
X mint side and the Z spend side, with no race or partition that
admits two consumptions. This is the soundness of S4 specifically at
the X$\leftrightarrow$Z seam.
\item \textbf{Boundary conservation enforcement (S2 shielded term).}
That the equal-value link between a burned visible UTXO and a minted
commitment (shield), and between a nullified note and a minted visible
UTXO (unshield), is enforced by the validity proof and not merely
asserted. Today \emph{no} code tracks visible $+$ shielded $=$ total;
the mechanism that makes $S(a,h)$ auditable and conserved is new and
must be designed under review.
\item \textbf{P3Q attestation trust model.} P3Q is an ML-DSA-65
attestation --- its soundness reduces to the honesty of the attesting
set (a single-venue / trusted-operator assumption, per its own
``rollup-commit verifier'' role, \texttt{contract.go:30,41}). The
policy question: \emph{for which settlements is an attestation
acceptable, and for which is a starkfri STARK mandatory?} XSS must
define the boundary (e.g. attestation acceptable only single-venue and
below a value threshold; STARK required otherwise) and a cryptographer
must validate that the attestation assumption is acceptable wherever
it is used for value transfer.
\item \textbf{starkfri trust model and AIR coverage.} starkfri is a
STARK/FRI verifier (\texttt{contract.go:75}); its trustlessness
depends on the soundness of the AIR it verifies and the FRI parameters.
The settlement-validity AIR (``the module's state transition to
\texttt{stateRoot} was valid, and the settled deltas are exactly
these'') does not exist yet and must be specified and reviewed. Note:
the repo's starkfri benchmark uses a \emph{toy} 2\,KiB proof payload
(\texttt{starkfri/bench\_test.go}), so any performance expectation for
a real settlement AIR is unestablished.
\end{enumerate}
\subsection{Architectural open questions}
\begin{enumerate}[leftmargin=2em]
\item \textbf{The rollup is not wired.} The pipeline batch $\to$ P3Q
$\to$ starkfri $\to$ Z does not exist in \texttt{lx/dex/} today
(Section~\ref{sec:bridge}). XSS depends on it both for the DEX (P2/P3
settlement proofs) and for the shielded boundary. The
``shield/unshield generalizes the rollup'' claim is architectural
until that wiring exists; it should be built and proven (under the
coexistence harness) for the DEX first, then reused for the boundary.
\item \textbf{P's mint authority.} The P-Chain's independent
\texttt{CreateAssetTx} and reward minting
(\texttt{create\_asset\_tx.go:61};
\texttt{proposal\_tx\_executor.go:300}) directly contradict ``other
chains compute, X settles.'' Resolving this in P4 means moving asset
creation and reward issuance to X-settled results. The migration of
reward issuance in particular (rewards are \emph{new} value, not a
movement of existing locked value) needs a precise conservation story:
reward minting becomes an X-level inflation primitive gated by P's
settlement, distinct from the net-zero \texttt{SettleTx}.
\item \textbf{No performance number is claimed.} This document asserts
no throughput figure. The P3Q and starkfri precompiles have benchmark
harnesses (\texttt{p3q/bench\_test.go}, \texttt{starkfri/bench\_test.go})
but \emph{no measured throughput is committed in the repo}; the
coexistence harness (Section~\ref{sec:coexistence}, axis 4) is the
mechanism that produces the real performance delta before any flip to
\texttt{unified}.
\item \textbf{Lock liveness vs module stalls.} \texttt{expiry} and
\texttt{unlockCondition} guarantee value can always return to its
owner if a module stalls, but the precise predicates (when may an
owner unlock a \texttt{dex} lock whose order ``never rested''? a
\texttt{stake} lock during an unbonding window?) are per-module policy
to be specified in P2/P4 and must not admit an unlock that races a
legitimate in-flight settlement.
\end{enumerate}
\subsection{Scope of this document}
This is a design specification. It defines the XSS model, the
\texttt{XLock} object, the five X primitives, the visible$\leftrightarrow$
shielded bridge, the per-chain reductions, the coexistence harness, the
phased migration, and the safety properties --- grounding every
architectural claim in current code with explicit \IMPL{} /
\DESIGN{} marks. It does \emph{not} implement the wire, and it does
\emph{not} assert the cryptographic soundness of the shielded pool or
the proof trust models, which are gated on the sign-off above.