mirror of
https://github.com/lux-apps/papers.git
synced 2026-10-30 18:15:21 +00:00
Quasar Horizon (consensus composition over Pulsar / ML-DSA / BLS lanes
under Prism + LSS lifecycle), Warp 2.0 (Pulse-backed cross-chain envelope
with forward-only v1->v2 migration and lattigo ReadUint64Slice DoS fix),
benchmark report (microbench, reshare, activation, Warp 2.0 verify, Prism
composition, GPU headroom, cross-WAN latency), and NIST IR 8214C-style
submission package (spec, parameter sets, domain separation, serialization,
reference-impl pointers, evaluation report, security analysis, side-channel
considerations).
All four deliverables compile cleanly via pdflatex+bibtex and reference
the canonical proof bucket files at proofs/{definitions,pulsar,lss,quasar}.
No duplication of proof bodies; cite by file path.
71 lines
3.7 KiB
TeX
71 lines
3.7 KiB
TeX
\section{Introduction}
|
|
\label{sec:fhe-runtime-intro}
|
|
|
|
Fully Homomorphic Encryption (FHE) lets a server compute on encrypted
|
|
data without ever seeing the plaintext. For Lux blockchain workloads,
|
|
this is the missing piece: confidential ERC-20 (LP-067), private
|
|
teleport (LP-068), threshold-decrypted dark pools, and confidential
|
|
governance. The cost is throughput --- naive TFHE-on-CPU is two to
|
|
three orders of magnitude slower than clear-text execution.
|
|
|
|
This paper specifies the Lux response: a \emph{dual-runtime} FHE stack.
|
|
|
|
\begin{itemize}
|
|
\item \textbf{Lux FHE-Go} (\texttt{github.com/luxfi/fhe}) is the
|
|
reference runtime. It defines the canonical semantics, the
|
|
parameter sets, the wire format, and the KAT generators. It is the
|
|
oracle the rest of the stack matches.
|
|
\item \textbf{Lux FHE-C++} (\texttt{github.com/luxfi/luxcpp/crypto/fhe})
|
|
is the production runtime. It ships a CPU oracle byte-equal to the
|
|
Go reference and GPU backends (Lux FHE-CUDA, Lux FHE-HIP, with
|
|
Lux FHE-SYCL reserved for portable accelerators) that are byte-equal
|
|
to the CPU oracle.
|
|
\end{itemize}
|
|
|
|
The Go runtime defines the semantics; the C++/GPU runtime realizes the
|
|
throughput. Cross-runtime KATs --- the Lux FHE-KAT corpus --- ensure
|
|
semantic equivalence: a key generated in Go deserializes byte-equal in
|
|
C++; an encryption emitted in C++ decrypts in Go to the same plaintext;
|
|
a gate evaluation in either runtime produces a byte-equal output
|
|
ciphertext given identical seeds. This is not a "compatibility shim";
|
|
it is a normative invariant: Theorem~\ref{thm:fhe-dual-runtime-equivalence}
|
|
formalizes it, and the
|
|
\texttt{regen-kats.sh}/\texttt{fhe\_kat\_replay\_test} pair enforces it
|
|
in CI.
|
|
|
|
\paragraph{Position relative to LP-013.}
|
|
LP-013 is the F-Chain GPU compute LP --- it specifies the
|
|
\texttt{drain\_fhe} service inside QuasarGPU's wave-tick scheduler and
|
|
the F-Chain cert-lane plumbing for TFHE evaluation roots. The current
|
|
LP and paper (LP-167) are the dual-runtime umbrella: they name the Go
|
|
reference runtime, the C++ production runtime, the cross-runtime KAT
|
|
contract, and the canonical Quasar-finality binding. In F-Chain
|
|
deployments, the F-Chain \texttt{fchain\_fhe\_root} and the dual-runtime
|
|
\texttt{nebula\_fhe\_root} are the same field; LP-013 names it from
|
|
inside the F-Chain frame, this paper names it from outside. A reader
|
|
who wants the kernel-level F-Chain detail should read LP-013; a reader
|
|
who wants the dual-runtime story should read this paper.
|
|
|
|
\paragraph{Existing FHE papers.}
|
|
Lux ships five companion papers: \emph{lux-fhe-api} (developer
|
|
abstractions and API contract), \emph{lux-fhe-benchmarks} (single-runtime
|
|
performance results), \emph{lux-fhe-mpc-hybrid} (FHE + MPC hybrid
|
|
schemes), \emph{lux-fhe-smart-contracts} (Solidity FHE library and FHEVM
|
|
integration), \emph{lux-tfhe} (the TFHE base library). The current paper
|
|
cites those rather than duplicating them; its scope is the dual-runtime
|
|
positioning and the consensus binding.
|
|
|
|
\paragraph{Roadmap.}
|
|
Section~\ref{sec:fhe-go-reference-runtime} describes the Go reference
|
|
runtime. Section~\ref{sec:fhe-cpp-production-runtime} describes the C++
|
|
production runtime and its three backends. Section~\ref{sec:cross-runtime-katology}
|
|
describes the Lux FHE-KAT corpus and the byte-equality contract.
|
|
Section~\ref{sec:nebula-fhe-scheduling} describes Nebula-FHE, the
|
|
DAG/GPU-native scheduler that runs encrypted computation alongside
|
|
plaintext execution in QuasarGPU. Section~\ref{sec:quasar-finality-binding}
|
|
formalizes the binding into Pulsar / ML-DSA / Beam finality.
|
|
Section~\ref{sec:fhe-benchmarks} reports GPU NTT and bootstrapping
|
|
benchmarks. Section~\ref{sec:fhe-related-work} surveys the FHE
|
|
landscape: OpenFHE, SEAL, HEAAN, Concrete; Section~\ref{sec:fhe-security}
|
|
covers the security posture.
|