Files
papers/hanzo-base-runtime/hanzo-base-runtime.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

107 lines
3.7 KiB
TeX

% Hanzo Base: The Single-Binary Runtime for Sovereign Applications
\documentclass[11pt]{article}
\usepackage{../shared/hanzocover}
\usepackage{amsmath, amssymb, amsthm}
\usepackage{mathtools}
\usepackage{bm}
\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}
\usepackage{pgfplots}
\pgfplotsset{compat=1.18}
\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}
\newtheorem{definition}{Definition}
\title{HANZO BASE\\[0.3em]
{\large The Single-Binary Runtime for\\Sovereign Applications}}
\author{
Zach Kelling \\
\textit{Hanzo Industries Inc (Techstars '17)} \\
\texttt{[email protected]}
}
\date{March 2026}
\begin{document}
\hanzocoverpage
% ============================================================================
% ABSTRACT
% ============================================================================
\begin{abstract}
We present Hanzo Base, the application runtime for sovereign software. Base is
not a backend framework. It is the personal computer of Web5---a single Go
binary that packages an encrypted embedded database (SQLite with sqlcipher), a
realtime API layer, CRDT-based collaboration, a JavaScript plugin runtime
(Goja VM), Hanzo IAM authentication, and field-level KMS encryption into one
process. Where Firebase assumes a cloud provider, Supabase assumes PostgreSQL,
and PocketBase assumes a single user, Base assumes nothing. It runs on a
laptop, a phone, a Raspberry Pi, or a Kubernetes pod with the same binary and
the same API surface. Data stays local by default. Replication is opt-in.
Chain anchoring is available but never required. We describe the architecture,
the data plane (local vault, provider-optional replication, Lux receipt
anchoring), Base Functions (TypeScript in Goja, event-driven, zero cold start),
Base Collections (schemaless records with access rules and field-level
encryption), Base Sync (CRDT log, conflict-free merge, offline-first,
peer-to-peer or server-relay), and integration with Lux Network
chains (K-Chain key policy, I-Chain identity, T-Chain threshold controls).
Benchmarks on an M4 MacBook show 10,400 writes/sec for encrypted collections
and sub-millisecond read latency. In production since December 2022, Base
serves as the default runtime for 2,800+ applications across the Hanzo
ecosystem.
\end{abstract}
% ============================================================================
\input{sections/01-introduction}
\input{sections/02-architecture}
\input{sections/03-base-as-data-plane}
\input{sections/04-base-functions}
\input{sections/05-base-collections}
\input{sections/06-base-sync}
\input{sections/07-lux-network-integration}
\input{sections/08-comparison-to-existing-systems}
\input{sections/09-hanzoai-sqlite}
\input{sections/10-performance}
\input{sections/11-production-deployment}
\input{sections/12-related-work}
\input{sections/12a-prior-work-pocketbase}
\input{sections/99-conclusion}
\end{document}