mirror of https://github.com/zcash/zips.git
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:
parent
6fbe17da59
commit
9dbac78f29
|
@ -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}
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue