diff --git a/protocol/protocol.tex b/protocol/protocol.tex index f1acb71b..e46547d9 100644 --- a/protocol/protocol.tex +++ b/protocol/protocol.tex @@ -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}