Wording improvements.

Signed-off-by: Daira Hopwood <daira@jacaranda.org>
This commit is contained in:
Daira Hopwood 2020-08-11 01:57:49 +01:00
parent d11304c7d1
commit e1037ff046
1 changed files with 23 additions and 12 deletions

View File

@ -985,7 +985,7 @@ electronic commerce and payment, financial privacy, proof of work, zero knowledg
\newcommand{\merkleIndex}{\termandindex{index}{index (of a Merkle tree node)}}
\newcommand{\merkleIndices}{\termandindex{indices}{index (of a Merkle tree node)}}
\newcommand{\zkSNARK}{\termandindex{zk-SNARK}{proving system (preprocessing zk-SNARK)}}
\newcommand{\zkSNARKs}{\termandindex{zk-SNARK}{proving system (preprocessing zk-SNARK)}}
\newcommand{\zkSNARKs}{\termandindex{zk-SNARKs}{proving system (preprocessing zk-SNARK)}}
\newcommand{\zkProof}{\termandindex{zk proof}{zk-SNARK proof}}
\newcommand{\zkSNARKProof}{\term{zk-SNARK proof}}
\newcommand{\zkSNARKProofs}{\terms{zk-SNARK proof}}
@ -4906,8 +4906,8 @@ according to client implementation.
The net value of \spendTransfers minus \outputTransfers in a \transaction is
called the \defining{\balancingValue}, measured in \zatoshi as a signed integer $\vBalance$.
$\vBalance$ is encoded explicitly in a \transaction as the field \valueBalance{};
see \crossref{txnencoding}.
$\vBalance$ is encoded explicitly in a \transaction as the field \valueBalance{}. (Transaction
fields are described in \crossref{txnencoding}.)
A positive $\balancingValue$ takes value from the \defining{\SaplingTxValuePool}
and adds it to the \transparentTxValuePool. A negative $\balancingValue$ does the reverse.
@ -8289,9 +8289,10 @@ verifier \MUST check, for the encoding of each element, that:
After \Sapling activation, \Zcash uses \zkSNARKs with the \defining{\Groth} \provingSystem described in
\cite{BGM2017}, which is a modification of the system in \cite{Groth2016}. An independent
security proof of this system and its setup is given in \cite{Maller2018}. These \zkSNARKs are used in
\transactionVersion 4 and later (\crossref{txnencoding}) for proofs both in \Sprout
\joinSplitDescriptions, and in \Sapling{} \spendDescriptions and \outputDescriptions.
security proof of this system and its setup is given in \cite{Maller2018}.
\Groth \zkSNARKProofs are used in \transactionVersion 4 and later (\crossref{txnencoding}),
both in \Sprout \joinSplitDescriptions and in \Sapling{} \spendDescriptions and \outputDescriptions.
They are generated by the \defining{\bellman} library \cite{Bowe-bellman}.
A \Groth proof consists of
@ -8542,13 +8543,15 @@ for both \Mainnet and \Testnet.
\lsubsubsection{\SproutOrNothingText{} Payment Addresses}{sproutpaymentaddrencoding}
Let $\KASprout$ be as defined in \crossref{concretesproutkeyagreement}.
A \SproutOrNothing{} \defining{\paymentAddress} consists of $\AuthPublic \typecolon \PRFOutputSprout$
and $\TransmitPublic \typecolon \KASproutPublic$.
$\AuthPublic$ is a \shaCompress output.
$\TransmitPublic$ is a $\KASproutPublic$ key (see \crossref{concretesproutkeyagreement}),
for use with the encryption scheme defined in \crossref{sproutinband}. These
components are derived from a \spendingKey as described in \crossref{sproutkeycomponents}.
$\TransmitPublic$ is a $\KASproutPublic$ key, for use with the encryption scheme defined in
\crossref{sproutinband}. These components are derived from a \spendingKey as described in
\crossref{sproutkeycomponents}.
\introlist
The \rawEncoding of a \SproutOrNothing{} \paymentAddress consists of:
@ -8587,6 +8590,8 @@ cause the first two characters of the Base58Check encoding to be fixed as
\sapling{
\lsubsubsection{\SaplingText{} Payment Addresses}{saplingpaymentaddrencoding}
Let $\KASapling$ be as defined in \crossref{concretesaplingkeyagreement}.
A \Sapling{} \defining{\paymentAddress} consists of $\Diversifier \typecolon \DiversifierType$
and $\DiversifiedTransmitPublic \typecolon \KASaplingPublicPrimeOrder$.
@ -8624,13 +8629,15 @@ For addresses on \Testnet, the \humanReadablePart is \ascii{ztestsapling}.
\lsubsubsection{\SproutOrNothingText{} Incoming Viewing Keys}{sproutinviewingkeyencoding}
\changed{
Let $\KASprout$ be as defined in \crossref{concretesproutkeyagreement}.
\sprout{An}\notsprout{A \Sprout} \defining{\incomingViewingKey} consists of $\AuthPublic \typecolon \PRFOutputSprout$ and
$\TransmitPrivate \typecolon \KASproutPrivate$.
$\AuthPublic$ is a \shaCompress output.
$\TransmitPrivate$ is a $\KASproutPrivate$ key (see \crossref{concretesproutkeyagreement}),
for use with the encryption scheme defined in \crossref{sproutinband}. These
components are derived from a \spendingKey as described in \crossref{sproutkeycomponents}.
$\TransmitPrivate$ is a $\KASproutPrivate$ key, for use with the encryption scheme defined in
\crossref{sproutinband}. These components are derived from a \spendingKey as described in
\crossref{sproutkeycomponents}.
\introlist
The \rawEncoding of \sprout{an}\notsprout{a \Sprout} \incomingViewingKey consists of, in order:
@ -8677,6 +8684,8 @@ cause the first four characters of the Base58Check encoding to be fixed as
\sapling{
\lsubsubsection{\SaplingText{} Incoming Viewing Keys}{saplinginviewingkeyencoding}
Let $\KASapling$ be as defined in \crossref{concretesaplingkeyagreement}.
Let $\InViewingKeyLength$ be as defined in \crossref{constants}.
A \Sapling{} \defining{\incomingViewingKey} consists of $\InViewingKey \typecolon \InViewingKeyTypeSapling$.
@ -8712,6 +8721,8 @@ For \incomingViewingKeys on \Testnet, the \humanReadablePart is \ascii{zivktests
\sapling{
\lsubsubsection{\SaplingText{} Full Viewing Keys}{saplingfullviewingkeyencoding}
Let $\KASapling$ be as defined in \crossref{concretesaplingkeyagreement}.
A \Sapling{} \defining{\fullViewingKey} consists of $\AuthSignPublic \typecolon \SubgroupJstar$,
$\AuthProvePublic \typecolon \SubgroupJ$, and $\OutViewingKey \typecolon \byteseq{\OutViewingKeyLength/8}$.