diff --git a/protocol/protocol.tex b/protocol/protocol.tex index e8a950a6..6fa21251 100644 --- a/protocol/protocol.tex +++ b/protocol/protocol.tex @@ -5736,8 +5736,7 @@ from $\TransmitPlaintext{}$ \canopyonwarditem{if $\BlockHeight < \CanopyActivationHeight + \ZIPTwoOneTwoGracePeriod \text{ and } \NotePlaintextLeadByte \not\in \setof{\hexint{01}, \hexint{02}}$, return $\bot$} \canopyonwarditem{if $\BlockHeight \geq \CanopyActivationHeight + \ZIPTwoOneTwoGracePeriod \text{ and } \NotePlaintextLeadByte \neq \hexint{02}$, return $\bot$} \vspace{-0.25ex} - \canopyonwarditem{let $\EphemeralPrivate' = \ToScalar\big(\PRFexpand{\NoteSeedBytes}(\hexarray{04})\kern-0.11em\big)$} - \canopyonwarditem{if $\EphemeralPrivate' \neq \EphemeralPrivate$, return $\bot$} + \canopyonwarditem{if $\NotePlaintextLeadByte \neq \hexint{01}$ and $\ToScalar\big(\PRFexpand{\NoteSeedBytes}(\hexarray{04})\kern-0.11em\big) \neq \EphemeralPrivate$, return $\bot$} \canopyonwarditem{let $\NoteCommitRandBytes = \begin{cases} \NoteSeedBytes,&\caseif \NotePlaintextLeadByte = \hexint{01} \\ \ToScalar\big(\PRFexpand{\NoteSeedBytes}(\hexarray{05})\kern-0.11em\big),&\caseotherwise @@ -10521,6 +10520,9 @@ Peter Newell's illustration of the Jubjub bird, from \cite{Carroll1902}. \canopy{ \item Specify that \shieldedOutputs of \coinbaseTransactions \MUST use v2 \notePlaintexts after \Canopy activation. + \item Correct a bug in \crossref{saplingdecryptovk}: $\EphemeralPrivate$ is only to be checked + against $\ToScalar\big(\PRFexpand{\NoteSeedBytes}(\hexarray{04})\kern-0.11em\big)$ + when $\NotePlaintextLeadByte \neq \hexint{01}$. } \end{itemize}