Rename some section titles under 'Consensus Changes from Bitcoin' to use 'Encoding and Consensus'.

Signed-off-by: Daira Hopwood <daira@jacaranda.org>
This commit is contained in:
Daira Hopwood 2020-08-11 13:52:58 +01:00
parent 6fbe17da59
commit 9dbac78f29
1 changed files with 18 additions and 16 deletions

View File

@ -8987,16 +8987,16 @@ upgrade-supporting nodes \MUST allow for this.
\lsection{Consensus Changes from \BitcoinText}{consensusfrombitcoin}
\vspace{-1ex}
\lsubsection{Encoding of Transactions}{txnencoding}
\extralabel{txnencoding}{\lsubsection{Transaction Encoding and Consensus}{txnencodingandconsensus}}
The \Zcash{} \defining{\transaction} format is as follows (this should be read in the context
of consensus rules later in the section):
\begin{center}
\scalebox{\sprout{0.92}\notsprout{0.88}}{
\scalebox{\sprout{0.87}\notsprout{0.84}}{
\notsprout{\renewcommand{\arraystretch}{1.3}}
\hbadness=10000
\begin{tabularx}{\sprout{1}\notsprout{1.08}\textwidth}{|c|c|l|p{10em}|L|}
\begin{tabularx}{\sprout{1.07}\notsprout{1.13}\textwidth}{|c|c|l|p{10em}|L|}
\hline
\!\!Version\!\! & \heading{Bytes} & \heading{Name} & \heading{Data Type} & \heading{Description} \\
\hhline{|=|=|=|=|=|}
@ -9031,13 +9031,13 @@ $\geq 4$ & \Varies & $\nShieldedSpend$ & \compactSize & The number of \spendDesc
in $\vShieldedSpend$. \\ \hline
$\geq 4$ & \Longunderstack{$384 \mult$ \\$\!\nShieldedSpend\!$} & $\vShieldedSpend$ & \type{SpendDescription} \type{[$\nShieldedSpend$]} &
A sequence of \spendDescriptions{}, each encoded as in \crossref{spendencoding}. \\ \hline
A sequence of \spendDescriptions{}, encoded as in \crossref{spendencoding}. \\ \hline
$\geq 4$ & \Varies & $\nShieldedOutput\!$ & \compactSize & The number of \outputDescriptions
in $\vShieldedOutput$. \\ \hline
$\geq 4$ & \Longunderstack{$948 \mult$ \\$\!\nShieldedOutput\!$} & $\vShieldedOutput\!$ & \type{OutputDescription} \type{[$\nShieldedOutput$]} &
A sequence of \outputDescriptions{}, each encoded as in \crossref{outputencoding}. \\ \hline
A sequence of \outputDescriptions{}, encoded as in \crossref{outputencoding}. \\ \hline
} %notsprout
$\geq 2$ & \Varies & $\nJoinSplit$ & \compactSize & The number of \joinSplitDescriptions
@ -9045,14 +9045,14 @@ in $\vJoinSplit$. \\ \hline
\sprout{
$\geq 2$ & \Longunderstack{$1802 \mult$ \\ $\nJoinSplit$} & $\vJoinSplit$ & \type{JoinSplitDescription}\!\! \type{[$\nJoinSplit$]} &
A \sequenceOfJoinSplitDescriptions{} using \BCTV proofs, each encoded as in \crossref{joinsplitencoding}. \\ \hline
A \sequenceOfJoinSplitDescriptions{} using \BCTV proofs, encoded as in \crossref{joinsplitencoding}. \\ \hline
} %sprout
\notsprout{
$\barerange{2}{3}$ & \Longunderstack{$1802 \mult$ \\ $\nJoinSplit$} & $\vJoinSplit$ & \type{JSDescriptionBCTV14}\!\! \type{[$\nJoinSplit$]} &
A \sequenceOfJoinSplitDescriptions{} using \BCTV proofs, each encoded as in \crossref{joinsplitencoding}. \\ \hline
A \sequenceOfJoinSplitDescriptions{} using \BCTV proofs, encoded as in \crossref{joinsplitencoding}. \\ \hline
\setsapling $\geq 4$ &\setsapling \Longunderstack{$1698 \mult$ \\ $\nJoinSplit$} &\setsapling $\vJoinSplit$ &\textcolor{\saplingcolor}{\type{JSDescriptionGroth16}\!\! \type{[$\nJoinSplit$]}} &
\setsapling A sequence of \joinSplitDescriptions using \Groth proofs, each encoded as in \crossref{joinsplitencoding}. \\ \hline
\setsapling A sequence of \joinSplitDescriptions using \Groth proofs, encoded as in \crossref{joinsplitencoding}. \\ \hline
} %notsprout
$\geq 2\;\dagger$ & $32$ & $\joinSplitPubKey\!$ & \type{char[32]} & An encoding of a $\JoinSplitSig$
@ -9138,9 +9138,9 @@ $\versionField \geq 4$ and $\nShieldedSpend + \nShieldedOutput > 0$.
\item \todo{Other rules inherited from \Bitcoin.}
\end{consensusrules}
In addition, consensus rules associated with each \joinSplitDescription (\crossref{joinsplitencoding})\sapling{,
Consensus rules associated with each \joinSplitDescription (\crossref{joinsplitencoding})\sapling{,
each \spendDescription (\crossref{spendencoding}), and each \outputDescription (\crossref{outputencoding})}
\MUST be followed.
\MUST also be followed.
\begin{pnotes}
\item Previous versions of this specification defined what is now the \headerField{} field
@ -9221,7 +9221,7 @@ Software that creates \transactions{} \SHOULD use version $1$ for \transactions
}
\introsection
\lsubsection{Encoding of JoinSplit Descriptions}{joinsplitencoding}
\extralabel{joinsplitencoding}{\lsubsection{JoinSplit Description Encoding and Consensus}{joinsplitencodingandconsensus}}
An abstract \joinSplitDescription, as described in \crossref{joinsplit}, is encoded in
a \transaction as an instance of a \type{JoinSplitDescription} type as follows:
@ -9289,7 +9289,7 @@ Consensus rules applying to a \joinSplitDescription are given in \crossref{joins
\sapling{
\introsection
\lsubsection{Encoding of Spend Descriptions}{spendencoding}
\extralabel{spendencoding}{\lsubsection{Spend Description Encoding and Consensus}{spendencodingandconsensus}}
Let $\LEBStoOSP{}{}$ be as defined in \crossref{endian}.
@ -9335,7 +9335,7 @@ $64$ & $\spendAuthSig$ & \type{char[64]} & A signature authorizing this Spend. \
Other consensus rules applying to a \spendDescription are given in \crossref{spenddesc}.
\introsection
\lsubsection{Encoding of Output Descriptions}{outputencoding}
\extralabel{outputencoding}{\lsubsection{Output Description Encoding and Consensus}{outputencodingandconsensus}}
Let $\LEBStoOSP{}{}$ be as defined in \crossref{endian}.
@ -9388,7 +9388,7 @@ Other consensus rules applying to an \outputDescription are given in \crossref{o
\introsection
\lsubsection{Block Header}{blockheader}
\lsubsection{Block Header Encoding and Consensus}{blockheader}
The \Zcash{} \defining{\blockHeader} format is as follows (this should be read in the context
of consensus rules later in the section):
@ -10083,8 +10083,8 @@ recipient address represented by $\fsAddressList_{\fsAddressIndex(\BlockHeight)}
$\fsAddressList_{\,\fsAddressIndex(\BlockHeight)}$ in Base58Check form. The
standard redeem script hash is specified in \cite{Bitcoin-Multisig} for
P2SH multisig addresses, or \cite{Bitcoin-P2SH} for other P2SH addresses.
\item The ``prescribed way" to pay a \Sapling address is as defined in \cite{ZIP-213};
that is, following the post-\Heartwood consensus rules specified
\item The ``prescribed way" to pay a \Sapling address is as defined in \cite{ZIP-213},
using the post-\Heartwood consensus rules specified
for \Sapling outputs of \coinbaseTransactions in \crossref{txnencoding}.
\end{itemize}
} %canopyonward
@ -10844,6 +10844,8 @@ Peter Newell's illustration of the Jubjub bird, from \cite{Carroll1902}.
\item Updates to reflect \cite{ZIP-211}: add a consensus rule on $\vpubOld$ in \crossref{joinsplitdesc},
and a rule about node and wallet support for sending to \Sprout addresses in \crossref{sproutsend}.
} %canopy
\item Rename sections under \crossref{consensusfrombitcoin} to clarify that these sections do not only
concern encoding, but also consensus rules.
\end{itemize}