mirror of
https://github.com/lux-apps/papers.git
synced 2026-10-30 18:15:21 +00:00
Auto-fixes from the paper accuracy swarm: unambiguous build-breakers, broken \ref/\cite/\input targets, and prose typos. Substantive accuracy findings (dates, contradictory numbers, LP numbering) reported separately for review.
53 lines
1.8 KiB
TeX
53 lines
1.8 KiB
TeX
\section{Economic Model}
|
|
|
|
\label{sec:economics}
|
|
|
|
\subsection{Fee Structure}
|
|
|
|
The pricing model consists of three components:
|
|
|
|
\begin{align}
|
|
\text{TotalFee} &= \text{ComputeFee} + \text{DataFee} + \text{AttestationFee} \\
|
|
\text{ComputeFee} &= 0.5 \text{ LUX/sec} \times \text{EnclaveTime} \times \text{PriceMultiplier} \\
|
|
\text{DataFee} &= 0.01 \text{ LUX/KiB} \times |\text{EncryptedResult}| \\
|
|
\text{AttestationFee} &= 0.02 \text{ LUX (fixed)}
|
|
\end{align}
|
|
|
|
\textbf{Dynamic Pricing}: $\text{PriceMultiplier}$ adjusts based on network utilization using an automated market maker (AMM) curve:
|
|
|
|
\begin{equation}
|
|
\text{PriceMultiplier}(u) = 1 + 5 \cdot \left(\frac{u}{100}\right)^3
|
|
\end{equation}
|
|
|
|
where $u$ is the percentage of active workers currently executing jobs.
|
|
|
|
\subsection{Payment Flow}
|
|
|
|
\begin{enumerate}
|
|
\item Job submitter pre-pays $\text{TotalFee}$ into escrow contract
|
|
\item Upon successful verification, 95\% goes to worker, 5\% to protocol treasury
|
|
\item If verification fails, 100\% refunded to submitter
|
|
\item Workers receive payment after 12-block fraud-proof window
|
|
\end{enumerate}
|
|
|
|
\subsection{Fraud Proofs}
|
|
|
|
If a worker submits an invalid result, any third party can challenge by providing:
|
|
|
|
\begin{lstlisting}[caption={Fraud Proof Structure}]
|
|
struct FraudProof {
|
|
uint256 jobId;
|
|
bytes32[] merkleProof; // Proof of incorrect trace step
|
|
bytes32 expectedTraceHash; // Correct hash at that step
|
|
bytes32 actualTraceHash; // Worker's claimed hash
|
|
}
|
|
\end{lstlisting}
|
|
|
|
The verifier contract checks:
|
|
\begin{equation}
|
|
\text{MerkleVerify}(\text{merkleProof}, \text{actualTraceHash}, \text{submittedRoot}) \land (\text{actualTraceHash} \neq \text{expectedTraceHash})
|
|
\end{equation}
|
|
|
|
If valid, the worker loses their entire stake (5,000 LUX), split 50\% to challenger and 50\% burned.
|
|
|