\documentclass{sig-alternate}

\usepackage{tikz}
\usetikzlibrary{arrows}
\usetikzlibrary{trees}
\usetikzlibrary{positioning}

\usepackage{array}
\usepackage{amstext}
\usepackage{mathtools}
\DeclarePairedDelimiter{\ceil}{\lceil}{\rceil}

\begin{document}

\title{IPNS - Immutable and Mutable Names for IPFS (DRAFT 1)}
\subtitle{}

\numberofauthors{1}

\author{
\alignauthor
  Juan Benet\\
  \email{juan@benet.ai}
}

\maketitle
\begin{abstract}
The InterPlanetary File System (IPFS) is a peer-to-peer distributed file system
capable of sharing the same files with millions of nodes. IPFS objects are addressed by their cryptographic hash. Objects can include links to others, forming a Content Addressed DAG, with the same merkle-tree properties of systems like Git. IPFS paths are fundamentally immutable; changes propagate up the hierarchy generating new names for the new content. These properties are very useful for certain applications. However, many applications require mutable objects. This paper presents IPNS, a complement to IPFS that introduces mutable names using an SFS-inspired scheme.
\end{abstract}

\section{Introduction}

[Motivate IPNS. Talk about app needs for mutable objects. Talk about mutable/immutable dichotomy. talk about links in IPFS.]

[Cite: SFS, Plan9]


\section{Mutable Names}

\subsection{Mutable Objects}
Illusion of mutable object by updating pointer.
\subsection{Self-Certifying Paths}
\subsection{Version Control, Commit Chain}

\section{Mutable + Immutable Dichotomy}
\subsection{benefits of both}
\subsection{Need for distinction}
\subsection{Distinguishing M/I Paths}

%\bibliographystyle{abbrv}
%\bibliography{gfs}
%\balancecolumns
%\subsection{References}
\end{document}
