mirror of https://github.com/zcash/zips.git
Address Daira's review comments.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
This commit is contained in:
parent
5cf59663d9
commit
86319cfe89
|
@ -8992,10 +8992,10 @@ with simplifications and altered parameters, to adjust difficulty to target
|
|||
the desired 2.5-minute block time.
|
||||
Unlike \Bitcoin, the difficulty adjustment occurs after every block.
|
||||
|
||||
The constants $\PoWLimit$, $\PoWAveragingWindow$, $\PoWMaxAdjustDown$, $\PoWMaxAdjustUp$,
|
||||
$\PoWDampingFactor$, \\
|
||||
\notblossom{and }$\PreBlossomPoWTargetSpacing$\notbeforeblossom{,\blossom{ $\PostBlossomPoWTargetSpacing$,} and $\PreBlossomHalvingInterval$}
|
||||
are instantiated in \crossref{constants}.
|
||||
\notbeforeblossom{The constants }$\PoWLimit$, $\PreBlossomHalvingInterval$, $\PoWAveragingWindow$,
|
||||
$\PoWMaxAdjustDown$, $\PoWMaxAdjustUp$, $\PoWDampingFactor$,\notblossom{ and}
|
||||
$\PreBlossomPoWTargetSpacing$\blossom{, and $\PostBlossomPoWTargetSpacing$}
|
||||
are specified in section \crossref{constants}.
|
||||
|
||||
Let $\ToCompact$ and $\ToTarget$ be as defined in \crossref{nbits}.
|
||||
|
||||
|
@ -9021,10 +9021,7 @@ Define:
|
|||
-\floor{-x},&\caseotherwise
|
||||
\end{cases}$
|
||||
\blossom{
|
||||
\item $\IsBlossomActivated(\BlockHeight) := \begin{cases}
|
||||
true,&\caseif \BlockHeight \geq \BlossomActivationHeight \\
|
||||
false,&\caseotherwise
|
||||
\end{cases}$
|
||||
\item $\IsBlossomActivated(\BlockHeight) := (\BlockHeight \geq \BlossomActivationHeight)$
|
||||
\item $\BlossomPoWTargetSpacingRatio := \hfrac{\PreBlossomPoWTargetSpacing}{\PostBlossomPoWTargetSpacing}$
|
||||
\item $\PostBlossomHalvingInterval := \floor{\PreBlossomHalvingInterval \mult \BlossomPoWTargetSpacingRatio}$
|
||||
\item $\PoWTargetSpacingFunc(\BlockHeight) := \begin{cases}
|
||||
|
@ -9270,8 +9267,10 @@ as its $\scriptPubKey$.
|
|||
}
|
||||
|
||||
\begin{pnotes}
|
||||
\item No \foundersReward is required to be paid for $\BlockHeight \geq \SlowStartShift + \PreBlossomHalvingInterval$
|
||||
(i.e.\ after the first halving), or for $\BlockHeight = 0$ (i.e.\ the \genesisBlock).
|
||||
\item No \foundersReward is required to be paid for $\BlockHeight \geq$
|
||||
\notblossom{$\SlowStartShift + \PreBlossomHalvingInterval$
|
||||
(i.e.\ after the first halving)}\blossom{$\BlossomActivationHeight$},
|
||||
or for $\BlockHeight = 0$ (i.e.\ the \genesisBlock).
|
||||
\item The \foundersReward addresses are not treated specially in any other way, and
|
||||
there can be other outputs to them, in \coinbaseTransactions or otherwise.
|
||||
In particular, it is valid for a \coinbaseTransaction with
|
||||
|
@ -9302,7 +9301,8 @@ Define:
|
|||
|
||||
\begin{formulae}
|
||||
\item $\FundingStreamAddressChangeInterval := \PostBlossomHalvingInterval / 48$
|
||||
\item $\FundingStreamAddressPeriod(\BlockHeight) := \floor{\hfrac{\BlockHeight + \PostBlossomHalvingInterval - \HeightForHalving(1)}{\FundingStreamAddressChangeInterval}}$
|
||||
\item $\FundingStreamAddressPeriod(\BlockHeight) :=
|
||||
\floor{\hfrac{\BlockHeight - (\HeightForHalving(1) - \PostBlossomHalvingInterval)}{\FundingStreamAddressChangeInterval}}$
|
||||
\item $\FundingStreamAddressIndex{i}(\BlockHeight) :=$
|
||||
\vspace{-0.5ex}
|
||||
\item \tab $1 + \FundingStreamAddressPeriod(\BlockHeight) - \FundingStreamAddressPeriod(\FundingStreamStartHeight{i})$.
|
||||
|
@ -9325,10 +9325,12 @@ given by $\FundingStreamAddressList{i}_{\,\FundingStreamAddressIndex{i}(\BlockHe
|
|||
Recall from \crossref{subsidies} the definition of $\FundingStreamValue{i}$.
|
||||
|
||||
\consensusrule{
|
||||
A \coinbaseTransaction for \blockHeight $\BlockHeight$ \MUST include at least one output
|
||||
for every $i$ from $0$ up to $\MaxFundingStreams$ that pays exactly $\FundingStreamValue{i}(\BlockHeight)$
|
||||
\zatoshi with a standard P2SH script of the form \ScriptOP{HASH160} \;$\RedeemScriptHash_i(\BlockHeight)$\; \ScriptOP{EQUAL}
|
||||
as its $\scriptPubKey$, unless $\FundingStreamValue{i}(\BlockHeight) = 0$.
|
||||
In each \coinbaseTransaction for \blockHeight $\BlockHeight$, for every
|
||||
$i \in \range{1}{\MaxFundingStreams}$ such that $\FundingStreamValue{i}(\BlockHeight) \neq 0$,
|
||||
the \transaction{} \MUST include at least one output that pays exactly
|
||||
$\FundingStreamValue{i}(\BlockHeight)$ \zatoshi with a standard P2SH script
|
||||
of the form \ScriptOP{HASH160} \;$\RedeemScriptHash_i(\BlockHeight)$\; \ScriptOP{EQUAL}
|
||||
as its $\scriptPubKey$.
|
||||
}
|
||||
|
||||
\begin{pnotes}
|
||||
|
|
Loading…
Reference in New Issue