mirror of
https://github.com/lux-apps/papers.git
synced 2026-10-30 18:15:21 +00:00
37 lines
1.6 KiB
TeX
37 lines
1.6 KiB
TeX
\section{Adversary Model}
|
|
|
|
\label{sec:adversary}
|
|
|
|
\begin{theorem}[Anchor Integrity]
|
|
Let $\mathcal{A}$ be an adversary controlling the Base server but not
|
|
$\geq 1/3$ of chain validators. $\mathcal{A}$ cannot produce an anchor
|
|
$(appID, h, r')$ for $r' \neq r$ at height $h$ if an honest anchor
|
|
$(appID, h, r)$ was already finalized.
|
|
\end{theorem}
|
|
|
|
\begin{proof}
|
|
The height monotonicity invariant prevents overwriting: once height $h$ is
|
|
anchored, no transaction with height $\leq h$ for the same appID is
|
|
accepted. Reverting the anchor requires a chain reorganization past the
|
|
Quasar finality depth, which requires compromising $\geq 1/3$ of
|
|
validators across all three signature schemes (BLS, ML-DSA, Pulsar).
|
|
\end{proof}
|
|
|
|
\paragraph{Withholding attack.}
|
|
The server can refuse to anchor, or anchor selectively. This is detectable:
|
|
if the user expects an anchor at height $h$ and \texttt{getLatest(appID)}
|
|
returns $h' < h$, the server is withholding. Mitigation: let clients
|
|
submit anchors directly (the precompile accepts any \texttt{msg.sender}).
|
|
|
|
\paragraph{Equivocation.}
|
|
The server anchors root $r_1$ at height $h$ on-chain but presents root
|
|
$r_2$ to a client. The client detects this on verification (step 4 above).
|
|
The on-chain record is authoritative.
|
|
|
|
\paragraph{Reorg protection.}
|
|
On Q-Chain, a QuasarCert-finalized anchor is irreversible under the Quasar
|
|
security model. On C-Chain, wait for 2 block confirmations ($\approx 4$s)
|
|
for probabilistic finality equivalent to $10^{-9}$ reorg probability.
|
|
|
|
% ============================================================================
|