mirror of https://github.com/zcash/zips.git
Specify coinbase constraints. fixes #81
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
This commit is contained in:
parent
ce66c0e31b
commit
a871fc52d3
|
@ -5099,8 +5099,8 @@ The encoding of $\joinSplitPubKey$ and the data to be signed are specified in
|
||||||
\sproutonlyitem{The \transactionVersionNumber{} \MUST be greater than or equal to $1$.}
|
\sproutonlyitem{The \transactionVersionNumber{} \MUST be greater than or equal to $1$.}
|
||||||
\saplingonlyitem{The \transactionVersionNumber{} \MUST be \todo{}.}
|
\saplingonlyitem{The \transactionVersionNumber{} \MUST be \todo{}.}
|
||||||
\item If $\versionField = 1$ or $\nJoinSplit = 0$, then \txInCount{} \MUSTNOT be $0$.
|
\item If $\versionField = 1$ or $\nJoinSplit = 0$, then \txInCount{} \MUSTNOT be $0$.
|
||||||
\item A \transaction with one or more coinbase inputs \MUST have no \transparent outputs
|
\item A \transaction with one or more inputs from \coinbaseTransactions{} \MUST have no
|
||||||
(i.e.\ \txOutCount{} \MUST be $0$).
|
\transparent outputs (i.e.\ \txOutCount{} \MUST be $0$).
|
||||||
\item If $\nJoinSplit > 0$, then \joinSplitSig{} \MUST represent a valid signature
|
\item If $\nJoinSplit > 0$, then \joinSplitSig{} \MUST represent a valid signature
|
||||||
over $\dataToBeSigned$ as defined in \crossref{nonmalleability}.
|
over $\dataToBeSigned$ as defined in \crossref{nonmalleability}.
|
||||||
\item If $\nJoinSplit > 0$, then \joinSplitPubKey{} \MUST represent a point of order $\ell$
|
\item If $\nJoinSplit > 0$, then \joinSplitPubKey{} \MUST represent a point of order $\ell$
|
||||||
|
@ -5109,7 +5109,11 @@ The encoding of $\joinSplitPubKey$ and the data to be signed are specified in
|
||||||
less than $2^{255}-19$.
|
less than $2^{255}-19$.
|
||||||
\sproutonlyitem{The encoded size of the \transaction{} \MUST be less than or equal to
|
\sproutonlyitem{The encoded size of the \transaction{} \MUST be less than or equal to
|
||||||
$100000$ bytes.}
|
$100000$ bytes.}
|
||||||
\item \todo{Coinbase maturity rule.}
|
\item A \coinbaseTransaction{} \MUSTNOT have any
|
||||||
|
\joinSplitDescriptions\sapling{, \spendDescriptions, or \outputDescriptions}.
|
||||||
|
\item A \transaction{} \MUSTNOT spend an output of a \coinbaseTransaction
|
||||||
|
(necessarily a \transparent output) from a \block less than 100 \blocks prior
|
||||||
|
to the spend.
|
||||||
\item \todo{Other rules inherited from \Bitcoin.}
|
\item \todo{Other rules inherited from \Bitcoin.}
|
||||||
\end{consensusrules}
|
\end{consensusrules}
|
||||||
|
|
||||||
|
@ -6350,6 +6354,9 @@ Daira Hopwood, Sean Bowe, and Jack Grigg.
|
||||||
\subparagraph{2018.0-beta-9}
|
\subparagraph{2018.0-beta-9}
|
||||||
|
|
||||||
\begin{itemize}
|
\begin{itemize}
|
||||||
|
\item Specify the coinbase maturity rule, and the rule that \coinbaseTransactions
|
||||||
|
cannot contain \joinSplitDescriptions\sapling{, \spendDescriptions, or
|
||||||
|
\outputDescriptions}.
|
||||||
\nuzero{
|
\nuzero{
|
||||||
\item Delay lifting the 100000-byte \transaction size limit from \NUZero to
|
\item Delay lifting the 100000-byte \transaction size limit from \NUZero to
|
||||||
\Sapling.
|
\Sapling.
|
||||||
|
|
Loading…
Reference in New Issue