mirror of
https://github.com/hanzoai/papers.git
synced 2026-10-29 07:34:31 +00:00
61 lines
2.4 KiB
TeX
61 lines
2.4 KiB
TeX
\section{Inference Attestation}
|
|
|
|
\label{sec:attestation}
|
|
% ============================================================================
|
|
|
|
Inference attestation creates a tamper-proof on-chain record binding an
|
|
inference output to its provenance: which model, which input, which GPU node,
|
|
and when.
|
|
|
|
\subsection{Attestation Structure}
|
|
|
|
\begin{definition}[Inference Attestation]
|
|
An inference attestation $\mathcal{A}$ is a signed on-chain record:
|
|
\begin{equation}
|
|
\mathcal{A} = \left(H(m), H(\mathbf{x}), H(\mathbf{y}), w, v_1, \ldots, v_t,
|
|
\sigma_{\text{threshold}}, b\right),
|
|
\end{equation}
|
|
where $H(\cdot)$ denotes cryptographic hashes, $w$ is the worker, $v_1,
|
|
\ldots, v_t$ are the verifiers that confirmed the result, $\sigma_{\text{threshold}}$
|
|
is a threshold signature from the verification committee, and $b$ is the block
|
|
number.
|
|
\end{definition}
|
|
|
|
\subsection{Commitment Scheme}
|
|
|
|
Workers commit to their outputs before verification begins, preventing them
|
|
from changing outputs after seeing verification results:
|
|
|
|
\begin{enumerate}[leftmargin=1.4em]
|
|
\item \textbf{Commit phase}: Worker computes $c = \texttt{Hash}(m \|
|
|
\mathbf{x} \| \mathbf{y} \| r)$ with random nonce $r$ and submits $c$
|
|
on-chain.
|
|
\item \textbf{Reveal phase}: After the verification committee is selected,
|
|
the worker reveals $(m, H(\mathbf{x}), H(\mathbf{y}), r)$.
|
|
\item \textbf{Verification phase}: Verifiers re-execute and confirm or
|
|
dispute the result.
|
|
\item \textbf{Finalization}: If $\geq t$ verifiers confirm, the attestation
|
|
is finalized with a threshold signature.
|
|
\end{enumerate}
|
|
|
|
\begin{theorem}[Attestation Binding]
|
|
Under the collision resistance of SHA-256, a finalized attestation
|
|
$\mathcal{A}$ uniquely binds the output $\mathbf{y}$ to the model $m$ and input
|
|
$\mathbf{x}$. No polynomial-time adversary can produce a different output
|
|
$\mathbf{y}' \neq \mathbf{y}$ with a valid attestation for the same $(m,
|
|
\mathbf{x})$.
|
|
\end{theorem}
|
|
|
|
\subsection{Model Version Pinning}
|
|
|
|
Attestations include a hash of the model weights, ensuring that results are
|
|
reproducible:
|
|
\begin{equation}
|
|
H(m) = \texttt{SHA256}(\theta_1 \| \theta_2 \| \cdots \| \theta_L),
|
|
\end{equation}
|
|
where $\theta_l$ are the serialized parameters of layer $l$. This prevents a
|
|
worker from using a cheaper (smaller, distilled) model while claiming to run
|
|
the requested model.
|
|
|
|
% ============================================================================
|