Address Daira's review comments.

Signed-off-by: Daira Hopwood <daira@jacaranda.org>
This commit is contained in:
Daira Hopwood 2019-02-24 02:06:23 +00:00
parent 5cf59663d9
commit 86319cfe89
1 changed files with 17 additions and 15 deletions

View File

@ -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}