mirror of
https://github.com/lux-apps/papers.git
synced 2026-10-30 18:15:21 +00:00
Restructured from flat .tex/.pdf files into per-paper subdirectories. Added Antje Worring as co-author on all papers. Synced PDFs to pdfs/ for download site.
140 lines
3.8 KiB
TeX
140 lines
3.8 KiB
TeX
\section{Consensus Engines}
|
|
|
|
|
|
\subsection{Photon: Sampling-Based Consensus}
|
|
|
|
Binary consensus using network sampling:
|
|
|
|
|
|
|
|
\begin{algorithmic}[1]
|
|
\State \textbf{function} \textsc{QueryRound}(preference, validators)
|
|
\State $sample \gets \text{RandomSample}(validators, K)$
|
|
\State $votes \gets \text{QueryPreference}(sample)$
|
|
\If{$votes \geq \alpha$}
|
|
\State $confidence \gets confidence + 1$
|
|
\If{$confidence \geq \beta$}
|
|
\State \Return $\texttt{FINALIZED}$
|
|
\EndIf
|
|
\Else
|
|
\State $confidence \gets 0$
|
|
\EndIf
|
|
\State \Return $\texttt{CONTINUE}$
|
|
\State \textbf{end function}
|
|
\end{algorithmic}
|
|
|
|
|
|
\textbf{Parameters:}
|
|
\begin{itemize}
|
|
\item $K = 25$: Sample size
|
|
\item $\alpha = 15$: Quorum threshold
|
|
\item $\beta = 20$: Confidence threshold
|
|
\end{itemize}
|
|
|
|
\subsection{Wave: Thresholding Consensus}
|
|
|
|
Fast finality through adaptive thresholding:
|
|
|
|
|
|
|
|
\begin{algorithmic}[1]
|
|
\State \textbf{function} \textsc{WaveQuery}(choices, validators)
|
|
\State $sample \gets \text{RandomSample}(validators, K)$
|
|
\State $votes \gets \text{QueryPreferences}(sample, choices)$
|
|
\For{each $choice \in choices$}
|
|
\If{$votes[choice] \geq \alpha$}
|
|
\State $preferences[choice] \gets preferences[choice] + 1$
|
|
\If{$preferences[choice] \geq \beta$}
|
|
\State \Return $choice$ \Comment{Finalized}
|
|
\EndIf
|
|
\EndIf
|
|
\EndFor
|
|
\State \Return $\texttt{CONTINUE}$
|
|
\State \textbf{end function}
|
|
\end{algorithmic}
|
|
|
|
|
|
\subsection{Nova: DAG Finalizer}
|
|
|
|
Finalizes transactions in DAG structures using Verkle proofs:
|
|
|
|
|
|
|
|
\begin{algorithmic}[1]
|
|
\State \textbf{function} \textsc{FinalizeVertex}(vertex, dag)
|
|
\State $proof \gets \text{GenerateVerkleWitness}(vertex)$
|
|
\If{$\text{ValidateWithWitness}(vertex, proof)$}
|
|
\State $dag.\text{Finalize}(vertex)$
|
|
\State \Return $\texttt{TRUE}$
|
|
\EndIf
|
|
\State \Return $\texttt{FALSE}$
|
|
\State \textbf{end function}
|
|
\end{algorithmic}
|
|
|
|
|
|
\textbf{Verkle Tree Benefits:}
|
|
\begin{itemize}
|
|
\item $O(\log n)$ proof size vs. $O(n)$ for Merkle trees
|
|
\item Constant-time verification
|
|
\item Efficient state witness generation
|
|
\end{itemize}
|
|
|
|
\subsection{Nebula: Full DAG Consensus}
|
|
|
|
Complete DAG consensus with parallel transaction processing:
|
|
|
|
|
|
|
|
\begin{algorithmic}[1]
|
|
\State \textbf{function} \textsc{ProcessTransaction}(tx, dag)
|
|
\State $witness \gets witnessCache.\text{Get}(tx.ID)$
|
|
\If{$verkleTree.\text{ValidateWithWitness}(tx, witness)$}
|
|
\State $dag.\text{AddVertex}(tx)$
|
|
\State $\text{Broadcast}(tx)$ \Comment{Parallel propagation}
|
|
\State \Return $\texttt{TRUE}$
|
|
\EndIf
|
|
\State \Return $\texttt{FALSE}$
|
|
\State \textbf{end function}
|
|
\end{algorithmic}
|
|
|
|
|
|
\subsection{Prism: Voting-Based Consensus}
|
|
|
|
Direct voting for governance operations:
|
|
|
|
|
|
|
|
\begin{algorithmic}[1]
|
|
\State \textbf{function} \textsc{ProcessVote}(vote, proposal)
|
|
\State $votes[proposal][vote.NodeID] \gets vote$
|
|
\State $support \gets \text{CalculateSupport}(proposal)$
|
|
\If{$support \geq threshold$}
|
|
\State $\text{ExecuteProposal}(proposal)$
|
|
\State \Return $\texttt{APPROVED}$
|
|
\EndIf
|
|
\State \Return $\texttt{PENDING}$
|
|
\State \textbf{end function}
|
|
\end{algorithmic}
|
|
|
|
|
|
\subsection{Quasar: Quantum-Secure Overlay}
|
|
|
|
The pinnacle layer adding triple-proof finality:
|
|
|
|
|
|
|
|
\begin{algorithmic}[1]
|
|
\State \textbf{function} \textsc{FinalizeBlock}(block)
|
|
\State Launch $\text{CollectBLS}(block)$ in parallel
|
|
\State Launch $\text{CollectCorona}(block)$ in parallel
|
|
\State Wait for both with timeout = 10ms (GPU BLS) / 100ms (CPU fallback)
|
|
\If{both certificates valid}
|
|
\State \Return $\text{TripleProof}(blsCert, rtCert)$
|
|
\Else
|
|
\State \Return $\texttt{TIMEOUT}$ \Comment{Retry collection}
|
|
\EndIf
|
|
\State \textbf{end function}
|
|
\end{algorithmic}
|
|
|
|
|