From 5cf59663d93968c0a82369e42a4bc21a13513337 Mon Sep 17 00:00:00 2001 From: Daira Hopwood Date: Sun, 24 Feb 2019 02:05:58 +0000 Subject: [PATCH] Cosmetics. Signed-off-by: Daira Hopwood --- protocol/protocol.tex | 41 ++++++++++++++++++++++++++--------------- 1 file changed, 26 insertions(+), 15 deletions(-) diff --git a/protocol/protocol.tex b/protocol/protocol.tex index ce9010ad..0556bb6b 100644 --- a/protocol/protocol.tex +++ b/protocol/protocol.tex @@ -9028,7 +9028,7 @@ Define: \item $\BlossomPoWTargetSpacingRatio := \hfrac{\PreBlossomPoWTargetSpacing}{\PostBlossomPoWTargetSpacing}$ \item $\PostBlossomHalvingInterval := \floor{\PreBlossomHalvingInterval \mult \BlossomPoWTargetSpacingRatio}$ \item $\PoWTargetSpacingFunc(\BlockHeight) := \begin{cases} - \PreBlossomPoWTargetSpacing,&\caseif \text{not} \IsBlossomActivated(\BlockHeight) \\ + \PreBlossomPoWTargetSpacing,&\caseif \text{not } \IsBlossomActivated(\BlockHeight) \\ \PostBlossomPoWTargetSpacing,&\caseotherwise \end{cases}$ } %blossom @@ -9039,8 +9039,9 @@ Define: \item $\MedianTime(\BlockHeight) := \median(\listcomp{\nTime(i) \for i \from \maximum(0, \BlockHeight - \PoWMedianBlockSpan) \upto \BlockHeight - 1})$ \item $\ActualTimespan(\BlockHeight) := \MedianTime(\BlockHeight) - \MedianTime(\BlockHeight - \PoWAveragingWindow)$ - \item $\ActualTimespanDamped(\BlockHeight) := \\ - \AveragingWindowTimespan\blossom{(\BlockHeight)} + \trunc{\scalebox{0.98}{\hfrac{\ActualTimespan(\BlockHeight) - \AveragingWindowTimespan\blossom{(\BlockHeight)}}{\PoWDampingFactor}}}$ + \item $\ActualTimespanDamped(\BlockHeight) :=$ + \vspace{-0.5ex} + \item \tab $\AveragingWindowTimespan\blossom{(\BlockHeight)} + \trunc{\scalebox{0.98}{\hfrac{\ActualTimespan(\BlockHeight) - \AveragingWindowTimespan\blossom{(\BlockHeight)}}{\PoWDampingFactor}}}$ \item $\ActualTimespanBounded(\BlockHeight) := \bound{\MinActualTimespan\blossom{(\BlockHeight)}}{\MaxActualTimespan\blossom{(\BlockHeight)}}(\ActualTimespanDamped(\BlockHeight))$ \item $\MeanTarget(\BlockHeight) := \begin{cases} \PoWLimit, \hspace{16em}\text{if } \BlockHeight \leq \PoWAveragingWindow \\ @@ -9111,20 +9112,24 @@ in its \blockHeader is defined as $\floor{\hfrac{2^{256}}{\ToTarget(\nBits) + 1} \crossref{subsidyconcepts} defines the \blockSubsidy, \minerSubsidy,\blossom{ \fundingStreams,} and \foundersReward. Their amounts in \zatoshi are calculated from the \blockHeight using -the formulae below. The constants $\SlowStartInterval$, $\PreBlossomHalvingInterval$, -\blossom{$\PostBlossomHalvingInterval$, $\BlossomActivationHeight$, }$\MaxBlockSubsidy$, -and $\FoundersFraction$ are instantiated in \crossref{constants}. -\blossom{The per-\fundingStream constants $\FundingStreamFraction{i}$, $\FundingStreamStartHeight{i}$, +the formulae below.\notbeforeblossom{ + +}The constants $\SlowStartInterval$, $\MaxBlockSubsidy$, $\FoundersFraction$,\notblossom{ and} $\PreBlossomHalvingInterval$, +\blossom{$\MaxFundingStreams$, $\PostBlossomHalvingInterval$, and $\BlossomActivationHeight$} are instantiated in \crossref{constants}. +\blossom{The per \fundingStream constants $\FundingStreamFraction{i}$, $\FundingStreamStartHeight{i}$, and $\FundingStreamEndHeight{i}$ are instantiated in \crossref{fundingstreams}.} +\vspace{1ex} \begin{formulae} \item $\SlowStartShift \typecolon \Nat := \hfrac{\SlowStartInterval}{2}$ \item $\SlowStartRate \typecolon \Nat := \hfrac{\MaxBlockSubsidy}{\SlowStartInterval}$ + \vspace{0.5ex} \item $\Halving(\BlockHeight) := \notblossom{\floor{\hfrac{\BlockHeight - \SlowStartShift}{\PreBlossomHalvingInterval}}} \notbeforeblossom{\begin{cases} - \floor{\hfrac{\BlockHeight - \SlowStartShift}{\PreBlossomHalvingInterval}},\hspace{1em}\blossom{\caseif \text{ not } \IsBlossomActivated(\BlockHeight}) \\ + \floor{\hfrac{\BlockHeight - \SlowStartShift}{\PreBlossomHalvingInterval}},\hspace{1em}\blossom{\caseif \text{not } \IsBlossomActivated(\BlockHeight)} \\[1.4ex] \blossom{\floor{\hfrac{\BlossomActivationHeight - \SlowStartShift}{\PreBlossomHalvingInterval} + \hfrac{\BlockHeight - \BlossomActivationHeight}{\PostBlossomHalvingInterval}},}&\blossom{\caseotherwise} \end{cases}}$ + \vspace{0.5ex} \item $\BlockSubsidy(\BlockHeight) := \begin{cases} \SlowStartRate \mult \BlockHeight,&\caseif \BlockHeight < \hfrac{\SlowStartInterval}{2} \\[1.4ex] \SlowStartRate \mult (\BlockHeight + 1),&\caseif \hfrac{\SlowStartInterval}{2} \leq \BlockHeight \\[1.4ex] @@ -9137,8 +9142,10 @@ and $\FundingStreamEndHeight{i}$ are instantiated in \crossref{fundingstreams}.} \end{cases}$ \blossom { - \item $\FundingStreamValue{i}(\BlockHeight) := \\[1.4ex] - \begin{cases} + \vspace{0.5ex} + \item $\FundingStreamValue{i}(\BlockHeight) :=$ + \vspace{-0.5ex} + \item \tab $\begin{cases} 0,&\caseif \BlockHeight < \BlossomActivationHeight \\ \floor{\BlockSubsidy(\BlockHeight) \mult \FundingStreamFraction{i}},&\caseif \FundingStreamStartHeight{i} \leq \BlockHeight \\ &\text{ and } \BlockHeight < \FundingStreamEndHeight{i} \\ @@ -9154,7 +9161,10 @@ and $\FundingStreamEndHeight{i}$ are instantiated in \crossref{fundingstreams}.} 0,&\caseotherwise \end{cases}$ - \item $\MinerSubsidy(\BlockHeight) := \BlockSubsidy(\BlockHeight) - \FoundersReward(\BlockHeight) \blossom{- \sum_{i = 0}^\text{streams} \FundingStreamValue{i}(\BlockHeight)}$. + \item $\MinerSubsidy(\BlockHeight) :=$ + \vspace{-1.5ex} + \item \tab $\BlockSubsidy(\BlockHeight) - \FoundersReward(\BlockHeight) + \blossom{\,- \ssum{i = 1}{\MaxFundingStreams} \FundingStreamValue{i}(\BlockHeight)}$. \end{formulae} \introsection @@ -9249,7 +9259,7 @@ Define: \end{formulae} Let $\RedeemScriptHash(\BlockHeight)$ be the standard redeem script hash, as defined in -\cite{Bitcoin-Multisig}, for the P2SH multisig address with Base58Check representation +\cite{Bitcoin-Multisig}, for the P2SH multisig address with Base58Check form given by $\FounderAddressList_{\,\FounderAddressIndex(\BlockHeight)}$. \consensusrule{ @@ -9293,8 +9303,9 @@ Define: \begin{formulae} \item $\FundingStreamAddressChangeInterval := \PostBlossomHalvingInterval / 48$ \item $\FundingStreamAddressPeriod(\BlockHeight) := \floor{\hfrac{\BlockHeight + \PostBlossomHalvingInterval - \HeightForHalving(1)}{\FundingStreamAddressChangeInterval}}$ - \item $\FundingStreamAddressIndex{i}(\BlockHeight) := \\ - 1 + \FundingStreamAddressPeriod(\BlockHeight) - \FundingStreamAddressPeriod(\FundingStreamStartHeight{i})$. + \item $\FundingStreamAddressIndex{i}(\BlockHeight) :=$ + \vspace{-0.5ex} + \item \tab $1 + \FundingStreamAddressPeriod(\BlockHeight) - \FundingStreamAddressPeriod(\FundingStreamStartHeight{i})$. \end{formulae} The number of \transparent addresses per \fundingStream is therefore: @@ -9308,7 +9319,7 @@ Each address representation in $\FundingStreamAddressList{i}_{\oneto{\FundingStr denotes a \transparent P2SH multisig address. Let $\RedeemScriptHash_i(\BlockHeight)$ be the standard redeem script hash, as defined in -\cite{Bitcoin-Multisig}, for the P2SH multisig address with Base58Check representation +\cite{Bitcoin-Multisig}, for the P2SH multisig address with Base58Check form given by $\FundingStreamAddressList{i}_{\,\FundingStreamAddressIndex{i}(\BlockHeight)}$. Recall from \crossref{subsidies} the definition of $\FundingStreamValue{i}$.