mirror of https://github.com/zcash/zips.git
Sprout only -> Pre-Sapling.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
This commit is contained in:
parent
1a383e60f7
commit
36cfb95cec
|
@ -1574,13 +1574,13 @@ electronic commerce and payment, financial privacy, proof of work, zero knowledg
|
|||
\newcommand{\consensusrule}[1]{\needspace{3ex}\subparagraph{Consensus rule:}{#1}}
|
||||
\newenvironment{consensusrules}{\vspace{-4ex}\introlist\subparagraph{Consensus rules:}\begin{itemize}}{\end{itemize}}
|
||||
\newcommand{\sproutspecificitem}[1]{\item \sproutspecific{#1}}
|
||||
\newcommand{\sproutonlyitem}[1]{\item \sproutonly{#1}}
|
||||
\newcommand{\presaplingitem}[1]{\item \presapling{#1}}
|
||||
\newcommand{\saplingonwarditem}[1]{\sapling{\item {[\Sapling onward]}\, {#1}}}
|
||||
\newcommand{\prenuzeroitem}[1]{\item \prenuzero{#1}}
|
||||
\newcommand{\nuzeroonlyitem}[1]{\nuzero{\item {[\NUZero only, pre-\Sapling\!]}\, {#1}}}
|
||||
\newcommand{\nuzeroonwarditem}[1]{\nuzero{\item {[\NUZero onward]}\, {#1}}}
|
||||
\newcommand{\sproutspecific}[1]{\notsprout{[\Sprout\!]\,} {#1}}
|
||||
\newcommand{\sproutonly}[1]{\notsprout{[\Sprout only]\,} {#1}}
|
||||
\newcommand{\presapling}[1]{\notsprout{[Pre-\Sapling\!]\,} {#1}}
|
||||
\newcommand{\saplingonward}[1]{\sapling{[\Sapling onward]\, {#1}}}
|
||||
\newcommand{\prenuzero}[1]{\notsprout{[Pre-\NUZero\!]\,} {#1}}
|
||||
\newcommand{\nuzeroonly}[1]{\nuzero{[\NUZero only, pre-\Sapling\!]\, {#1}}}
|
||||
|
@ -1591,7 +1591,7 @@ electronic commerce and payment, financial privacy, proof of work, zero knowledg
|
|||
\newcommand{\pnote}[1]{\subparagraph{Note:}{#1}}
|
||||
\newenvironment{pnotes}{\introlist\subparagraph{Notes:}\begin{itemize}}{\end{itemize}}
|
||||
\newcommand{\sproutspecificpnote}[1]{\notsprout{[\Sprout\!]\,\,} \textbf{Note:\,} {#1}}
|
||||
\newcommand{\sproutonlypnote}[1]{\notsprout{[\Sprout only]\,\,} \textbf{Note:\,} {#1}}
|
||||
\newcommand{\presaplingpnote}[1]{\notsprout{[Pre-\Sapling\!]\,\,} \textbf{Note:\,} {#1}}
|
||||
\newcommand{\prenuzeropnote}[1]{\notsprout{[Pre-\NUZero\!]\,\,} \textbf{Note:\,} {#1}}
|
||||
\newcommand{\nuzeroonlypnote}[1]{\nuzero{[\NUZero only, pre-\Sapling\!]\,\,} \textbf{Note:\,} {#1}}
|
||||
\newcommand{\nuzeroonwardpnote}[1]{\nuzero{[\NUZero onward]\,\,} \textbf{Note:\,} {#1}}
|
||||
|
@ -7358,16 +7358,16 @@ $\versionField \geq 4$ and $\nShieldedSpend + \nShieldedOutput > 0$.
|
|||
|
||||
\begin{consensusrules}
|
||||
\item The \transactionVersionNumber{} \MUST be greater than or equal to $1$.
|
||||
\sproutonlyitem{The \fOverwintered{} flag \MUSTNOT be set.}
|
||||
\presaplingitem{The \fOverwintered{} flag \MUSTNOT be set\sprout{ in the protocol version described by this document}.}
|
||||
\nuzeroonwarditem{The \fOverwintered{} flag \MUST be set.}
|
||||
\nuzeroonwarditem{The \versionGroupID{} \MUST be recognized.}
|
||||
\nuzeroonlyitem{The \transactionVersionNumber{} \MUST be $3$ and the \versionGroupID{} \MUST
|
||||
be $\hexint{03C48270}$.}
|
||||
\sproutonlyitem{If $\versionField = 1$ or $\nJoinSplit = 0$, then \txInCount{} \MUSTNOT be $0$.}
|
||||
\saplingonwarditem{The \transactionVersionNumber{} \MUST be $4$ and the \versionGroupID{} \MUST
|
||||
be $\hexint{892F2085}$.}
|
||||
\presaplingitem{The encoded size of the \transaction{} \MUST be less than or equal to
|
||||
$100000$ bytes.}
|
||||
\presaplingitem{If $\versionField = 1$ or $\nJoinSplit = 0$, then \txInCount{} \MUSTNOT be $0$.}
|
||||
\saplingonwarditem{At least one of \txInCount, \nShieldedSpend, and \nJoinSplit{} \MUST be nonzero.}
|
||||
\item A \transaction with one or more inputs from \coinbaseTransactions{} \MUST have no
|
||||
\transparent outputs (i.e.\ \txOutCount{} \MUST be $0$).
|
||||
|
@ -7446,7 +7446,7 @@ The changes relative to \Bitcoin version $1$ \transactions as described in \cite
|
|||
a corresponding standard rule but no consensus rule.
|
||||
\end{itemize}
|
||||
|
||||
\sproutonly{
|
||||
\presapling{
|
||||
Software that creates \transactions{} \SHOULD use version $1$ for \transactions with no
|
||||
\joinSplitDescriptions.
|
||||
}
|
||||
|
@ -7629,7 +7629,7 @@ ensuring that none of those \transactions can be modified without modifying the
|
|||
$32$ & \sprout{$\hashReserved$}
|
||||
\notsprout{\Longunderstack[l]{$\hashReserved$ /\\ \sapling{$\hashFinalSaplingRoot$}}} &
|
||||
\type{char[32]} &
|
||||
\sproutonly{A reserved field which should be ignored.}
|
||||
\presapling{A reserved field which should be ignored.}
|
||||
\saplingonward{A \merkleRoot (\todo{specify bit sequence to byte sequence conversion}) of the \Sapling{}
|
||||
\noteCommitmentTree corresponding to the final \Sapling{} \treestate of this \block.} \\ \hline
|
||||
|
||||
|
@ -8237,7 +8237,7 @@ as input, and produces up to $\NNew$ \shieldedNotes and a
|
|||
|
||||
Only ``Pour'' transactions included a \zkSNARK proof.
|
||||
|
||||
\sproutonly{
|
||||
\presapling{
|
||||
In \Zcash, the sequence of operations added to a \transaction
|
||||
(see \crossref{trstructure}) consists only of \joinSplitTransfers.
|
||||
A \joinSplitTransfer is a Pour operation generalized to take a \transparent
|
||||
|
|
Loading…
Reference in New Issue