|
|
@ -7,9 +7,6 @@ |
|
|
|
\RequirePackage{xspace} |
|
|
|
\RequirePackage{url} |
|
|
|
\RequirePackage{changepage} |
|
|
|
\RequirePackage[unicode,bookmarksnumbered,bookmarksopen,pdfview=Fit]{hyperref} |
|
|
|
\RequirePackage{cleveref} |
|
|
|
\RequirePackage{nameref} |
|
|
|
\RequirePackage{enumitem} |
|
|
|
\RequirePackage{tabularx} |
|
|
|
\RequirePackage{hhline} |
|
|
@ -17,6 +14,11 @@ |
|
|
|
\RequirePackage{comment} |
|
|
|
\RequirePackage{needspace} |
|
|
|
\RequirePackage[nobottomtitles]{titlesec} |
|
|
|
\RequirePackage[hang]{footmisc} |
|
|
|
\RequirePackage{xstring} |
|
|
|
\RequirePackage[unicode,bookmarksnumbered,bookmarksopen,pdfview=Fit]{hyperref} |
|
|
|
\RequirePackage{cleveref} |
|
|
|
\RequirePackage{nameref} |
|
|
|
|
|
|
|
\RequirePackage[style=alphabetic,maxbibnames=99,dateabbrev=false,urldate=iso8601,backref=true,backrefstyle=none,backend=biber]{biblatex} |
|
|
|
\addbibresource{zcash.bib} |
|
|
@ -63,6 +65,10 @@ |
|
|
|
\renewcommand{\arraystretch}{1.4} |
|
|
|
\overfullrule=2cm |
|
|
|
|
|
|
|
\setlength{\footnotemargin}{0.6em} |
|
|
|
\setlength{\footnotesep}{2ex} |
|
|
|
\addtolength{\skip\footins}{3ex} |
|
|
|
|
|
|
|
\renewcommand{\bottomtitlespace}{8ex} |
|
|
|
|
|
|
|
% Use rubber lengths between paragraphs to improve default pagination. |
|
|
@ -80,19 +86,31 @@ |
|
|
|
|
|
|
|
\newcommand{\doctitle}{Zcash Protocol Specification} |
|
|
|
\newcommand{\leadauthor}{Daira Hopwood} |
|
|
|
\newcommand{\coauthors}{Sean Bowe | Taylor Hornby | Nathan Wilcox} |
|
|
|
\newcommand{\coauthora}{Sean Bowe} |
|
|
|
\newcommand{\coauthorb}{Taylor Hornby} |
|
|
|
\newcommand{\coauthorc}{Nathan Wilcox} |
|
|
|
|
|
|
|
\newcommand{\keywords}{anonymity, applications, cryptographic protocols,\ |
|
|
|
electronic commerce and payment, financial privacy, proof of work, zero knowledge} |
|
|
|
|
|
|
|
\hypersetup{ |
|
|
|
pdfborderstyle={/S/U/W 0.7}, |
|
|
|
pdfinfo={ |
|
|
|
Title={\doctitle, \docversion}, |
|
|
|
Author={\leadauthor\ | \coauthors} |
|
|
|
Author={\leadauthor, \coauthora, \coauthorb, \coauthorc}, |
|
|
|
Keywords={\keywords} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
\makeatletter |
|
|
|
\renewcommand*{\@fnsymbol}[1]{\ensuremath{\ifcase#1\or \dagger\or \ddagger\or |
|
|
|
\mathsection\or \mathparagraph\else\@ctrerr\fi}} |
|
|
|
\makeatother |
|
|
|
|
|
|
|
\renewcommand{\sectionautorefname}{\S\!} |
|
|
|
\renewcommand{\subsectionautorefname}{\S\!} |
|
|
|
\renewcommand{\subsubsectionautorefname}{\S\!} |
|
|
|
\renewcommand{\subparagraphautorefname}{\S\!} |
|
|
|
\newcommand{\crossref}[1]{\autoref{#1}\, \emph{`\nameref*{#1}\kern -0.05em'} on p.\,\pageref*{#1}} |
|
|
|
|
|
|
|
\newcommand{\nstrut}[1]{\texorpdfstring{#1\rule[-.2\baselineskip]{0pt}{\baselineskip}}{#1}} |
|
|
@ -699,21 +717,48 @@ |
|
|
|
\newcommand{\pnote}[1]{\subparagraph{Note:}{#1}} |
|
|
|
\newenvironment{pnotes}{\introlist\subparagraph{Notes:}\begin{itemize}}{\end{itemize}} |
|
|
|
|
|
|
|
\newcommand{\affiliation}{\hairspace$^\dagger$\;} |
|
|
|
|
|
|
|
\begin{document} |
|
|
|
|
|
|
|
\title{\doctitle \\ |
|
|
|
\Large \docversion \\ |
|
|
|
\vspace{1ex} \large as intended for the \Zcash release of autumn 2016} |
|
|
|
\author{\Large \leadauthor \\ \Large \coauthors} |
|
|
|
\Large \docversion} |
|
|
|
\author{ |
|
|
|
\Large \leadauthor\hairspace\thanks{\;Zerocoin Electric Coin Company} \\ |
|
|
|
\Large \coauthora\affiliation | \coauthorb\affiliation | \coauthorc\affiliation} |
|
|
|
\date{\today} |
|
|
|
\maketitle |
|
|
|
|
|
|
|
\renewcommand{\abstractname}{} |
|
|
|
\vspace{-8ex} |
|
|
|
\begin{abstract} |
|
|
|
\normalsize \noindent \textbf{Abstract.} |
|
|
|
\Zcash is an implementation of the \term{Decentralized Anonymous Payment} |
|
|
|
scheme \Zerocash, with security fixes and adjustments |
|
|
|
to terminology, functionality and performance. It bridges the existing |
|
|
|
\emph{transparent} payment scheme used by \Bitcoin with a |
|
|
|
\emph{shielded} payment scheme secured by zero-knowledge succinct |
|
|
|
non-interactive arguments of knowledge (\zkSNARKs). It attempts to |
|
|
|
address the problem of mining centralization by use of the Equihash |
|
|
|
memory-hard proof-of-work algorithm. |
|
|
|
|
|
|
|
\vspace{0.5ex} |
|
|
|
This specification defines the \Zcash consensus protocol and explains |
|
|
|
its differences from \Zerocash and \Bitcoin. |
|
|
|
|
|
|
|
\vspace{2.5ex} |
|
|
|
\noindent \textbf{Keywords:}~ \StrSubstitute[0]{\keywords}{,}{, }. |
|
|
|
\end{abstract} |
|
|
|
|
|
|
|
\vspace{-10ex} |
|
|
|
\phantomsection |
|
|
|
\addcontentsline{toc}{section}{\Large\nstrut{Contents}} |
|
|
|
|
|
|
|
\renewcommand{\contentsname}{} |
|
|
|
% http://tex.stackexchange.com/a/182744/78411 |
|
|
|
\renewcommand{\baselinestretch}{0.85}\normalsize |
|
|
|
\tableofcontents |
|
|
|
\renewcommand{\baselinestretch}{1.0}\normalsize |
|
|
|
\newpage |
|
|
|
|
|
|
|
|
|
|
@ -4006,6 +4051,13 @@ The errors in the proof of Ledger Indistinguishability mentioned in |
|
|
|
\introlist |
|
|
|
\nsection{Change history} |
|
|
|
|
|
|
|
\subparagraph{2017.0-beta-2} |
|
|
|
|
|
|
|
\begin{itemize} |
|
|
|
\item Add abstract and keywords. |
|
|
|
\end{itemize} |
|
|
|
|
|
|
|
\introlist |
|
|
|
\subparagraph{2016.0-beta-1.13} |
|
|
|
|
|
|
|
\begin{itemize} |
|
|
|