mirror of https://github.com/zcash/zips.git
Explicitly state the consensus rule that a coinbase transaction must not spend more than is available from the block subsidy and transaction fees.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
This commit is contained in:
parent
c7180872a3
commit
4d00112f5d
|
@ -9118,6 +9118,10 @@ $\versionField \geq 4$ and $\nShieldedSpend + \nShieldedOutput > 0$.
|
|||
\end{itemize}}
|
||||
\saplingonwarditem{If $\versionField \geq 4$ and $\nShieldedSpend + \nShieldedOutput = 0$,
|
||||
then $\valueBalance$ \MUST be $0$.}
|
||||
\item The total amount of \transparentOutputs from a \coinbaseTransaction,\heartwood{ minus
|
||||
the amount of the $\valueBalance$ field if present,} \MUSTNOT be greater than the
|
||||
amount of \minerSubsidy plus the total amount of \transactionFees paid by \transactions
|
||||
in this \block.
|
||||
\notheartwood{
|
||||
\item A \coinbaseTransaction{} \MUSTNOT have any
|
||||
\joinSplitDescriptions\sapling{, \spendDescriptions, or \outputDescriptions}.
|
||||
|
@ -9182,6 +9186,11 @@ each \spendDescription (\crossref{spendencoding}), and each \outputDescription (
|
|||
\Bitcoin, where it is associated with support for \ScriptOP{CHECKSEQUENCEVERIFY}
|
||||
as specified in \cite{BIP-68}. \Zcash was forked from \Bitcoin v0.11.2
|
||||
and does not currently support BIP 68.
|
||||
\saplingonwarditem{As a consequence of \coinbaseTransactions having no
|
||||
\spendDescriptions\notheartwood{ or \outputDescriptions}, the $\valueBalance$ field of a
|
||||
\coinbaseTransaction must have a\heartwood{ negative or} zero value.
|
||||
\heartwood{The negative case can only occur after \Heartwood activation, for \transactions
|
||||
with \cite{ZIP-213} \shieldedOutputs.}}
|
||||
\heartwood{
|
||||
\item Prior to the \Heartwood{} \networkUpgrade, it was not possible for \coinbaseTransactions
|
||||
to have \shielded outputs, and therefore the ``coinbase maturity'' rule and the requirement
|
||||
|
@ -10836,9 +10845,11 @@ Peter Newell's illustration of the Jubjub bird, from \cite{Carroll1902}.
|
|||
\lsection{Change History}{changehistory}
|
||||
|
||||
|
||||
\historyentry{2020.1.14}{}
|
||||
\historyentry{2020.1.14}{2020-08-19}
|
||||
\begin{itemize}
|
||||
\item No changes to \Sprout.
|
||||
\item The consensus rule that a \coinbaseTransaction must not spend more than is
|
||||
available from the \blockSubsidy and \transactionFees, was not explicitly stated.
|
||||
(This rule was correctly implemented in \zcashd.)
|
||||
\sapling{
|
||||
\item Fix a type error in the output of $\PRFnfSapling{}$; a \Sapling \nullifier is a
|
||||
sequence of $32$ bytes, not a bit sequence.
|
||||
|
|
Loading…
Reference in New Issue