Include the diversifier key in an encoded Orchard Incoming Viewing Key.

Signed-off-by: Daira Hopwood <daira@jacaranda.org>
This commit is contained in:
Daira Hopwood 2021-04-23 22:05:21 +01:00
parent 4dbf2f02d4
commit ecba2451bc
1 changed files with 5 additions and 2 deletions

View File

@ -11792,8 +11792,8 @@ instead use a \unifiedPaymentAddress as defined in \crossref{unifiedpaymentaddre
\vspace{-1ex}
Let $\KA{Orchard}$ be as defined in \crossref{concreteorchardkeyagreement}.
An \Orchard{} \defining{\incomingViewingKey} consists of a $\KAPrivate{Orchard}$ key
$\InViewingKey$, restricted to the range $\InViewingKeyTypeOrchard$.
An \Orchard{} \defining{\incomingViewingKey} consists of a \diversifierKey $\DiversifierKey$,
and a $\KAPrivate{Orchard}$ key $\InViewingKey$ restricted to the range $\InViewingKeyTypeOrchard$.
It is derived as described in \crossref{orchardkeycomponents}, and is used with the
encryption scheme defined in \crossref{saplingandorchardinband}.
@ -11805,12 +11805,14 @@ The \rawEncoding of an \Orchard \incomingViewingKey consists of:
\vspace{0.5ex}
\begin{equation*}
\begin{bytefield}[bitwidth=0.07em]{256}
\sbitbox{256}{$\DiversifierKey$}
\sbitbox{256}{$\ItoLEOSPOf{256}{\InViewingKey}$}
\end{bytefield}
\end{equation*}
\vspace{-1.5ex}
\begin{itemize}
\item $32$ bytes specifying $\DiversifierKey$.
\item $32$ bytes (little-endian) specifying $\InViewingKey$.
\end{itemize}
@ -14232,6 +14234,7 @@ Peter Newell's illustration of the Jubjub bird, from \cite{Carroll1902}.
\nufive{
\item Add the \nConsensusBranchId{} field to v5 \transactions, matching the \consensusBranchID
used for \sighashTxHashes.
\item Include the \diversifierKey in an encoded \Orchard Incoming Viewing Key.
} %nufive
\item Explicitly say that \coinbaseTransactions \MUSTNOT have \transparentInputs
(this is a consensus rule inherited from \Bitcoin which has been present since launch).