mirror of
https://github.com/lux-apps/papers.git
synced 2026-11-02 11:39:52 +00:00
40 lines
1.9 KiB
TeX
40 lines
1.9 KiB
TeX
\section{PQZ Cross-Chain Parallelism}
|
|
|
|
\label{sec:pqz}
|
|
|
|
The Lux primary network runs P-Chain (validator registry) together with
|
|
the DAG chains and the Quasar-finality Q-Chain. We collectively call the
|
|
operational model \textbf{PQZ}: Primary validators, Quasar certificates,
|
|
and the ZK overlay. The question: does running all chains concurrently on
|
|
the same validator set compromise per-chain safety?
|
|
|
|
The answer is \emph{no}, by a straightforward independence argument
|
|
formalised in \texttt{Consensus/PQZParallel.lean}. The key observations:
|
|
|
|
\begin{enumerate}
|
|
\item \textbf{Type-level chain scoping}: vertex types in Go are
|
|
package-parameterised ($\texttt{zkvm.Vertex}$, $\texttt{dexvm.DexVertex}$,
|
|
etc.); a cross-chain \texttt{Conflicts} call is not expressible.
|
|
\item \textbf{Quasar certificates are chain-local}: each antichain
|
|
Quasar stamp binds a chain-ID and rank; stamps from different chains
|
|
are independently verifiable.
|
|
\item \textbf{Validator signing is re-entrant}: a validator signing on
|
|
$k$ chains performs $k$ independent BLS + ML-DSA + Pulsar operations
|
|
whose cost scales linearly in $k$. No chain blocks another.
|
|
\item \textbf{Shared validator set, shared network}: the only cross-chain
|
|
coupling is bandwidth; GPU batch verify linearises signature cost
|
|
across all chains on the same hardware.
|
|
\end{enumerate}
|
|
|
|
We measured this empirically. The 6 DAG-capable VMs (Z, D, A, O, R, S) are
|
|
driven by 17 unit tests running concurrently in \texttt{go test -race}; no
|
|
data races are reported. The \texttt{evmgpu/dag} package adds another 17
|
|
tests (\texttt{TestStorageKeySetDisjoint} through \texttt{TestVertexStore})
|
|
with GPU and CPU build-tag variants. All pass.
|
|
|
|
\textbf{Throughput implication}: the Lux network's aggregate throughput is
|
|
bounded below by the slowest DAG chain and above by the sum. With GPU
|
|
ecrecover + GPU keccak + GPU bitmap-intersect shared across all chains
|
|
(single context per host), adding chains is strictly additive.
|
|
|