Protocol spec: add labels to all sections (for external referencing).

Signed-off-by: Daira Hopwood <daira@jacaranda.org>
This commit is contained in:
Daira Hopwood 2019-07-08 22:56:19 +01:00
parent 77ebb8614a
commit fe92918c87
1 changed files with 20 additions and 20 deletions

View File

@ -1970,7 +1970,7 @@ This document was built with Lua\TeX, which is \href{https://github.com/zcash/zi
\end{abstract} \end{abstract}
\phantomsection \phantomsection \label{contents}
\addcontentsline{toc}{section}{\larger{Contents}} \addcontentsline{toc}{section}{\larger{Contents}}
\renewcommand{\contentsname}{} \renewcommand{\contentsname}{}
@ -1981,7 +1981,7 @@ This document was built with Lua\TeX, which is \href{https://github.com/zcash/zi
\newpage \newpage
\section{Introduction} \section{Introduction} \label{introduction}
\Zcash is an implementation of the \defining{\term{Decentralized Anonymous Payment scheme} \Zcash is an implementation of the \defining{\term{Decentralized Anonymous Payment scheme}
\Zerocash \cite{BCGGMTV2014}}, with security fixes and improvements \Zerocash \cite{BCGGMTV2014}}, with security fixes and improvements
@ -2040,7 +2040,7 @@ verifying multiple signatures and proofs.
\end{itemize} \end{itemize}
\subsection{Caution} \subsection{Caution} \label{caution}
\Zcash security depends on consensus. Should a program interacting with the \Zcash security depends on consensus. Should a program interacting with the
\Zcash network diverge from consensus, its security will be weakened or destroyed. \Zcash network diverge from consensus, its security will be weakened or destroyed.
@ -2430,7 +2430,7 @@ coordinates (see \crossref{jubjub}).
\intropart \intropart
\section{Concepts} \section{Concepts} \label{concepts}
\subsection{Payment Addresses and Keys} \label{addressesandkeys} \subsection{Payment Addresses and Keys} \label{addressesandkeys}
@ -2952,9 +2952,9 @@ as described in \crossref{foundersreward}.
\intropart \intropart
\section{Abstract Protocol} \section{Abstract Protocol} \label{abstractprotocol}
\subsection{Abstract Cryptographic Schemes} \subsection{Abstract Cryptographic Schemes} \label{abstractschemes}
\subsubsection{\HashFunctions} \label{abstracthashes} \subsubsection{\HashFunctions} \label{abstracthashes}
@ -5658,9 +5658,9 @@ Let $\NoteTypeSapling$ be as defined in \crossref{notes}.
\intropart \intropart
\section{Concrete Protocol} \section{Concrete Protocol} \label{concreteprotocol}
\subsection{Caution} \subsection{Caution} \label{cautionlinkage}
\todo{Explain the kind of things that can go wrong with linkage between \todo{Explain the kind of things that can go wrong with linkage between
abstract and concrete protocol. E.g. \crossref{internalh}} abstract and concrete protocol. E.g. \crossref{internalh}}
@ -5786,7 +5786,7 @@ Define:
\introsection \introsection
\subsection{Concrete Cryptographic Schemes} \subsection{Concrete Cryptographic Schemes}
\subsubsection{\HashFunctions} \subsubsection{\HashFunctions} \label{concretehashes}
\subsubsubsection{SHA-256 and SHA256Compress \HashFunctions} \label{concretesha256} \subsubsubsection{SHA-256 and SHA256Compress \HashFunctions} \label{concretesha256}
@ -7702,7 +7702,7 @@ computation of a \defaultDiversifiedPaymentAddress in \crossref{saplingkeycompon
} %sapling } %sapling
\subsubsection{\ZeroKnowledgeProvingSystems} \subsubsection{\ZeroKnowledgeProvingSystems} \label{concretezk}
\subsubsubsection{\BCTVProvingSystem} \label{bctv} \subsubsubsection{\BCTVProvingSystem} \label{bctv}
@ -8980,7 +8980,7 @@ The changes relative to \Bitcoin version $4$ blocks as described in \cite{Bitcoi
\intropart \intropart
\subsection{Proof of Work} \subsection{Proof of Work} \label{pow}
\Zcash uses \Equihash \cite{BK2016} as its Proof of Work. Motivations for \Zcash uses \Equihash \cite{BK2016} as its Proof of Work. Motivations for
changing the Proof of Work from \SHAd used by \Bitcoin are described changing the Proof of Work from \SHAd used by \Bitcoin are described
@ -9528,7 +9528,7 @@ to remove the special treatment of \ScriptOP{CODESEPARATOR}, and to
include \Zcash-specific fields in the hash \cite{ZIP-76}. include \Zcash-specific fields in the hash \cite{ZIP-76}.
\subsection{\Memos} \subsection{\Memos} \label{memodiffs}
\Zcash adds a \memo sent from the creator of a \joinSplitDescription to \Zcash adds a \memo sent from the creator of a \joinSplitDescription to
the recipient of each output \note. This feature is described in the recipient of each output \note. This feature is described in
@ -9536,7 +9536,7 @@ more detail in \crossref{notept}.
\introlist \introlist
\subsection{Unification of Mints and Pours} \subsection{Unification of Mints and Pours} \label{mintsandpours}
In the original \Zerocash protocol, there were two kinds of transaction In the original \Zerocash protocol, there were two kinds of transaction
relating to \shieldedNotes: relating to \shieldedNotes:
@ -10003,7 +10003,7 @@ constraint 1(b) of the \joinSplitStatement (see \crossref{sproutspendauthority})
implies distinctness of $\AuthPublicOldX{1}$ and $\AuthPublicOldX{2}$, therefore implies distinctness of $\AuthPublicOldX{1}$ and $\AuthPublicOldX{2}$, therefore
distinct openings of the \noteCommitment when Condition I or II is violated. distinct openings of the \noteCommitment when Condition I or II is violated.
\subsection{Miscellaneous} \subsection{Miscellaneous} \label{miscdiffs}
\begin{itemize} \begin{itemize}
\item The paper defines a \note as $((\AuthPublic, \TransmitPublic), \Value, \item The paper defines a \note as $((\AuthPublic, \TransmitPublic), \Value,
@ -10037,7 +10037,7 @@ distinct openings of the \noteCommitment when Condition I or II is violated.
\introsection \introsection
\section{Acknowledgements} \section{Acknowledgements} \label{acknowledgements}
The inventors of \Zerocash are Eli Ben-Sasson, Alessandro Chiesa, The inventors of \Zerocash are Eli Ben-Sasson, Alessandro Chiesa,
Christina Garman, Matthew Green, Ian Miers, Eran Tromer, and Madars Christina Garman, Matthew Green, Ian Miers, Eran Tromer, and Madars
@ -10106,7 +10106,7 @@ Peter Newell's illustration of the Jubjub bird, from \cite{Carroll1902}.
} }
\intropart \intropart
\section{Change History} \section{Change History} \label{changehistory}
\subparagraph{2019.0.3} \subparagraph{2019.0.3}
@ -11288,7 +11288,7 @@ Peter Newell's illustration of the Jubjub bird, from \cite{Carroll1902}.
\intropart \intropart
\section{References} \section{References} \label{references}
\begingroup \begingroup
\hfuzz=2pt \hfuzz=2pt
@ -11305,11 +11305,11 @@ Peter Newell's illustration of the Jubjub bird, from \cite{Carroll1902}.
\appendix \appendix
\phantomsection \phantomsection
\addcontentsline{toc}{section}{\larger{Appendices}} \addcontentsline{toc}{section}{\larger{Appendices}}
{\Larger{\textbf{Appendices}}} {\Larger{\textbf{Appendices}}} \label{appendices}
\section{Circuit Design} \label{circuitdesign} \section{Circuit Design} \label{circuitdesign}
\subsection{\QuadraticConstraintPrograms} \subsection{\QuadraticConstraintPrograms} \label{constraintprograms}
\Sapling defines two circuits, Spend and Output, each implementing an abstract \Sapling defines two circuits, Spend and Output, each implementing an abstract
\statement described in \crossref{spendstatement} and \crossref{outputstatement} \statement described in \crossref{spendstatement} and \crossref{outputstatement}
@ -11430,7 +11430,7 @@ then there are no solutions for $x$.
\introsection \introsection
\subsection{Circuit Components} \subsection{Circuit Components} \label{cctcomponents}
Each of the following sections describes how to implement a particular Each of the following sections describes how to implement a particular
component of the circuit, and counts the number of constraints required. component of the circuit, and counts the number of constraints required.