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.
44 lines
1.4 KiB
TeX
44 lines
1.4 KiB
TeX
\section{Gossip-Based Job Distribution}
|
|
|
|
\label{sec:scheduler}
|
|
|
|
\subsection{Decentralized Scheduler}
|
|
|
|
Lux avoids centralized job coordinators using ZAP-based gossip \cite{zap-protocol}. Workers join the \texttt{/lux/jobs/v1} topic and receive job announcements via pub/sub.
|
|
|
|
\textbf{Algorithm \ref{alg:job-selection}} describes worker job selection:
|
|
|
|
\begin{algorithm}
|
|
\caption{Worker Job Selection Protocol}
|
|
\label{alg:job-selection}
|
|
\begin{algorithmic}[1]
|
|
\STATE Subscribe to \texttt{/lux/jobs/v1} gossip topic
|
|
\WHILE{true}
|
|
\STATE $\text{jobs} \leftarrow$ ReceiveGossipMessages()
|
|
\FOR{$\text{job} \in \text{jobs}$}
|
|
\IF{$\text{job.teeType} == \text{self.teeType}$}
|
|
\IF{$\text{EstimatedGas}(\text{job}) < \text{self.capacity}$}
|
|
\STATE $\text{bid} \leftarrow \text{CalculateBid}(\text{job.gasLimit})$
|
|
\STATE SubmitBidTransaction($\text{job.id}, \text{bid}$)
|
|
\ENDIF
|
|
\ENDIF
|
|
\ENDFOR
|
|
\STATE winner $\leftarrow$ WatchAuctionResult()
|
|
\IF{winner == self.address}
|
|
\STATE ExecuteJobInTEE(job)
|
|
\ENDIF
|
|
\ENDWHILE
|
|
\end{algorithmic}
|
|
\end{algorithm}
|
|
|
|
\subsection{Anti-Sybil Mechanisms}
|
|
|
|
To prevent workers from creating multiple identities:
|
|
|
|
\begin{itemize}
|
|
\item Each worker must stake 5,000 LUX tokens
|
|
\item TEE attestation binds worker's Ethereum address to hardware identity
|
|
\item Repeated failed attestations lead to exponential stake slashing
|
|
\end{itemize}
|
|
|