Add 'Mainnet and Testnet' section.

Signed-off-by: Daira Hopwood <daira@jacaranda.org>
This commit is contained in:
Daira Hopwood 2020-07-06 22:35:25 +01:00
parent e87177f97f
commit 3e3bf8a79b
2 changed files with 50 additions and 4 deletions

View File

@ -663,6 +663,7 @@ electronic commerce and payment, financial privacy, proof of work, zero knowledg
\newcommand{\Mimblewimble}{\termbf{Mimblewimble}}
\newcommand{\Bulletproofs}{\termbf{Bulletproofs}}
\newcommand{\ZEC}{\termbf{ZEC}}
\newcommand{\TAZ}{\termbf{TAZ}}
\newcommand{\zatoshi}{\term{zatoshi}}
\newcommand{\zcashd}{\termsf{zcashd}}
\newcommand{\Makefile}{\texttt{Makefile}\xspace}
@ -834,10 +835,16 @@ electronic commerce and payment, financial privacy, proof of work, zero knowledg
\newcommand{\fullValidators}{\terms{full validator}}
\newcommand{\consensusRuleChange}{\term{consensus rule change}}
\newcommand{\networkUpgrade}{\term{network upgrade}}
\newcommand{\networkUpgrades}{\terms{network upgrade}}
\newcommand{\Mainnet}{\term{Mainnet}}
\newcommand{\Testnet}{\term{Testnet}}
\newcommand{\rpcByteOrder}{\term{RPC byte order}}
\newcommand{\anchor}{\term{anchor}}
\newcommand{\anchors}{\terms{anchor}}
\newcommand{\block}{\term{block}}
\newcommand{\blocks}{\terms{block}}
\newcommand{\blockHash}{\term{block hash}}
\newcommand{\blockHashes}{\termes{block hash}}
\newcommand{\header}{\termandindex{header}{block header}}
\newcommand{\headers}{\termandindex{headers}{block header}}
\newcommand{\blockHeader}{\term{block header}}
@ -850,6 +857,7 @@ electronic commerce and payment, financial privacy, proof of work, zero knowledg
\newcommand{\blockTimestamp}{\term{block timestamp}}
\newcommand{\blockHeight}{\term{block height}}
\newcommand{\blockHeights}{\terms{block height}}
\newcommand{\activationBlock}{\term{activation block}}
\newcommand{\activationHeight}{\term{activation block height}}
\newcommand{\activationHeights}{\terms{activation block height}}
\newcommand{\genesisBlock}{\term{genesis block}}
@ -3122,6 +3130,36 @@ included in this \block. The \coinbaseTransaction{} \MUST also pay the \founders
as described in \crossref{foundersreward}.
\lsubsection{Mainnet and Testnet}{networks}
The production \Zcash network, which supports the \ZEC token, is called \Mainnet. Governance of its
protocol is by agreement between the Electric Coin Company and the Zcash Foundation \cite{ECCZF2019}.
Subject to errors and omissions, each version of this document intends to describe some version
(or planned version) of that agreed protocol.
\defining{All \blockHashes given in this section are in \rpcByteOrder \cite{Bitcoin-Order}.}
\Mainnet \genesisBlock: $\mathtt{00040fe8ec8471911baa1db1266ea15dd06b4a8a5c453883c000b031973dce08}$
\Mainnet \Blossom \activationBlock: $\mathtt{00000000020bebb33c1b34b67a982a328ab212a206dacbe561a7cc94aab3e9bb}$
There is also a public test network called \Testnet. It supports a \TAZ token which is intended to
have no monetary value. By convention, \Testnet activates \networkUpgrades (as described in
\crossref{networkupgrades}) before \Mainnet, in order to allow for errors or ambiguities in
their specification and implementation to be discovered. The \Testnet \blockChain is subject to
being rolled back to a prior \block at any time.
\Testnet \genesisBlock: $\mathtt{05a60a92d99d85997cce3b87616c089f6124d7342af37106edc76126334a2c38}$
\Testnet \Heartwood \activationBlock: $\mathtt{05688d8a0e9ff7c04f6f05e6d695dc5ab43b9c4803342d77ae360b2b27d2468e}$
We call the smallest units of currency (on either network) \zatoshi.
On \Mainnet, $1$ \ZEC = $10^8$ \zatoshi. On \Testnet, $1$ \TAZ = $10^8$ \zatoshi.
Other networks using variants of the \Zcash protocol may exist, but are not described by this specification.
\intropart
\lsection{Abstract Protocol}{abstractprotocol}
@ -8725,7 +8763,7 @@ and in the multi-party computation to obtain the \Sapling parameters given in
It is derived as described in \cite{Bowe2018}:
\begin{itemize}
\item Take the hash of the \Bitcoin \block at height $514200$ in RPC byte order \cite{Bitcoin-Order},
\item Take the hash of the \Bitcoin \block at height $514200$ in \rpcByteOrder \cite{Bitcoin-Order},
i.e.\ the big-endian $32$-byte representation of $\hexint{00000000000000000034b33e842ac1c50456abe5fa92b60f6b3dfc5d247f7b58}$.
\item Apply \shaHash $2^{42}$ times.
\item Convert to a US-ASCII lowercase hexadecimal string.
@ -8736,7 +8774,6 @@ It is derived as described in \cite{Bowe2018}:
} %sapling
\notsprout{
\intropart
\lsection{Network Upgrades}{networkupgrades}
@ -8811,7 +8848,6 @@ validated according to the pre-upgrade rules, and
upgrade-supporting nodes \MUST allow for this.
%\todo{how upgrade-dependent rules are described in this specification.}
} %notsprout
\intropart
@ -10522,8 +10558,9 @@ Peter Newell's illustration of the Jubjub bird, from \cite{Carroll1902}.
\intropart
\lsection{Change History}{changehistory}
\historyentry{2020.1.9}{}
\historyentry{2020.1.9}{2020-07-05}
\begin{itemize}
\item Add \crossref{networks}.
\item Acknowledge Jane Lusby and Teor.
\sapling{
\item Correct an error introduced in 2020.1.8; ``$-\ZeroJ$'' was incorrectly used when

View File

@ -1416,3 +1416,12 @@ Proceedings of the 19th Annual International Cryptology Conference
url={https://electriccoin.co/blog/zcash-counterfeiting-vulnerability-successfully-remediated/},
urldate={2019-08-27}
}
@misc{ECCZF2019,
presort={ECCZF2019},
author={Electric Coin Company and Zcash Foundation},
title={Zcash {T}rademark {D}onation and {L}icense {A}greement},
date={2019-11-06},
url={https://www.zfnd.org/about/contracts/2019_ECC_ZFND_TM_agreement.pdf},
urldate={2020-07-05}
}