Clarify that transparent inputs are prohibited in coinbase transactions only if they have a non-null `prevout` field. closes #498

Co-authored-by: teor <teor@riseup.net>
Co-authored-by: Jack Grigg <jack@electriccoin.co>
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
This commit is contained in:
Daira Hopwood 2021-05-07 16:32:26 +01:00
parent 330254c9ca
commit d0caaa2ee9
1 changed files with 4 additions and 2 deletions

View File

@ -1896,6 +1896,7 @@ electronic commerce and payment, financial privacy, proof of work, zero knowledg
\newcommand{\nConsensusBranchId}{\mathtt{nConsensusBranchId}} \newcommand{\nConsensusBranchId}{\mathtt{nConsensusBranchId}}
\newcommand{\txInCount}{\mathtt{tx\_in\_count}} \newcommand{\txInCount}{\mathtt{tx\_in\_count}}
\newcommand{\txIn}{\mathtt{tx\_in}} \newcommand{\txIn}{\mathtt{tx\_in}}
\newcommand{\prevout}{\mathtt{prevout}}
\newcommand{\txOutCount}{\mathtt{tx\_out\_count}} \newcommand{\txOutCount}{\mathtt{tx\_out\_count}}
\newcommand{\txOut}{\mathtt{tx\_out}} \newcommand{\txOut}{\mathtt{tx\_out}}
\newcommand{\lockTime}{\mathtt{lock\_time}} \newcommand{\lockTime}{\mathtt{lock\_time}}
@ -12361,12 +12362,11 @@ Several fields are reordered and/or renamed relative to prior versions.}} %scale
\item The total value in \zatoshi of \transparentOutputs from a \coinbaseTransaction\heartwood{, minus \item The total value in \zatoshi of \transparentOutputs from a \coinbaseTransaction\heartwood{, minus
$\vBalance{Sapling}$,}\nufive{ minus $\vBalance{Orchard}$,} \MUSTNOT be greater than the value in $\vBalance{Sapling}$,}\nufive{ minus $\vBalance{Orchard}$,} \MUSTNOT be greater than the value in
\zatoshi of \minerSubsidy plus the \transactionFees paid by \transactions in this \block. \zatoshi of \minerSubsidy plus the \transactionFees paid by \transactions in this \block.
\item A \coinbaseTransaction \MUSTNOT have any \transparentInputs with non-null $\prevout$ fields,
\notheartwood{ \notheartwood{
\item A \coinbaseTransaction \MUSTNOT have any \transparentInputs,
\joinSplitDescriptions\sapling{, \spendDescriptions, or \outputDescriptions}. \joinSplitDescriptions\sapling{, \spendDescriptions, or \outputDescriptions}.
} }
\notbeforeheartwood{ \notbeforeheartwood{
\item A \coinbaseTransaction \MUSTNOT have any \transparentInputs,
\joinSplitDescriptions\sapling{, or \spendDescriptions}. \joinSplitDescriptions\sapling{, or \spendDescriptions}.
\preheartwooditem{\sapling{A \coinbaseTransaction also \MUSTNOT have any \outputDescriptions.}} \preheartwooditem{\sapling{A \coinbaseTransaction also \MUSTNOT have any \outputDescriptions.}}
} }
@ -14267,6 +14267,8 @@ Peter Newell's illustration of the Jubjub bird, from \cite{Carroll1902}.
\unifiedPaymentAddresses. Remove the corresponding note from \crossref{orchardkeycomponents}. \unifiedPaymentAddresses. Remove the corresponding note from \crossref{orchardkeycomponents}.
\item Clarify that the change to use \hashBlockCommitments{} in a \blockHeader for \NUFive is a \item Clarify that the change to use \hashBlockCommitments{} in a \blockHeader for \NUFive is a
consensus rule. consensus rule.
\item Clarify that \transparentInputs are prohibited in \coinbaseTransactions only if they have
a non-null $\prevout$ field.
\item Caveat how the result of \cite{GG2015} applies to analysis of $\PRFnf{Orchard}{}$ in \item Caveat how the result of \cite{GG2015} applies to analysis of $\PRFnf{Orchard}{}$ in
\crossref{concreteprfs}. \crossref{concreteprfs}.
\item Unlinkability of \diversifiedPaymentAddresses depends on the \xDecisionalDiffieHellmanProblem, \item Unlinkability of \diversifiedPaymentAddresses depends on the \xDecisionalDiffieHellmanProblem,