Files
papers/hip-0302-replicate/hip-0302-replicate.tex
zeekay 0d1d121451 papers: cover-consistency + build pass on Hanzo Tier-2/3 catalogue
Fix shared/ include paths to ../shared/ for 55 subdirectory papers so
that hanzocover.sty and lstlang.tex resolve when building from each
paper's own directory (the build pattern used by latexmk per paper).

Build fixes:
- hanzo-operative/sections/03-screen-understanding-pipeline.tex: move
  \COMMENT from after \FOR{...} onto the \STATE line so the algorithmic
  env doesn't mis-parse.
- hanzo-network-architecture (abstract + sections 04, 12, 13): escape
  unicode mu (U+03BC) as $\mu$ for pdflatex.
- ntt-transform/sections/08-benchmark-results.tex: same mu escape.

All 55 Tier-2/3 papers now build clean with latexmk -pdf.
2026-05-13 01:11:04 -07:00

109 lines
3.5 KiB
TeX

% HIP-0302: Hanzo Replicate — Encrypted SQLite Durability for Base Services
\documentclass[11pt]{article}
\usepackage{../shared/hanzocover}
\usepackage[utf8]{inputenc}
\usepackage{amsmath,amssymb}
\usepackage{graphicx}
\usepackage{booktabs}
\usepackage{hyperref}
\usepackage{enumitem}
\usepackage{xcolor}
\usepackage{float}
\usepackage{multirow}
\usepackage{listings}
\input{../shared/lstlang}
\usepackage{tikz}
\usetikzlibrary{shapes,arrows,positioning,fit}
\hypersetup{colorlinks=true,linkcolor=black,citecolor=blue,urlcolor=blue}
\definecolor{codegreen}{rgb}{0,0.6,0}
\definecolor{codegray}{rgb}{0.5,0.5,0.5}
\definecolor{codepurple}{rgb}{0.58,0,0.82}
\definecolor{backcolour}{rgb}{0.95,0.95,0.92}
\lstdefinestyle{mystyle}{
backgroundcolor=\color{backcolour},
commentstyle=\color{codegreen},
keywordstyle=\color{codepurple},
numberstyle=\tiny\color{codegray},
stringstyle=\color{codegreen},
basicstyle=\ttfamily\footnotesize,
breakatwhitespace=false,
breaklines=true,
captionpos=b,
keepspaces=true,
numbers=left,
numbersep=5pt,
showspaces=false,
showstringspaces=false,
showtabs=false,
tabsize=2
}
\lstset{style=mystyle}
\title{HIP-0302: Hanzo Replicate\\[0.3em]
{\large Encrypted SQLite Durability\\for Base Services}}
\author{
Zach Kelling \\
\textit{Hanzo Industries Inc (Techstars '17)} \\
\texttt{[email protected]}
}
\date{April 2026}
\begin{document}
\hanzocoverpage
% ============================================================================
% METADATA
% ============================================================================
\noindent
\begin{tabular}{@{}ll}
\textbf{HIP} & 0302 \\
\textbf{Title} & Hanzo Replicate --- Encrypted SQLite Durability for Base Services \\
\textbf{Author} & Zach Kelling (\texttt{[email protected]}) \\
\textbf{Type} & Standards Track \\
\textbf{Category} & Infrastructure \\
\textbf{Status} & Draft \\
\textbf{Created} & 2026-04-09 \\
\textbf{Requires} & HIP-0027 (KMS), HIP-0032 (Object Storage), HIP-0065 (Backup \& DR) \\
\end{tabular}
\vspace{1em}
% ============================================================================
% ABSTRACT
% ============================================================================
\begin{abstract}
This proposal specifies how all Hanzo Base-powered services achieve durable
state persistence through continuous encrypted WAL replication to
S3-compatible storage. The system comprises two packages:
\texttt{hanzoai/replicate} (a rebranded Litestream with age encryption
support) and \texttt{hanzoai/age} (X25519/Curve25519 file encryption). Every
Base service---IAM, KMS, ATS, BD, TA, Tasks, and all future
services---deploys \texttt{replicate} as a Kubernetes sidecar that
continuously streams encrypted WAL frames to \texttt{hanzoai/s3}. The result
is sub-second RPO, seconds-scale RTO, and zero dependence on centralized
databases or persistent volume durability.
\end{abstract}
% ============================================================================
% 1. MOTIVATION
% ============================================================================
\input{sections/01-motivation}
\input{sections/02-background}
\input{sections/03-specification}
\input{sections/04-configuration}
\input{sections/05-key-management}
\input{sections/06-deployment}
\input{sections/07-affected-services}
\input{sections/08-security-analysis}
\input{sections/09-migration}
\input{sections/10-operational-concerns}
\input{sections/11-post-quantum-security}
\input{sections/99-references}
\end{document}