mirror of
https://github.com/hanzoai/papers.git
synced 2026-10-22 17:20:17 +00:00
The prior-work section describes the 2022 backend by category, and the comparison table and production section cover the systems Base is measured against. hanzo-stack-comparison and hanzo-datastore drop one reference each. hanzo-base.pdf had no source in the repo and is superseded by hanzo-base-runtime. Committed PDFs rebuilt with make. Co-authored-by: Hanzo Dev <[email protected]>
107 lines
3.7 KiB
TeX
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{
|
|
Hanzo AI Research \\
|
|
\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. Firebase assumes a cloud provider and Supabase assumes PostgreSQL;
|
|
Base assumes neither. 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}
|
|
\input{sections/99-conclusion}
|
|
|
|
\end{document}
|