mirror of https://github.com/zcash/zips.git
Change instances of "the production network" to "Mainnet", and "the test network" to "Testnet".
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
This commit is contained in:
parent
baad229598
commit
0248a44a05
|
@ -6042,14 +6042,14 @@ Define:
|
||||||
\item $\MAXMONEY \typecolon \Nat := \changed{2.1 \smult 10^{15}}$ (\zatoshi)
|
\item $\MAXMONEY \typecolon \Nat := \changed{2.1 \smult 10^{15}}$ (\zatoshi)
|
||||||
\blossom{
|
\blossom{
|
||||||
\item $\BlossomActivationHeight \typecolon \Nat := \begin{cases}
|
\item $\BlossomActivationHeight \typecolon \Nat := \begin{cases}
|
||||||
653600,&\squash\text{for the production network} \\
|
653600,&\squash\text{for \Mainnet} \\
|
||||||
584000,&\squash\text{for the test network}
|
584000,&\squash\text{for \Testnet}
|
||||||
\end{cases}$
|
\end{cases}$
|
||||||
} %blossom
|
} %blossom
|
||||||
\canopy{
|
\canopy{
|
||||||
\item $\CanopyActivationHeight \typecolon \Nat := \begin{cases}
|
\item $\CanopyActivationHeight \typecolon \Nat := \begin{cases}
|
||||||
1046400,&\squash\text{for the production network} \\
|
1046400,&\squash\text{for \Mainnet} \\
|
||||||
\todo{},&\squash\text{for the test network}
|
\todo{},&\squash\text{for \Testnet}
|
||||||
\end{cases}$
|
\end{cases}$
|
||||||
\item $\ZIPTwoOneTwoGracePeriod \typecolon \Nat := 32256$
|
\item $\ZIPTwoOneTwoGracePeriod \typecolon \Nat := 32256$
|
||||||
} %canopy
|
} %canopy
|
||||||
|
@ -6059,8 +6059,8 @@ Define:
|
||||||
\item $\NumFounderAddresses \typecolon \Nat := 48$
|
\item $\NumFounderAddresses \typecolon \Nat := 48$
|
||||||
\item $\FoundersFraction \typecolon \Rat := \frac{1}{5}$
|
\item $\FoundersFraction \typecolon \Rat := \frac{1}{5}$
|
||||||
\item $\PoWLimit \typecolon \Nat := \begin{cases}
|
\item $\PoWLimit \typecolon \Nat := \begin{cases}
|
||||||
2^{243} - 1,&\squash\text{for the production network} \\
|
2^{243} - 1,&\squash\text{for \Mainnet} \\
|
||||||
2^{251} - 1,&\squash\text{for the test network}
|
2^{251} - 1,&\squash\text{for \Testnet}
|
||||||
\end{cases}$
|
\end{cases}$
|
||||||
\item $\PoWAveragingWindow \typecolon \Nat := 17$
|
\item $\PoWAveragingWindow \typecolon \Nat := 17$
|
||||||
\item $\PoWMedianBlockSpan \typecolon \Nat := 11$
|
\item $\PoWMedianBlockSpan \typecolon \Nat := 11$
|
||||||
|
@ -8440,7 +8440,7 @@ The \rawEncoding of a P2SH address consists of:
|
||||||
\begin{itemize}
|
\begin{itemize}
|
||||||
\item Two bytes $[\PtoSHAddressLeadByte, \PtoSHAddressSecondByte]$,
|
\item Two bytes $[\PtoSHAddressLeadByte, \PtoSHAddressSecondByte]$,
|
||||||
indicating this version of the \rawEncoding of a P2SH address
|
indicating this version of the \rawEncoding of a P2SH address
|
||||||
on the production network. (Addresses on the test network use
|
on \Mainnet. (Addresses on \Testnet use
|
||||||
$[\PtoSHAddressTestnetLeadByte, \PtoSHAddressTestnetSecondByte]$
|
$[\PtoSHAddressTestnetLeadByte, \PtoSHAddressTestnetSecondByte]$
|
||||||
instead.)
|
instead.)
|
||||||
\item $20$ bytes specifying a script hash \cite{Bitcoin-P2SH}.
|
\item $20$ bytes specifying a script hash \cite{Bitcoin-P2SH}.
|
||||||
|
@ -8460,7 +8460,7 @@ The \rawEncoding of a P2PKH address consists of:
|
||||||
\begin{itemize}
|
\begin{itemize}
|
||||||
\item Two bytes $[\PtoPKHAddressLeadByte, \PtoPKHAddressSecondByte]$,
|
\item Two bytes $[\PtoPKHAddressLeadByte, \PtoPKHAddressSecondByte]$,
|
||||||
indicating this version of the \rawEncoding of a P2PKH address
|
indicating this version of the \rawEncoding of a P2PKH address
|
||||||
on the production network. (Addresses on the test network use
|
on \Mainnet. (Addresses on \Testnet use
|
||||||
$[\PtoPKHAddressTestnetLeadByte, \PtoPKHAddressTestnetSecondByte]$
|
$[\PtoPKHAddressTestnetLeadByte, \PtoPKHAddressTestnetSecondByte]$
|
||||||
instead.)
|
instead.)
|
||||||
\item $20$ bytes specifying a \validatingKey hash, which is a RIPEMD-160
|
\item $20$ bytes specifying a \validatingKey hash, which is a RIPEMD-160
|
||||||
|
@ -8472,7 +8472,7 @@ The \rawEncoding of a P2PKH address consists of:
|
||||||
\begin{pnotes}
|
\begin{pnotes}
|
||||||
\item In \Bitcoin a single byte is used for the version field identifying
|
\item In \Bitcoin a single byte is used for the version field identifying
|
||||||
the address type. In \Zcash two bytes are used. For addresses on
|
the address type. In \Zcash two bytes are used. For addresses on
|
||||||
the production network, this and the encoded length cause the first
|
\Mainnet, this and the encoded length cause the first
|
||||||
two characters of the Base58Check encoding to be fixed as \ascii{t3}
|
two characters of the Base58Check encoding to be fixed as \ascii{t3}
|
||||||
for P2SH addresses, and as \ascii{t1} for P2PKH addresses. (This does
|
for P2SH addresses, and as \ascii{t1} for P2PKH addresses. (This does
|
||||||
\emph{not} imply that a \transparent \Zcash address can be parsed
|
\emph{not} imply that a \transparent \Zcash address can be parsed
|
||||||
|
@ -8485,7 +8485,7 @@ The \rawEncoding of a P2PKH address consists of:
|
||||||
\lsubsubsection{Transparent Private Keys}{transparentkeyencoding}
|
\lsubsubsection{Transparent Private Keys}{transparentkeyencoding}
|
||||||
|
|
||||||
These are encoded in the same way as in \Bitcoin \cite{Bitcoin-Base58},
|
These are encoded in the same way as in \Bitcoin \cite{Bitcoin-Base58},
|
||||||
for both the production and test networks.
|
for both \Mainnet and \Testnet.
|
||||||
|
|
||||||
|
|
||||||
\lsubsubsection{\SproutOrNothingText{} Payment Addresses}{sproutpaymentaddrencoding}
|
\lsubsubsection{\SproutOrNothingText{} Payment Addresses}{sproutpaymentaddrencoding}
|
||||||
|
@ -8515,7 +8515,7 @@ The \rawEncoding of a \SproutOrNothing{} \paymentAddress consists of:
|
||||||
\changed{
|
\changed{
|
||||||
\item Two bytes $[\PaymentAddressLeadByte, \PaymentAddressSecondByte]$,
|
\item Two bytes $[\PaymentAddressLeadByte, \PaymentAddressSecondByte]$,
|
||||||
indicating this version of the \rawEncoding of a \SproutOrZcash{} \paymentAddress
|
indicating this version of the \rawEncoding of a \SproutOrZcash{} \paymentAddress
|
||||||
on the production network. (Addresses on the test network use
|
on \Mainnet. (Addresses on \Testnet use
|
||||||
$[\PaymentAddressTestnetLeadByte, \PaymentAddressTestnetSecondByte]$
|
$[\PaymentAddressTestnetLeadByte, \PaymentAddressTestnetSecondByte]$
|
||||||
instead.)
|
instead.)
|
||||||
}
|
}
|
||||||
|
@ -8525,9 +8525,9 @@ The \rawEncoding of a \SproutOrNothing{} \paymentAddress consists of:
|
||||||
\end{itemize}
|
\end{itemize}
|
||||||
|
|
||||||
\pnote{
|
\pnote{
|
||||||
For addresses on the production network, the lead bytes and encoded length
|
For addresses on \Mainnet, the lead bytes and encoded length
|
||||||
cause the first two characters of the Base58Check encoding to be fixed as
|
cause the first two characters of the Base58Check encoding to be fixed as
|
||||||
\ascii{zc}. For the test network, the first two characters are fixed as
|
\ascii{zc}. For \Testnet, the first two characters are fixed as
|
||||||
\ascii{zt}.
|
\ascii{zt}.
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -8564,8 +8564,8 @@ When decoding the representation of $\DiversifiedTransmitPublic$, the address is
|
||||||
not valid if $\abstJ$ returns $\bot$ or if the resulting $\DiversifiedTransmitPublic$
|
not valid if $\abstJ$ returns $\bot$ or if the resulting $\DiversifiedTransmitPublic$
|
||||||
is not of prime order.
|
is not of prime order.
|
||||||
|
|
||||||
For addresses on the production network, the \defining{\humanReadablePart} (as defined in \cite{ZIP-173}) is \ascii{zs}.
|
For addresses on \Mainnet, the \defining{\humanReadablePart} (as defined in \cite{ZIP-173}) is \ascii{zs}.
|
||||||
For addresses on the test network, the \humanReadablePart is \ascii{ztestsapling}.
|
For addresses on \Testnet, the \humanReadablePart is \ascii{ztestsapling}.
|
||||||
} %sapling
|
} %sapling
|
||||||
|
|
||||||
|
|
||||||
|
@ -8601,7 +8601,7 @@ The \rawEncoding of \sprout{an}\notsprout{a \Sprout} \incomingViewingKey consist
|
||||||
\begin{itemize}
|
\begin{itemize}
|
||||||
\item Three bytes $[\InViewingKeyLeadByte, \InViewingKeySecondByte, \InViewingKeyThirdByte]$,
|
\item Three bytes $[\InViewingKeyLeadByte, \InViewingKeySecondByte, \InViewingKeyThirdByte]$,
|
||||||
indicating this version of the \rawEncoding of a \Zcash{} \incomingViewingKey
|
indicating this version of the \rawEncoding of a \Zcash{} \incomingViewingKey
|
||||||
on the production network. (Addresses on the test network use
|
on \Mainnet. (Addresses on \Testnet use
|
||||||
$[\InViewingKeyTestnetLeadByte, \InViewingKeyTestnetSecondByte, \InViewingKeyTestnetThirdByte]$
|
$[\InViewingKeyTestnetLeadByte, \InViewingKeyTestnetSecondByte, \InViewingKeyTestnetThirdByte]$
|
||||||
instead.)
|
instead.)
|
||||||
\item $32$ bytes specifying $\AuthPublic$.
|
\item $32$ bytes specifying $\AuthPublic$.
|
||||||
|
@ -8616,9 +8616,9 @@ considered invalid if $\TransmitPrivate \neq \KASproutFormatPrivate(\TransmitPri
|
||||||
$\KASproutFormatPrivate$ is defined in \crossref{concretesproutkeyagreement}.
|
$\KASproutFormatPrivate$ is defined in \crossref{concretesproutkeyagreement}.
|
||||||
|
|
||||||
\pnote{
|
\pnote{
|
||||||
For addresses on the production network, the lead bytes and encoded length
|
For addresses on \Mainnet, the lead bytes and encoded length
|
||||||
cause the first four characters of the Base58Check encoding to be fixed as
|
cause the first four characters of the Base58Check encoding to be fixed as
|
||||||
\ascii{ZiVK}. For the test network, the first four characters are fixed as
|
\ascii{ZiVK}. For \Testnet, the first four characters are fixed as
|
||||||
\ascii{ZiVt}.}} %changed
|
\ascii{ZiVt}.}} %changed
|
||||||
|
|
||||||
|
|
||||||
|
@ -8652,8 +8652,8 @@ $\InViewingKey$ \MUST be in the range $\InViewingKeyTypeSapling$ as specified
|
||||||
in \crossref{saplingkeycomponents}. That is, a decoded \incomingViewingKey{} \MUST be
|
in \crossref{saplingkeycomponents}. That is, a decoded \incomingViewingKey{} \MUST be
|
||||||
considered invalid if $\InViewingKey$ is not in this range.
|
considered invalid if $\InViewingKey$ is not in this range.
|
||||||
|
|
||||||
For \incomingViewingKeys on the production network, the \humanReadablePart is \ascii{zivks}.
|
For \incomingViewingKeys on \Mainnet, the \humanReadablePart is \ascii{zivks}.
|
||||||
For \incomingViewingKeys on the test network, the \humanReadablePart is \ascii{zivktestsapling}.
|
For \incomingViewingKeys on \Testnet, the \humanReadablePart is \ascii{zivktestsapling}.
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -8689,8 +8689,8 @@ When decoding this representation, the key is not valid if $\abstJ$ returns $\bo
|
||||||
for either $\AuthSignPublic$ or $\AuthProvePublic$, or if $\AuthSignPublic \notin \SubgroupJstar$,
|
for either $\AuthSignPublic$ or $\AuthProvePublic$, or if $\AuthSignPublic \notin \SubgroupJstar$,
|
||||||
or if $\AuthProvePublic \notin \SubgroupJ$.
|
or if $\AuthProvePublic \notin \SubgroupJ$.
|
||||||
|
|
||||||
For \incomingViewingKeys on the production network, the \humanReadablePart is \ascii{zviews}.
|
For \incomingViewingKeys on \Mainnet, the \humanReadablePart is \ascii{zviews}.
|
||||||
For \incomingViewingKeys on the test network, the \humanReadablePart is \ascii{zviewtestsapling}.
|
For \incomingViewingKeys on \Testnet, the \humanReadablePart is \ascii{zviewtestsapling}.
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -8717,7 +8717,7 @@ The \rawEncoding of a \SproutOrNothing{} \spendingKey consists of:
|
||||||
\changed{
|
\changed{
|
||||||
\item Two bytes $[\SpendingKeyLeadByte, \SpendingKeySecondByte]$,
|
\item Two bytes $[\SpendingKeyLeadByte, \SpendingKeySecondByte]$,
|
||||||
indicating this version of the \rawEncoding of a \Zcash{} \spendingKey
|
indicating this version of the \rawEncoding of a \Zcash{} \spendingKey
|
||||||
on the production network. (Addresses on the test network use
|
on \Mainnet. (Addresses on \Testnet use
|
||||||
$[\SpendingKeyTestnetLeadByte, \SpendingKeyTestnetSecondByte]$
|
$[\SpendingKeyTestnetLeadByte, \SpendingKeyTestnetSecondByte]$
|
||||||
instead.)
|
instead.)
|
||||||
}
|
}
|
||||||
|
@ -8736,9 +8736,9 @@ The zero padding occupies the most significant 4 bits of the third byte.
|
||||||
$\PRFnf{}$, and $\PRFpk{}$ without need for bit-shifting.
|
$\PRFnf{}$, and $\PRFpk{}$ without need for bit-shifting.
|
||||||
Future key representations may make use of these padding bits.
|
Future key representations may make use of these padding bits.
|
||||||
}
|
}
|
||||||
\item For addresses on the production network, the lead bytes and encoded
|
\item For addresses on \Mainnet, the lead bytes and encoded
|
||||||
length cause the first two characters of the Base58Check encoding to
|
length cause the first two characters of the Base58Check encoding to
|
||||||
be fixed as \ascii{SK}. For the test network, the first two characters
|
be fixed as \ascii{SK}. For \Testnet, the first two characters
|
||||||
are fixed as \ascii{ST}.
|
are fixed as \ascii{ST}.
|
||||||
\end{pnotes}
|
\end{pnotes}
|
||||||
|
|
||||||
|
@ -8762,17 +8762,16 @@ The \rawEncoding of a \Sapling{} \spendingKey consists of:
|
||||||
\item $32$ bytes specifying $\SpendingKey$.
|
\item $32$ bytes specifying $\SpendingKey$.
|
||||||
\end{itemize}
|
\end{itemize}
|
||||||
|
|
||||||
For \spendingKeys on the production network, the \humanReadablePart is \ascii{secret-spending-key-main}.
|
For \spendingKeys on \Mainnet, the \humanReadablePart is \ascii{secret-spending-key-main}.
|
||||||
For \spendingKeys on the test network, the \humanReadablePart is \ascii{secret-spending-key-test}.
|
For \spendingKeys on \Testnet, the \humanReadablePart is \ascii{secret-spending-key-test}.
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
\introlist
|
\introlist
|
||||||
\lsubsection{\BCTVText{} zk-SNARK Parameters}{bctvparameters}
|
\lsubsection{\BCTVText{} zk-SNARK Parameters}{bctvparameters}
|
||||||
|
|
||||||
For the \Zcash production \blockChain and testnet, the \shaHash hashes of the
|
The \shaHash hashes of the \provingKey and \verifyingKey for the \SproutOrZcash{} \joinSplitCircuit,
|
||||||
\provingKey and \verifyingKey for the \SproutOrZcash{} \joinSplitCircuit, encoded in
|
encoded in \libsnark format, are:
|
||||||
\libsnark format, are:
|
|
||||||
|
|
||||||
\begin{lines}
|
\begin{lines}
|
||||||
\item[] \texttt{8bc20a7f013b2b58970cddd2e7ea028975c88ae7ceb9259a5344a16bc2c0eef7 sprout-proving.key}
|
\item[] \texttt{8bc20a7f013b2b58970cddd2e7ea028975c88ae7ceb9259a5344a16bc2c0eef7 sprout-proving.key}
|
||||||
|
@ -8837,15 +8836,15 @@ It is derived as described in \cite{Bowe2018}:
|
||||||
\lsection{Network Upgrades}{networkupgrades}
|
\lsection{Network Upgrades}{networkupgrades}
|
||||||
|
|
||||||
\Zcash launched with a protocol revision that we call \defining{\Sprout}.
|
\Zcash launched with a protocol revision that we call \defining{\Sprout}.
|
||||||
A first \networkUpgrade, called \defining{\Overwinter}, activated on the production \Zcash network
|
A first \networkUpgrade, called \defining{\Overwinter}, activated on \Mainnet
|
||||||
on 26 June 2018 at \blockHeight $347500$ \cite{Swihart2018} \cite{ZIP-201}.
|
on 26 June 2018 at \blockHeight $347500$ \cite{Swihart2018} \cite{ZIP-201}.
|
||||||
A second upgrade, called \defining{\Sapling}, activated on the production network on 28 October 2018
|
A second upgrade, called \defining{\Sapling}, activated on \Mainnet on 28 October 2018
|
||||||
at \blockHeight $419200$ \cite{Hamdon2018} \cite{ZIP-205}.
|
at \blockHeight $419200$ \cite{Hamdon2018} \cite{ZIP-205}.
|
||||||
A third upgrade, called \defining{\Blossom}, activated on the production network on 11 December 2019
|
A third upgrade, called \defining{\Blossom}, activated on \Mainnet on 11 December 2019
|
||||||
at \blockHeight $653600$ \cite{Zcash-Blossom} \cite{ZIP-206}.
|
at \blockHeight $653600$ \cite{Zcash-Blossom} \cite{ZIP-206}.
|
||||||
A fourth upgrade, called \defining{\Heartwood}, is planned to activate on the production network
|
A fourth upgrade, called \defining{\Heartwood}, is planned to activate on \Mainnet
|
||||||
in mid-July 2020, at \blockHeight $903000$ \cite{ZIP-250}.
|
in mid-July 2020, at \blockHeight $903000$ \cite{ZIP-250}.
|
||||||
A fifth upgrade, called \defining{\Canopy}, is planned to activate on the production network in
|
A fifth upgrade, called \defining{\Canopy}, is planned to activate on \Mainnet in
|
||||||
November 2020, at \blockHeight $1046400$ (coinciding with the first \blockSubsidy halving) \cite{ZIP-251}.
|
November 2020, at \blockHeight $1046400$ (coinciding with the first \blockSubsidy halving) \cite{ZIP-251}.
|
||||||
|
|
||||||
This section summarizes the strategy for upgrading from \Sprout to subsequent versions
|
This section summarizes the strategy for upgrading from \Sprout to subsequent versions
|
||||||
|
@ -9386,8 +9385,8 @@ preceding \blocks if there are fewer than $\PoWMedianBlockSpan$). The \medianTim
|
||||||
\item $\solution$ \MUST represent a \validEquihashSolution as defined in \crossref{equihash}.
|
\item $\solution$ \MUST represent a \validEquihashSolution as defined in \crossref{equihash}.
|
||||||
\item For each \block other than the \genesisBlock, $\nTimeField$ \MUST be strictly greater
|
\item For each \block other than the \genesisBlock, $\nTimeField$ \MUST be strictly greater
|
||||||
than the \medianTimePast of that \block.
|
than the \medianTimePast of that \block.
|
||||||
\item For each \block at \blockHeight $2$ or greater on the production network, or \blockHeight
|
\item For each \block at \blockHeight $2$ or greater on \Mainnet, or \blockHeight
|
||||||
$653606$ or greater on the test network, $\nTimeField$ \MUST be less than or equal to
|
$653606$ or greater on \Testnet, $\nTimeField$ \MUST be less than or equal to
|
||||||
the \medianTimePast of that \block plus $90 \mult 60$ seconds.
|
the \medianTimePast of that \block plus $90 \mult 60$ seconds.
|
||||||
\item The size of a \block{} \MUST be less than or equal to $2000000$ bytes.
|
\item The size of a \block{} \MUST be less than or equal to $2000000$ bytes.
|
||||||
\notheartwood{
|
\notheartwood{
|
||||||
|
@ -9442,7 +9441,7 @@ rejected by this rule at a given point in time may later be accepted.
|
||||||
\item The rule limiting $\nTimeField$ to be no later than $90 \mult 60$ seconds after the
|
\item The rule limiting $\nTimeField$ to be no later than $90 \mult 60$ seconds after the
|
||||||
\medianTimePast is a retrospective consensus change, applied as a soft fork in
|
\medianTimePast is a retrospective consensus change, applied as a soft fork in
|
||||||
\zcashd v2.1.1-1. It had not been violated by any \block from the given \blockHeights
|
\zcashd v2.1.1-1. It had not been violated by any \block from the given \blockHeights
|
||||||
in the consensus \blockChains of either the production or test networks.
|
in the consensus \blockChains of either \Mainnet or \Testnet.
|
||||||
\overwinter{
|
\overwinter{
|
||||||
\item There are no changes to the \blockVersionNumber or format for \Overwinter.
|
\item There are no changes to the \blockVersionNumber or format for \Overwinter.
|
||||||
}
|
}
|
||||||
|
@ -9495,7 +9494,7 @@ A \block satisfies the Proof of Work if and only if:
|
||||||
An instance of the \defining{\Equihash} algorithm is parameterized by positive integers $n$ and $k$,
|
An instance of the \defining{\Equihash} algorithm is parameterized by positive integers $n$ and $k$,
|
||||||
such that $n$ is a multiple of $k+1$. We assume $k \geq 3$.
|
such that $n$ is a multiple of $k+1$. We assume $k \geq 3$.
|
||||||
|
|
||||||
The \Equihash parameters for the production and test networks are $n = 200, k = 9$.
|
The \Equihash parameters for \Mainnet and \Testnet are $n = 200, k = 9$.
|
||||||
|
|
||||||
\Equihash is based on a variation of the Generalized Birthday Problem \cite{AR2017}:
|
\Equihash is based on a variation of the Generalized Birthday Problem \cite{AR2017}:
|
||||||
given a sequence $X_\barerange{1}{\rmN}$ of $n$-bit strings, find $2^k$ distinct
|
given a sequence $X_\barerange{1}{\rmN}$ of $n$-bit strings, find $2^k$ distinct
|
||||||
|
@ -9715,11 +9714,11 @@ The \targetThreshold for a given \blockHeight $\BlockHeight$ is then calculated
|
||||||
of this specification prior to 2019.0-beta-40.
|
of this specification prior to 2019.0-beta-40.
|
||||||
\end{pnotes}
|
\end{pnotes}
|
||||||
|
|
||||||
On the test network from \blockHeight $299188$ onward, the difficulty adjustment algorithm
|
On \Testnet from \blockHeight $299188$ onward, the difficulty adjustment algorithm
|
||||||
is changed to allow minimum-difficulty \blocks, as described in \cite{ZIP-205}.
|
is changed to allow minimum-difficulty \blocks, as described in \cite{ZIP-205}.
|
||||||
\blossom{The \Blossom network upgrade changes the minimum-difficulty time threshold to $6$ times
|
\blossom{The \Blossom network upgrade changes the minimum-difficulty time threshold to $6$ times
|
||||||
the \blockTargetSpacing, as described in \cite{ZIP-208}.}
|
the \blockTargetSpacing, as described in \cite{ZIP-208}.}
|
||||||
\notbeforeblossom{These changes do}\notblossom{This change does} not apply to the production network.
|
\notbeforeblossom{These changes do}\notblossom{This change does} not apply to \Mainnet.
|
||||||
|
|
||||||
|
|
||||||
\introlist
|
\introlist
|
||||||
|
@ -9803,7 +9802,7 @@ one of $\NumFounderAddresses$ \transparent addresses, depending on the \blockHei
|
||||||
\renewcommand{\arraystretch}{1}
|
\renewcommand{\arraystretch}{1}
|
||||||
|
|
||||||
\vspace{1ex}
|
\vspace{1ex}
|
||||||
For the production network, $\FounderAddressList_{\oneto{\NumFounderAddresses}}$ is:
|
For \Mainnet, $\FounderAddressList_{\oneto{\NumFounderAddresses}}$ is:
|
||||||
|
|
||||||
\scalebox{0.95}{
|
\scalebox{0.95}{
|
||||||
\begin{tabular}{@{\hskip 2.5em}l@{\;}l}
|
\begin{tabular}{@{\hskip 2.5em}l@{\;}l}
|
||||||
|
@ -9836,7 +9835,7 @@ For the production network, $\FounderAddressList_{\oneto{\NumFounderAddresses}}$
|
||||||
|
|
||||||
\vspace{1ex}
|
\vspace{1ex}
|
||||||
\introlist
|
\introlist
|
||||||
For the test network, $\FounderAddressList_{\oneto{\NumFounderAddresses}}$ is:
|
For \Testnet, $\FounderAddressList_{\oneto{\NumFounderAddresses}}$ is:
|
||||||
|
|
||||||
\scalebox{0.96}{
|
\scalebox{0.96}{
|
||||||
\begin{tabular}{@{\hskip 2.5em}l@{\;}l}
|
\begin{tabular}{@{\hskip 2.5em}l@{\;}l}
|
||||||
|
@ -9870,8 +9869,8 @@ For the test network, $\FounderAddressList_{\oneto{\NumFounderAddresses}}$ is:
|
||||||
|
|
||||||
\vspace{1ex}
|
\vspace{1ex}
|
||||||
\pnote{
|
\pnote{
|
||||||
For the test network only, the addresses from index $4$ onward have been changed from
|
For \Testnet only, the addresses from index $4$ onward have been changed from
|
||||||
what was implemented at launch. This reflects an upgrade on the test network, starting
|
what was implemented at launch. This reflects an upgrade on \Testnet, starting
|
||||||
from \blockHeight $53127$. \cite{Zcash-Issue2113}
|
from \blockHeight $53127$. \cite{Zcash-Issue2113}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -10620,6 +10619,9 @@ Peter Newell's illustration of the Jubjub bird, from \cite{Carroll1902}.
|
||||||
|
|
||||||
\historyentry{2020.1.11}{2020-07-13}
|
\historyentry{2020.1.11}{2020-07-13}
|
||||||
\begin{itemize}
|
\begin{itemize}
|
||||||
|
\item Change instances of ``the production network'' to ``\Mainnet'', and
|
||||||
|
``the test network'' to \Testnet. This follows the terminology used
|
||||||
|
in ZIPs.
|
||||||
\item Update stale references to \Bitcoin documentation.
|
\item Update stale references to \Bitcoin documentation.
|
||||||
\end{itemize}
|
\end{itemize}
|
||||||
|
|
||||||
|
@ -10818,7 +10820,7 @@ Peter Newell's illustration of the Jubjub bird, from \cite{Carroll1902}.
|
||||||
\begin{itemize}
|
\begin{itemize}
|
||||||
\item No changes to \Sprout\notsprout{ or \Sapling}.
|
\item No changes to \Sprout\notsprout{ or \Sapling}.
|
||||||
\blossom{
|
\blossom{
|
||||||
\item Replace dummy \Blossom activation height with the testnet height, and a reference to ZIP 206.
|
\item Replace dummy \Blossom \activationHeight with the \Testnet height, and a reference to \cite{ZIP-206}.
|
||||||
}
|
}
|
||||||
\end{itemize}
|
\end{itemize}
|
||||||
|
|
||||||
|
@ -10826,7 +10828,7 @@ Peter Newell's illustration of the Jubjub bird, from \cite{Carroll1902}.
|
||||||
|
|
||||||
\begin{itemize}
|
\begin{itemize}
|
||||||
\blossom{
|
\blossom{
|
||||||
\item Note the change to the minimum-difficulty threshold time on the test network
|
\item Note the change to the minimum-difficulty threshold time on \Testnet
|
||||||
for \Blossom.
|
for \Blossom.
|
||||||
} %blossom
|
} %blossom
|
||||||
\sapling{
|
\sapling{
|
||||||
|
@ -10952,7 +10954,7 @@ Peter Newell's illustration of the Jubjub bird, from \cite{Carroll1902}.
|
||||||
\item The rule that miners \SHOULDNOT mine \blocks that chain to other
|
\item The rule that miners \SHOULDNOT mine \blocks that chain to other
|
||||||
\blocks with a \blockVersionNumber{} greater than $4$, has been removed.
|
\blocks with a \blockVersionNumber{} greater than $4$, has been removed.
|
||||||
This is because such \blocks (mined nonconformantly) exist in the
|
This is because such \blocks (mined nonconformantly) exist in the
|
||||||
current consensus chain on the production \Zcash network.
|
current \Mainnet consensus \blockChain.
|
||||||
\item Clarify that \Equihash is based on a \emph{variation} of the Generalized
|
\item Clarify that \Equihash is based on a \emph{variation} of the Generalized
|
||||||
Birthday Problem, and cite \cite{AR2017}.
|
Birthday Problem, and cite \cite{AR2017}.
|
||||||
\item Update reference \cite{BGG2017} (previously [BGG2016]).
|
\item Update reference \cite{BGG2017} (previously [BGG2016]).
|
||||||
|
@ -10985,7 +10987,7 @@ Peter Newell's illustration of the Jubjub bird, from \cite{Carroll1902}.
|
||||||
as well as Knowledge Soundness.
|
as well as Knowledge Soundness.
|
||||||
\item Clarify the history of the \cite{Parno2015} vulnerability and acknowledge
|
\item Clarify the history of the \cite{Parno2015} vulnerability and acknowledge
|
||||||
Bryan Parno.
|
Bryan Parno.
|
||||||
\item Specify the difficulty adjustment change that occurred on the test network
|
\item Specify the difficulty adjustment change that occurred on \Testnet
|
||||||
at \blockHeight $299188$.
|
at \blockHeight $299188$.
|
||||||
\item Add Eirik Ogilvie-Wigley and Benjamin Winston to acknowledgements.
|
\item Add Eirik Ogilvie-Wigley and Benjamin Winston to acknowledgements.
|
||||||
\sapling{
|
\sapling{
|
||||||
|
@ -11639,7 +11641,7 @@ Peter Newell's illustration of the Jubjub bird, from \cite{Carroll1902}.
|
||||||
\item Clarify what a \noteCommitment opens to in \crossref{crprf}.
|
\item Clarify what a \noteCommitment opens to in \crossref{crprf}.
|
||||||
\item Correct the order of arguments to $\CommitAlg$ in \crossref{concretesproutnotecommit}.
|
\item Correct the order of arguments to $\CommitAlg$ in \crossref{concretesproutnotecommit}.
|
||||||
\item Correct a statement about indistinguishability of \joinSplitDescriptions.
|
\item Correct a statement about indistinguishability of \joinSplitDescriptions.
|
||||||
\item Change the \foundersReward addresses, for the test network only, to
|
\item Change the \foundersReward addresses, for \Testnet only, to
|
||||||
reflect the hard-fork upgrade described in \cite{Zcash-Issue2113}.
|
reflect the hard-fork upgrade described in \cite{Zcash-Issue2113}.
|
||||||
\end{itemize}
|
\end{itemize}
|
||||||
|
|
||||||
|
@ -11726,7 +11728,7 @@ Peter Newell's illustration of the Jubjub bird, from \cite{Carroll1902}.
|
||||||
\historyentry{2016.0-beta-1.9}{2016-10-28}
|
\historyentry{2016.0-beta-1.9}{2016-10-28}
|
||||||
|
|
||||||
\begin{itemize}
|
\begin{itemize}
|
||||||
\item Add \foundersReward addresses for the production network.
|
\item Add \foundersReward addresses for \Mainnet.
|
||||||
\item Change \quotedtermnoindex{protected} terminology to \quotedtermnoindex{shielded}.
|
\item Change \quotedtermnoindex{protected} terminology to \quotedtermnoindex{shielded}.
|
||||||
\end{itemize}
|
\end{itemize}
|
||||||
|
|
||||||
|
@ -11734,7 +11736,7 @@ Peter Newell's illustration of the Jubjub bird, from \cite{Carroll1902}.
|
||||||
|
|
||||||
\begin{itemize}
|
\begin{itemize}
|
||||||
\item Revise the lead bytes for \transparent P2SH and P2PKH addresses,
|
\item Revise the lead bytes for \transparent P2SH and P2PKH addresses,
|
||||||
and reencode the testnet \foundersReward addresses.
|
and reencode the \Testnet \foundersReward addresses.
|
||||||
\item Add a section on which BIPs apply to \Zcash.
|
\item Add a section on which BIPs apply to \Zcash.
|
||||||
\item Specify that \ScriptOP{CODESEPARATOR} has been disabled, and
|
\item Specify that \ScriptOP{CODESEPARATOR} has been disabled, and
|
||||||
no longer affects \sighashTxHashes.
|
no longer affects \sighashTxHashes.
|
||||||
|
|
Loading…
Reference in New Issue