Files
papers/lux-consensus-engines/sections/prism-03-the-prism-protocol.tex
zeekay 1ecc25e9cf papers: consolidate Photon/Wave/Nova/Nebula/Ray/Field protocol stubs into lux-consensus-engines
The seven engine specifications (lux-{photon,wave,nova,nebula,prism,ray,field}-protocol)
were fragmented short notes documenting layers of the same Quasar consensus stack.
This commit merges them into a single canonical reference, lux-consensus-engines.tex,
that uses one preamble, one set of theorems, one bibliography, and one composition
chapter showing how the engines layer into the LP-020 finality pipeline.

The seven originals are reduced to single-page breadcrumb stubs pointing at the
consolidated paper; their sections/ content is preserved on disk for git history.

- new: lux-consensus-engines/ (50 pages, 646KB PDF, ~2900 lines tex)
- breadcrumbs: each original keeps cover + title + stub paragraph naming its chapter
- composition: chapter 9 records the layered contract Photon < Wave < Nova < ...
- bibliography: consolidated from the seven original thebibliography blocks
2026-05-13 01:02:25 -07:00

64 lines
2.6 KiB
TeX

\section{The Prism Protocol}
\label{sec:prism-protocol}
\subsection{Per-Band Consensus}
Each spectrum band runs an independent Photon pipeline. The bands share the same
validator set but process different transaction subsets.
\begin{algorithm}[H]
\caption{Prism Protocol --- Multi-Spectrum Parallel Consensus}
\label{alg:prism-prism-core}
\begin{algorithmic}[1]
\Require Validator $v$, $B$ spectrum bands, each with pipeline depth $m$
\Require Parameters: $k$, $\alpha$, $\beta$ (per-band Photon parameters)
\State Initialize $B$ independent Photon pipelines $P_0, P_1, \ldots, P_{B-1}$
\Loop
\State \Comment{Assign incoming transactions to bands}
\For{each new transaction $t$}
\State $b \gets H(\text{csid}(t)) \mod B$
\State Insert $t$ into pipeline $P_b$
\EndFor
\State \Comment{Run one round of all band pipelines in parallel}
\State $S \gets \text{RandomSample}(V \setminus \{v\}, k)$
\For{each band $b$ \textbf{in parallel}}
\State Execute one round of $P_b$.\textsc{PhotonRound}($S$)
\EndFor
\State \Comment{Collect finalized transactions from all bands}
\For{each band $b$}
\For{each transaction $t$ finalized by $P_b$ this round}
\State Submit $t$ to spectral combiner
\EndFor
\EndFor
\EndLoop
\end{algorithmic}
\end{algorithm}
\subsection{Shared Sampling}
All bands share the same sample $S$ in each round. This is critical for efficiency:
the validator queries each peer once per round, carrying preferences for all bands.
The response message includes preferences for all active pipeline slots across all bands.
\begin{lemma}[Shared Sample Independence]
\label{lem:prism-shared-sample}
Using the same sample $S$ for all bands does not compromise safety, because the
confidence counters for different bands depend on different transaction preferences,
which are independent for non-conflicting transactions.
\end{lemma}
\begin{proof}
Band $b_1$'s confidence counter for transaction $t_1$ depends on the responses
$\{\text{col}(u, t_1) : u \in S\}$. Band $b_2$'s counter for $t_2$ depends on
$\{\text{col}(u, t_2) : u \in S\}$. Since $t_1$ and $t_2$ are in different bands,
they are non-conflicting (Theorem~\ref{thm:prism-locality}), so the responses for $t_1$ and
$t_2$ are independent random variables even though they come from the same sample $S$.
The joint distribution factors: $\Pr[\text{col}(u, t_1) = c_1, \text{col}(u, t_2) = c_2] =
\Pr[\text{col}(u, t_1) = c_1] \cdot \Pr[\text{col}(u, t_2) = c_2]$.
\end{proof}
%% -----------------------------------------------------------------------
%% 4. SPECTRAL COMBINER
%% -----------------------------------------------------------------------