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.
34 lines
1.4 KiB
TeX
34 lines
1.4 KiB
TeX
\section{Problem Statement}
|
|
|
|
\label{sec:problem}
|
|
|
|
Base (and any CRDT-based application) replicates state across clients via
|
|
conflict-free merge operations. The server is the coordination point: it
|
|
receives operations, merges them, and fans out updates. This creates a
|
|
trust asymmetry:
|
|
|
|
\begin{enumerate}[nosep]
|
|
\item The server can \textbf{withhold operations}: silently drop writes
|
|
from a subset of clients.
|
|
\item The server can \textbf{rewrite history}: present different state
|
|
vectors to different clients without detection.
|
|
\item The server can \textbf{lie about time}: claim a state snapshot
|
|
existed at time $T$ when it did not.
|
|
\end{enumerate}
|
|
|
|
\noindent
|
|
The user needs a \emph{tamper-evident durability backstop}: cryptographic
|
|
proof that the CRDT state at logical height $h$ had Merkle root $r$,
|
|
anchored to a public chain whose finality is independent of the Base server.
|
|
|
|
\begin{definition}[Anchor]
|
|
An anchor is a tuple $(\mathit{appID}, h, r, t, \sigma)$ where
|
|
$\mathit{appID} \in \{0,1\}^{256}$ identifies the application,
|
|
$h \in \mathbb{N}$ is the logical height (monotonically increasing),
|
|
$r \in \{0,1\}^{256}$ is the Merkle root of the CRDT state at height $h$,
|
|
$t$ is the chain timestamp at inclusion, and $\sigma$ is the submitter's
|
|
ECDSA signature (implicit in the EVM transaction).
|
|
\end{definition}
|
|
|
|
% ============================================================================
|