mirror of https://github.com/zcash/zips.git
Updates to reflect ZIP 211: add a consensus rule on v^pub_old, and a rule about node and wallet support for sending to Sprout addresses.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
This commit is contained in:
parent
1d71f6cb31
commit
6fbe17da59
|
@ -674,6 +674,7 @@ electronic commerce and payment, financial privacy, proof of work, zero knowledg
|
||||||
\newcommand{\SHOULDNOT}{\conformance{SHOULD NOT}}
|
\newcommand{\SHOULDNOT}{\conformance{SHOULD NOT}}
|
||||||
\newcommand{\RECOMMENDED}{\conformance{RECOMMENDED}}
|
\newcommand{\RECOMMENDED}{\conformance{RECOMMENDED}}
|
||||||
\newcommand{\MAY}{\conformance{MAY}}
|
\newcommand{\MAY}{\conformance{MAY}}
|
||||||
|
\newcommand{\OPTIONAL}{\conformance{OPTIONAL}}
|
||||||
\newcommand{\ALLCAPS}{\conformance{ALL CAPS}}
|
\newcommand{\ALLCAPS}{\conformance{ALL CAPS}}
|
||||||
|
|
||||||
\newcommand{\collisionResistant}{\termandindex{collision\hyp resistant}{collision resistance}}
|
\newcommand{\collisionResistant}{\termandindex{collision\hyp resistant}{collision resistance}}
|
||||||
|
@ -2059,6 +2060,7 @@ electronic commerce and payment, financial privacy, proof of work, zero knowledg
|
||||||
\newenvironment{nnotes}{\introlist\callout{}{Non-normative notes:}\begin{itemize}}{\end{itemize}}
|
\newenvironment{nnotes}{\introlist\callout{}{Non-normative notes:}\begin{itemize}}{\end{itemize}}
|
||||||
|
|
||||||
\newcommand{\canopyonwardnnote}[1]{\canopy{\callout{[\Canopy onward]\,\,}{Non-normative note:}{#1}}}
|
\newcommand{\canopyonwardnnote}[1]{\canopy{\callout{[\Canopy onward]\,\,}{Non-normative note:}{#1}}}
|
||||||
|
\newcommand{\canopyonwardpnote}[1]{\canopy{\callout{[\Canopy onward]\,\,}{Note:}{#1}}}
|
||||||
\newcommand{\precanopypnote}[1]{\callout{\notbeforecanopy{\canopy{[Pre-\Canopy\!]\,\,}}}{Note:}{#1}}
|
\newcommand{\precanopypnote}[1]{\callout{\notbeforecanopy{\canopy{[Pre-\Canopy\!]\,\,}}}{Note:}{#1}}
|
||||||
\newcommand{\preheartwoodpnote}[1]{\callout{\notbeforeheartwood{\heartwood{[Pre-\Heartwood\!]\,\,}}}{Note:}{#1}}
|
\newcommand{\preheartwoodpnote}[1]{\callout{\notbeforeheartwood{\heartwood{[Pre-\Heartwood\!]\,\,}}}{Note:}{#1}}
|
||||||
\newcommand{\presaplingpnote}[1]{\callout{\notsprout{\sapling{[Pre-\ Sapling\!]\,\,}}}{Note:}{#1}}
|
\newcommand{\presaplingpnote}[1]{\callout{\notsprout{\sapling{[Pre-\ Sapling\!]\,\,}}}{Note:}{#1}}
|
||||||
|
@ -2190,7 +2192,7 @@ written in \defining{\term{slanted text}}. \emph{Italics} are used for emphasis
|
||||||
for references between sections of the document.
|
for references between sections of the document.
|
||||||
|
|
||||||
The key words \defining{\MUST, \MUSTNOT, \SHOULD,
|
The key words \defining{\MUST, \MUSTNOT, \SHOULD,
|
||||||
\sprout{and \SHOULDNOT}\notsprout{\SHOULDNOT, \MAY, and \RECOMMENDED}} in
|
\sprout{and \SHOULDNOT}\notsprout{\SHOULDNOT, \RECOMMENDED, \MAY, and \OPTIONAL}} in
|
||||||
this document are to be interpreted as described in \cite{RFC-2119} when
|
this document are to be interpreted as described in \cite{RFC-2119} when
|
||||||
they appear in \defining{\ALLCAPS}. These words may also appear in this document in
|
they appear in \defining{\ALLCAPS}. These words may also appear in this document in
|
||||||
lower case as plain English words, absent their normative meanings.
|
lower case as plain English words, absent their normative meanings.
|
||||||
|
@ -4338,10 +4340,11 @@ $\joinSplitPubKey$ of the containing \transaction:
|
||||||
\begin{consensusrules}
|
\begin{consensusrules}
|
||||||
\item Elements of a \joinSplitDescription{} \MUST have the types given
|
\item Elements of a \joinSplitDescription{} \MUST have the types given
|
||||||
above (for example: $0 \leq \vpubOld \leq \MAXMONEY$ and $0 \leq \vpubNew \leq \MAXMONEY$).
|
above (for example: $0 \leq \vpubOld \leq \MAXMONEY$ and $0 \leq \vpubNew \leq \MAXMONEY$).
|
||||||
\item Either $\vpubOld$ or $\vpubNew$ \MUST be zero.
|
|
||||||
\item The proof $\Proof{\JoinSplit}$ \MUST be valid given a \primaryInput formed
|
\item The proof $\Proof{\JoinSplit}$ \MUST be valid given a \primaryInput formed
|
||||||
from the relevant other fields and $\hSig$ --- i.e.\ $\JoinSplitVerify{}((\rt, \nfOld{\allOld},
|
from the relevant other fields and $\hSig$ --- i.e.\ $\JoinSplitVerify{}((\rt, \nfOld{\allOld},
|
||||||
\cmNew{\allNew},\changed{\vpubOld,} \vpubNew, \hSig, \h{\allOld}), \Proof{\JoinSplit}) = 1$.
|
\cmNew{\allNew},\changed{\vpubOld,} \vpubNew, \hSig, \h{\allOld}), \Proof{\JoinSplit}) = 1$.
|
||||||
|
\item Either $\vpubOld$ or $\vpubNew$ \MUST be zero.
|
||||||
|
\canopyonwarditem{$\vpubOld$ \MUST be zero.}
|
||||||
\end{consensusrules}
|
\end{consensusrules}
|
||||||
|
|
||||||
|
|
||||||
|
@ -4506,6 +4509,11 @@ and signs it with the private \defining{\joinSplitSigningKey}:
|
||||||
|
|
||||||
Then the encoded \transaction including $\joinSplitSig$ is submitted to the network.
|
Then the encoded \transaction including $\joinSplitSig$ is submitted to the network.
|
||||||
|
|
||||||
|
\canopyonwardpnote{\cite{ZIP-211} specifies that nodes and wallets \MUST disable any facilities
|
||||||
|
to send to \Sprout addresses. This \SHOULD be made clear in user interfaces and API documentation.}
|
||||||
|
|
||||||
|
The facility to send to \Sprout addresses is \notbeforecanopy{in any case} \OPTIONAL for a particular
|
||||||
|
node or wallet implementation.
|
||||||
|
|
||||||
\sapling{
|
\sapling{
|
||||||
\introlist
|
\introlist
|
||||||
|
@ -10833,6 +10841,8 @@ Peter Newell's illustration of the Jubjub bird, from \cite{Carroll1902}.
|
||||||
\item Set $\CanopyActivationHeight$ for \Testnet.
|
\item Set $\CanopyActivationHeight$ for \Testnet.
|
||||||
\item Modify the tables and notes in \crossref{zip214fundingstreams} to reflect changes in
|
\item Modify the tables and notes in \crossref{zip214fundingstreams} to reflect changes in
|
||||||
\cite{ZIP-214}.
|
\cite{ZIP-214}.
|
||||||
|
\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
|
} %canopy
|
||||||
\end{itemize}
|
\end{itemize}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue