Files
zeekay 98343d238e papers: Mar-3 freeze deliverables for hybrid PQ consensus stack
Quasar Horizon (consensus composition over Pulsar / ML-DSA / BLS lanes
under Prism + LSS lifecycle), Warp 2.0 (Pulse-backed cross-chain envelope
with forward-only v1->v2 migration and lattigo ReadUint64Slice DoS fix),
benchmark report (microbench, reshare, activation, Warp 2.0 verify, Prism
composition, GPU headroom, cross-WAN latency), and NIST IR 8214C-style
submission package (spec, parameter sets, domain separation, serialization,
reference-impl pointers, evaluation report, security analysis, side-channel
considerations).

All four deliverables compile cleanly via pdflatex+bibtex and reference
the canonical proof bucket files at proofs/{definitions,pulsar,lss,quasar}.
No duplication of proof bodies; cite by file path.
2026-03-03 12:00:00 -08:00

123 lines
4.4 KiB
TeX

\section{TicToc-Style Timestamps Without Breaking Determinism}
\label{sec:tictoc}
%% ============================================================================
QuasarSTM borrows TicToc's per-data-item timestamp pair to reduce
false aborts on the Tier-2 path. The hard rule
(\S\ref{sec:background}) is that timestamps cannot reorder
consensus---they only certify that an observed version is
serializable within the canonical order $\preceq_{\mathrm{can}}$.
\subsection{Per-Key Timestamps}
\begin{definition}[Per-key timestamps]
\label{def:per-key-ts}
Each key header carries
$(\mathit{read\_ts},\, \mathit{write\_ts}) \in \mathbb{N}^2$ where
\begin{itemize}[leftmargin=2em,nosep]
\item $\mathit{read\_ts}(k) = \max \{\, \mathit{ts}(T) :
T \text{ has read } k \,\}$;
\item $\mathit{write\_ts}(k) = \mathit{ts}(T)$ for the most recent
committed writer $T$ of $k$.
\end{itemize}
Both fields are stored in the device-resident
\texttt{StmKeyHeader}.
\end{definition}
\subsection{Per-Transaction Timestamps}
\begin{definition}[Per-transaction timestamps]
\label{def:per-tx-ts}
For a transaction $T$ with read footprint $R(T)$ and write footprint
$W(T)$,
\[
T.\mathit{read\_ts\_min} =
\max \bigl\{\, \mathit{write\_ts}(k) \,:\, k \in R(T) \,\bigr\}
\]
\[
T.\mathit{write\_ts} =
\max \bigl\{\, \mathit{read\_ts}(k) \,:\, k \in W(T) \,\bigr\} + 1.
\]
A transaction \emph{passes the TicToc test} if there exists
$\mathit{ts}(T) \in [T.\mathit{read\_ts\_min},\, T.\mathit{write\_ts}]$
that is consistent with the canonical position
$\mathit{idx}(T)$ supplied by the ordering oracle.
\end{definition}
\subsection{Reduction of False Aborts}
\begin{lemma}[TicToc admits more commits than version-equality]
\label{lem:tictoc-relax}
Let $T$ be a transaction whose Tier-2 read-set check fails (some
recorded $\mathit{version\_id}$ is no longer the
$\mathit{visible\_version}_\mathcal{O}$). If $T$ passes the TicToc
test (Definition~\ref{def:per-tx-ts}) and the canonical
linearisation of the new visible version places it in a serial
position equivalent to $T$'s observation, then $T$ commits.
\end{lemma}
\begin{proof}[Sketch]
A version-equality failure is a sufficient but not necessary
condition for an abort. If $T$'s read footprint is satisfied by some
$\mathit{ts}(T)$ that respects the canonical-order envelope, then the
serial schedule
$T_1 \preceq_{\mathrm{can}} \cdots \preceq_{\mathrm{can}} T \preceq
\cdots$ is equivalent to a schedule in which $T$ observes the new
visible version, because the timestamp interval certifies no
intervening write conflicts with $T$'s read.
\end{proof}
\subsection{Determinism Guard}
\begin{invariant}[TicToc determinism]
\label{inv:tictoc-determinism}
For all transactions $T$ and all valid timestamp intervals
$[\mathit{read\_ts\_min},\, \mathit{write\_ts}]$,
\[
\mathit{ts}(T) \text{ admissible} \implies
\mathit{ts}(T) \text{ consistent with } \preceq_{\mathrm{can}}.
\]
That is: no choice of $\mathit{ts}(T)$ may move $T$ before any
$T_j$ with $T_j \preceq_{\mathrm{can}} T$ in the committed result.
\end{invariant}
The implementation enforces Invariant~\ref{inv:tictoc-determinism}
at the validator: when the TicToc test admits an interval, the
chosen $\mathit{ts}(T)$ is the unique minimum that satisfies both
the interval and $\preceq_{\mathrm{can}}$. There is no degree of
freedom for the GPU to choose differently across runs.
\begin{remark}[No reordering]
\label{rem:tictoc-no-reorder}
TicToc \emph{cannot} produce a committed schedule that violates
$\preceq_{\mathrm{can}}$. It only avoids aborting transactions whose
observations are still serializable under that order. This is the
defining departure from canonical TicToc, which derives the order
\emph{from} the timestamps. In QuasarSTM the order comes from
Quasar; the timestamps only justify the absence of an abort.
\end{remark}
\subsection{Storage Cost}
\begin{table}[ht]
\centering
\begin{tabular}{@{}lr@{}}
\toprule
\textbf{Field} & \textbf{Size} \\
\midrule
\texttt{StmKeyHeader.read\_ts} & 8\,B \\
\texttt{StmKeyHeader.write\_ts} & 8\,B \\
\texttt{StmRead.observed\_write\_ts}& 8\,B \\
\texttt{StmRead.observed\_lane\_clock} & 8\,B \\
\bottomrule
\end{tabular}
\caption{Timestamp storage overhead per key and per read record.
The two key-header fields fit in the slack of the existing
$32$-byte slot; the per-read fields cost $16$\,B each.}
\label{tab:ts-storage}
\end{table}
%% ============================================================================