mirror of https://github.com/zcash/zips.git
Bitbox cosmetics (use \strut to ensure consistent vertical alignment).
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
This commit is contained in:
parent
ebd2a5964e
commit
678ec1043f
|
@ -210,8 +210,10 @@ electronic commerce and payment, financial privacy, proof of work, zero knowledg
|
|||
\newcommand{\varvv}{\varv\kern 0.02em\varv}
|
||||
|
||||
\newcommand{\hfrac}[2]{\scalebox{0.8}{$\genfrac{}{}{0.5pt}{0}{#1}{#2}$}}
|
||||
\newcommand{\ssqrt}[1]{\rlap{\scalebox{0.64}[1]{$\sqrt{\scalebox{1.5625}[1]{${#1}\vphantom{b}$}}$}} %
|
||||
\hspace{0.005em}\scalebox{0.64}[1]{$\sqrt{\scalebox{1.5625}[1]{$\phantom{#1}\vphantom{b}$}}$}}
|
||||
\newcommand{\ssqrt}[1]{\rlap{\scalebox{0.64}[1]{$\sqrt{\scalebox{1.5625}[1]{${#1}\strut$}}$}} %
|
||||
\hspace{0.005em}\scalebox{0.64}[1]{$\sqrt{\scalebox{1.5625}[1]{$\phantom{#1}\strut$}}$}}
|
||||
|
||||
\newcommand{\sbitbox}[2]{\bitbox{#1}{\strut #2}}
|
||||
|
||||
% <https://en.wikibooks.org/wiki/LaTeX/Colors#The_68_standard_colors_known_to_dvips>
|
||||
|
||||
|
@ -626,7 +628,7 @@ electronic commerce and payment, financial privacy, proof of work, zero knowledg
|
|||
\newcommand{\hexint}[1]{\mathtt{0x{#1}}}
|
||||
\newcommand{\dontcare}{\kern -0.06em\raisebox{0.1ex}{\footnotesize{$\times$}}}
|
||||
\newcommand{\ascii}[1]{\textbf{``\texttt{#1}''}}
|
||||
\newcommand{\Justthebox}[2][-1.3ex]{\;\raisebox{#1}{\usebox{#2}}\;}
|
||||
\newcommand{\Justthebox}[2][-1.8ex]{\raisebox{#1}{\;\usebox{#2}\;}}
|
||||
\newcommand{\setof}[1]{\{{#1}\}}
|
||||
\newcommand{\powerset}[1]{\mathscr{P}\!\left({#1}\right)}
|
||||
\newcommand{\barerange}[2]{{{#1}\,..\,{#2}}}
|
||||
|
@ -655,7 +657,7 @@ electronic commerce and payment, financial privacy, proof of work, zero knowledg
|
|||
\newcommand{\difference}{\setminus}
|
||||
\newcommand{\suchthat}{\,\vert\;}
|
||||
\newcommand{\paramdot}{\bigcdot}
|
||||
\newcommand{\lincomb}[1]{\left(\vphantom{a^q_b}\kern-.025em{#1}\kern-0.04em\right)}
|
||||
\newcommand{\lincomb}[1]{\left(\strut\kern-.025em{#1}\kern-0.04em\right)}
|
||||
\newcommand{\constraint}[3]{\lincomb{#1}\hairspace \times\hairspace \lincomb{#2}\hairspace =\hairspace \lincomb{#3}}
|
||||
|
||||
% Hashes
|
||||
|
@ -2877,8 +2879,8 @@ $\PreAuthProvePrivate \typecolon \range{0}{2^{256}-1}$:
|
|||
\begin{lrbox}{\crhivkinputbox}
|
||||
\begin{bytefield}[bitwidth=0.06em]{512}
|
||||
\sapling{
|
||||
\bitbox{256}{$256$-bit $\LEBStoOSPOf{256}{\reprJOf{\AuthSignPublic}}$} &
|
||||
\bitbox{256}{$256$-bit $\LEBStoOSPOf{256}{\reprJOf{\AuthProvePublic}}$}
|
||||
\sbitbox{256}{$256$-bit $\LEBStoOSPOf{256}{\reprJOf{\AuthSignPublic}\kern 0.1em}$} &
|
||||
\sbitbox{256}{$256$-bit $\LEBStoOSPOf{256}{\reprJOf{\AuthProvePublic}\kern 0.1em}$}
|
||||
}
|
||||
\end{bytefield}
|
||||
\end{lrbox}
|
||||
|
@ -3897,8 +3899,8 @@ $\GroupJHash{}$.
|
|||
\newsavebox{\merklebox}
|
||||
\begin{lrbox}{\merklebox}
|
||||
\begin{bytefield}[bitwidth=0.04em]{512}
|
||||
\bitbox{256}{$256$-bit $\mathsf{left}$} &
|
||||
\bitbox{256}{$256$-bit $\mathsf{right}$}
|
||||
\sbitbox{256}{$256$-bit $\mathsf{left}$} &
|
||||
\sbitbox{256}{$256$-bit $\mathsf{right}$}
|
||||
\end{bytefield}
|
||||
\end{lrbox}
|
||||
|
||||
|
@ -3976,10 +3978,10 @@ $\PedersenHash$ must be collision-resistant.
|
|||
\begin{lrbox}{\hsigbox}
|
||||
\setchanged
|
||||
\begin{bytefield}[bitwidth=0.04em]{1024}
|
||||
\bitbox{256}{$256$-bit $\RandomSeed$} &
|
||||
\bitbox{256}{\hfill $256$-bit $\nfOld{\mathrm{1}}$\hfill...\;} &
|
||||
\bitbox{256}{$256$-bit $\nfOld{\NOld}$} &
|
||||
\bitbox{300}{$256$-bit $\joinSplitPubKey$}
|
||||
\sbitbox{256}{$256$-bit $\RandomSeed$} &
|
||||
\sbitbox{256}{\hfill $256$-bit $\nfOld{\mathrm{1}}$\hfill...\;} &
|
||||
\sbitbox{256}{$256$-bit $\nfOld{\NOld}$} &
|
||||
\sbitbox{300}{$256$-bit $\joinSplitPubKey$}
|
||||
\end{bytefield}
|
||||
\end{lrbox}
|
||||
|
||||
|
@ -4005,9 +4007,10 @@ $\BlakeTwob{256}(\ascii{ZcashComputehSig}, x)$ must be collision-resistant.
|
|||
|
||||
\newsavebox{\crhivkbox}
|
||||
\begin{lrbox}{\crhivkbox}
|
||||
\setsapling
|
||||
\begin{bytefield}[bitwidth=0.05em]{512}
|
||||
\bitbox{256}{$256$-bit $\reprJOf{\AuthSignPublic}$} &
|
||||
\bitbox{256}{$256$-bit $\reprJOf{\AuthProvePublic}$}
|
||||
\sbitbox{256}{$256$-bit $\reprJOf{\AuthSignPublic}$} &
|
||||
\sbitbox{256}{$256$-bit $\reprJOf{\AuthProvePublic}$}
|
||||
\end{bytefield}
|
||||
\end{lrbox}
|
||||
|
||||
|
@ -4086,7 +4089,7 @@ Let $c := 63$.
|
|||
\newsavebox{\gencountbox}
|
||||
\begin{lrbox}{\gencountbox}
|
||||
\begin{bytefield}[bitwidth=0.28em]{32}
|
||||
\bitbox{32}{$32$-bit $\floor{\frac{i-1}{c}}$}
|
||||
\sbitbox{32}{$32$-bit $\floor{\frac{i-1}{c}}$}
|
||||
\end{bytefield}
|
||||
\end{lrbox}
|
||||
|
||||
|
@ -4225,16 +4228,16 @@ and an index to an output of length $n$ bits. It is used in \crossref{equihash}.
|
|||
\newsavebox{\powtagbox}
|
||||
\begin{lrbox}{\powtagbox}
|
||||
\begin{bytefield}[bitwidth=0.16em]{128}
|
||||
\bitbox{64}{64-bit $\ascii{ZcashPoW}$} &
|
||||
\bitbox{32}{32-bit $n$} &
|
||||
\bitbox{32}{32-bit $k$}
|
||||
\sbitbox{64}{64-bit $\ascii{ZcashPoW}$} &
|
||||
\sbitbox{32}{32-bit $n$} &
|
||||
\sbitbox{32}{32-bit $k$}
|
||||
\end{bytefield}
|
||||
\end{lrbox}
|
||||
|
||||
\newsavebox{\powcountbox}
|
||||
\begin{lrbox}{\powcountbox}
|
||||
\begin{bytefield}[bitwidth=0.16em]{32}
|
||||
\bitbox{32}{32-bit $g$}
|
||||
\sbitbox{32}{32-bit $g$}
|
||||
\end{bytefield}
|
||||
\end{lrbox}
|
||||
|
||||
|
@ -4284,13 +4287,13 @@ defined in \crossref{concretesha256}:
|
|||
\begin{lrbox}{\addrbox}
|
||||
\setchanged
|
||||
\begin{bytefield}[bitwidth=0.06em]{512}
|
||||
\bitbox{18}{$1$} &
|
||||
\bitbox{18}{$1$} &
|
||||
\bitbox{18}{$0$} &
|
||||
\bitbox{18}{$0$} &
|
||||
\bitbox{224}{$252$-bit $x$} &
|
||||
\bitbox{56}{$8$-bit $t$} &
|
||||
\bitbox{200}{$\zeros{248}$}
|
||||
\sbitbox{18}{$1$} &
|
||||
\sbitbox{18}{$1$} &
|
||||
\sbitbox{18}{$0$} &
|
||||
\sbitbox{18}{$0$} &
|
||||
\sbitbox{224}{$252$-bit $x$} &
|
||||
\sbitbox{56}{$8$-bit $t$} &
|
||||
\sbitbox{200}{$\zeros{248}$}
|
||||
\end{bytefield}
|
||||
\end{lrbox}
|
||||
|
||||
|
@ -4298,12 +4301,12 @@ defined in \crossref{concretesha256}:
|
|||
\begin{lrbox}{\nfbox}
|
||||
\setchanged
|
||||
\begin{bytefield}[bitwidth=0.06em]{512}
|
||||
\bitbox{18}{$1$} &
|
||||
\bitbox{18}{$1$} &
|
||||
\bitbox{18}{$1$} &
|
||||
\bitbox{18}{$0$} &
|
||||
\bitbox{224}{$252$-bit $\AuthPrivate$} &
|
||||
\bitbox{256}{$256$-bit $\NoteAddressRand$}
|
||||
\sbitbox{18}{$1$} &
|
||||
\sbitbox{18}{$1$} &
|
||||
\sbitbox{18}{$1$} &
|
||||
\sbitbox{18}{$0$} &
|
||||
\sbitbox{224}{$252$-bit $\AuthPrivate$} &
|
||||
\sbitbox{256}{$256$-bit $\NoteAddressRand$}
|
||||
\end{bytefield}
|
||||
\end{lrbox}
|
||||
|
||||
|
@ -4311,12 +4314,12 @@ defined in \crossref{concretesha256}:
|
|||
\begin{lrbox}{\pkbox}
|
||||
\setchanged
|
||||
\begin{bytefield}[bitwidth=0.06em]{512}
|
||||
\bitbox{18}{$0$} &
|
||||
\bitbox{18}{\iminusone} &
|
||||
\bitbox{18}{$0$} &
|
||||
\bitbox{18}{$0$} &
|
||||
\bitbox{224}{$252$-bit $\AuthPrivate$} &
|
||||
\bitbox{256}{$256$-bit $\hSig$}
|
||||
\sbitbox{18}{$0$} &
|
||||
\sbitbox{18}{\iminusone} &
|
||||
\sbitbox{18}{$0$} &
|
||||
\sbitbox{18}{$0$} &
|
||||
\sbitbox{224}{$252$-bit $\AuthPrivate$} &
|
||||
\sbitbox{256}{$256$-bit $\hSig$}
|
||||
\end{bytefield}
|
||||
\end{lrbox}
|
||||
|
||||
|
@ -4324,12 +4327,12 @@ defined in \crossref{concretesha256}:
|
|||
\begin{lrbox}{\rhobox}
|
||||
\setchanged
|
||||
\begin{bytefield}[bitwidth=0.06em]{512}
|
||||
\bitbox{18}{$0$} &
|
||||
\bitbox{18}{\iminusone} &
|
||||
\bitbox{18}{$1$} &
|
||||
\bitbox{18}{$0$} &
|
||||
\bitbox{224}{$252$-bit $\NoteAddressPreRand$} &
|
||||
\bitbox{256}{$256$-bit $\hSig$}
|
||||
\sbitbox{18}{$0$} &
|
||||
\sbitbox{18}{\iminusone} &
|
||||
\sbitbox{18}{$1$} &
|
||||
\sbitbox{18}{$0$} &
|
||||
\sbitbox{224}{$252$-bit $\NoteAddressPreRand$} &
|
||||
\sbitbox{256}{$256$-bit $\hSig$}
|
||||
\end{bytefield}
|
||||
\end{lrbox}
|
||||
|
||||
|
@ -4371,8 +4374,8 @@ be necessary.})
|
|||
\begin{lrbox}{\nrbox}
|
||||
\setsapling
|
||||
\begin{bytefield}[bitwidth=0.04em]{512}
|
||||
\bitbox{256}{$256$-bit $\reprJ(\AuthProvePublic)$} &
|
||||
\bitbox{256}{$256$-bit $\reprJ(\NoteAddressRand)$}
|
||||
\sbitbox{256}{$256$-bit $\reprJ(\AuthProvePublic)$} &
|
||||
\sbitbox{256}{$256$-bit $\reprJ(\NoteAddressRand)$}
|
||||
\end{bytefield}
|
||||
\end{lrbox}
|
||||
|
||||
|
@ -4474,9 +4477,9 @@ Define $\KASproutAgree(n, q) := \CurveMultiply(n, q)$.
|
|||
\begin{lrbox}{\kdftagbox}
|
||||
\setchanged
|
||||
\begin{bytefield}[bitwidth=0.16em]{128}
|
||||
\bitbox{64}{$64$-bit $\ascii{ZcashKDF}$} &
|
||||
\bitbox{32}{$8$-bit $i\!-\!1$} &
|
||||
\bitbox{56}{$\zeros{56}$}
|
||||
\sbitbox{64}{$64$-bit $\ascii{ZcashKDF}$} &
|
||||
\sbitbox{32}{$8$-bit $i\!-\!1$} &
|
||||
\sbitbox{56}{$\zeros{56}$}
|
||||
\end{bytefield}
|
||||
\end{lrbox}
|
||||
|
||||
|
@ -4484,10 +4487,10 @@ Define $\KASproutAgree(n, q) := \CurveMultiply(n, q)$.
|
|||
\begin{lrbox}{\kdfinputbox}
|
||||
\setchanged
|
||||
\begin{bytefield}[bitwidth=0.04em]{1024}
|
||||
\bitbox{256}{$256$-bit $\hSig$} &
|
||||
\bitbox{256}{$256$-bit $\DHSecret{i}$} &
|
||||
\bitbox{256}{$256$-bit $\EphemeralPublic$} &
|
||||
\bitbox{256}{$256$-bit $\TransmitPublicNew{i}$}
|
||||
\sbitbox{256}{$256$-bit $\hSig$} &
|
||||
\sbitbox{256}{$256$-bit $\DHSecret{i}$} &
|
||||
\sbitbox{256}{$256$-bit $\EphemeralPublic$} &
|
||||
\sbitbox{256}{$256$-bit $\TransmitPublicNew{i}$}
|
||||
\end{bytefield}
|
||||
\end{lrbox}
|
||||
|
||||
|
@ -4525,10 +4528,11 @@ the type of $\JubjubCurve$ secret keys. \todo{expand this}
|
|||
|
||||
\newsavebox{\kdfsaplinginputbox}
|
||||
\begin{lrbox}{\kdfsaplinginputbox}
|
||||
\setsapling
|
||||
\begin{bytefield}[bitwidth=0.07em]{544}
|
||||
\bitbox{80}{$32$-bit $\OutputIndex$} &
|
||||
\bitbox{256}{$256$-bit $\reprJOf{\DHSecret{}}$} &
|
||||
\bitbox{256}{$256$-bit $\reprJOf{\EphemeralPublic}$}
|
||||
\sbitbox{80}{$32$-bit $\OutputIndex$} &
|
||||
\sbitbox{256}{$256$-bit $\reprJOf{\DHSecret{}}$} &
|
||||
\sbitbox{256}{$256$-bit $\reprJOf{\EphemeralPublic}$}
|
||||
\end{bytefield}
|
||||
\end{lrbox}
|
||||
|
||||
|
@ -4581,8 +4585,8 @@ less than $2^{255}-19$.
|
|||
\begin{lrbox}{\sigbox}
|
||||
\setchanged
|
||||
\begin{bytefield}[bitwidth=0.075em]{512}
|
||||
\bitbox{256}{$256$-bit $\EdDSAR$} &
|
||||
\bitbox{256}{$256$-bit $\EdDSAS$}
|
||||
\sbitbox{256}{$256$-bit $\EdDSAR$} &
|
||||
\sbitbox{256}{$256$-bit $\EdDSAS$}
|
||||
\end{bytefield}
|
||||
\end{lrbox}
|
||||
|
||||
|
@ -4620,18 +4624,18 @@ $\JubjubCurve$ curve which these additional constraints: \todo{...}
|
|||
\begin{lrbox}{\cmbox}
|
||||
\setchanged
|
||||
\begin{bytefield}[bitwidth=0.031em]{840}
|
||||
\bitbox{24}{$1$} &
|
||||
\bitbox{24}{$0$} &
|
||||
\bitbox{24}{$1$} &
|
||||
\bitbox{24}{$1$} &
|
||||
\bitbox{24}{$0$} &
|
||||
\bitbox{24}{$0$} &
|
||||
\bitbox{24}{$0$} &
|
||||
\bitbox{24}{$0$} &
|
||||
\bitbox{256}{$256$-bit $\AuthPublic$} &
|
||||
\bitbox{128}{$64$-bit $\Value$} &
|
||||
\bitbox{256}{$256$-bit $\NoteAddressRand$} &
|
||||
\bitbox{256}{$256$-bit $\NoteCommitRand$}
|
||||
\sbitbox{24}{$1$} &
|
||||
\sbitbox{24}{$0$} &
|
||||
\sbitbox{24}{$1$} &
|
||||
\sbitbox{24}{$1$} &
|
||||
\sbitbox{24}{$0$} &
|
||||
\sbitbox{24}{$0$} &
|
||||
\sbitbox{24}{$0$} &
|
||||
\sbitbox{24}{$0$} &
|
||||
\sbitbox{256}{$256$-bit $\AuthPublic$} &
|
||||
\sbitbox{128}{$64$-bit $\Value$} &
|
||||
\sbitbox{256}{$256$-bit $\NoteAddressRand$} &
|
||||
\sbitbox{256}{$256$-bit $\NoteCommitRand$}
|
||||
\end{bytefield}
|
||||
\end{lrbox}
|
||||
|
||||
|
@ -4783,15 +4787,15 @@ $\GenG{1}$ and $\GenG{2}$ are generators of $\GroupG{1}$ and $\GroupG{2}$ respec
|
|||
\begin{lrbox}{\gonebox}
|
||||
\setchanged
|
||||
\begin{bytefield}[bitwidth=0.045em]{264}
|
||||
\bitbox{20}{$0$} &
|
||||
\bitbox{20}{$0$} &
|
||||
\bitbox{20}{$0$} &
|
||||
\bitbox{20}{$0$} &
|
||||
\bitbox{20}{$0$} &
|
||||
\bitbox{20}{$0$} &
|
||||
\bitbox{20}{$1$} &
|
||||
\bitbox{80}{$1$-bit $\tilde{y}$} &
|
||||
\bitbox{256}{$256$-bit $\ItoBEBSP{256}(x)$}
|
||||
\sbitbox{20}{$0$} &
|
||||
\sbitbox{20}{$0$} &
|
||||
\sbitbox{20}{$0$} &
|
||||
\sbitbox{20}{$0$} &
|
||||
\sbitbox{20}{$0$} &
|
||||
\sbitbox{20}{$0$} &
|
||||
\sbitbox{20}{$1$} &
|
||||
\sbitbox{80}{$1$-bit $\tilde{y}$} &
|
||||
\sbitbox{256}{$256$-bit $\ItoBEBSP{256}(x)$}
|
||||
\end{bytefield}
|
||||
\end{lrbox}
|
||||
|
||||
|
@ -4799,15 +4803,15 @@ $\GenG{1}$ and $\GenG{2}$ are generators of $\GroupG{1}$ and $\GroupG{2}$ respec
|
|||
\begin{lrbox}{\gtwobox}
|
||||
\setchanged
|
||||
\begin{bytefield}[bitwidth=0.045em]{520}
|
||||
\bitbox{20}{$0$} &
|
||||
\bitbox{20}{$0$} &
|
||||
\bitbox{20}{$0$} &
|
||||
\bitbox{20}{$0$} &
|
||||
\bitbox{20}{$1$} &
|
||||
\bitbox{20}{$0$} &
|
||||
\bitbox{20}{$1$} &
|
||||
\bitbox{80}{$1$-bit $\tilde{y}$} &
|
||||
\bitbox{512}{$512$-bit $\ItoBEBSP{512}(x)$}
|
||||
\sbitbox{20}{$0$} &
|
||||
\sbitbox{20}{$0$} &
|
||||
\sbitbox{20}{$0$} &
|
||||
\sbitbox{20}{$0$} &
|
||||
\sbitbox{20}{$1$} &
|
||||
\sbitbox{20}{$0$} &
|
||||
\sbitbox{20}{$1$} &
|
||||
\sbitbox{80}{$1$-bit $\tilde{y}$} &
|
||||
\sbitbox{512}{$512$-bit $\ItoBEBSP{512}(x)$}
|
||||
\end{bytefield}
|
||||
\end{lrbox}
|
||||
|
||||
|
@ -4872,10 +4876,10 @@ the square root exists, or that the encoding represents a point on the curve.
|
|||
\begin{lrbox}{\sonebox}
|
||||
\setsapling
|
||||
\begin{bytefield}[bitwidth=0.045em]{384}
|
||||
\bitbox{20}{$1$} &
|
||||
\bitbox{20}{$0$} &
|
||||
\bitbox{80}{$1$-bit $\tilde{y}$} &
|
||||
\bitbox{381}{$381$-bit $\ItoBEBSP{381}(x)$}
|
||||
\sbitbox{20}{$1$} &
|
||||
\sbitbox{20}{$0$} &
|
||||
\sbitbox{80}{$1$-bit $\tilde{y}$} &
|
||||
\sbitbox{381}{$381$-bit $\ItoBEBSP{381}(x)$}
|
||||
\end{bytefield}
|
||||
\end{lrbox}
|
||||
|
||||
|
@ -4883,11 +4887,11 @@ the square root exists, or that the encoding represents a point on the curve.
|
|||
\begin{lrbox}{\stwobox}
|
||||
\setsapling
|
||||
\begin{bytefield}[bitwidth=0.045em]{768}
|
||||
\bitbox{20}{$1$} &
|
||||
\bitbox{20}{$0$} &
|
||||
\bitbox{80}{$1$-bit $\tilde{y}$} &
|
||||
\bitbox{381}{$381$-bit $\ItoBEBSP{381}(x_1)$} &
|
||||
\bitbox{384}{$384$-bit $\ItoBEBSP{384}(x_2)$}
|
||||
\sbitbox{20}{$1$} &
|
||||
\sbitbox{20}{$0$} &
|
||||
\sbitbox{80}{$1$-bit $\tilde{y}$} &
|
||||
\sbitbox{381}{$381$-bit $\ItoBEBSP{381}(x_1)$} &
|
||||
\sbitbox{384}{$384$-bit $\ItoBEBSP{384}(x_2)$}
|
||||
\end{bytefield}
|
||||
\end{lrbox}
|
||||
|
||||
|
@ -5131,7 +5135,7 @@ The hash $\GroupJHash{\CRS}(D, M)$ is calculated as follows:
|
|||
\newsavebox{\ghintbox}
|
||||
\begin{lrbox}{\ghintbox}
|
||||
\begin{bytefield}[bitwidth=0.04em]{256}
|
||||
\bitbox{256}{256-bit $p$}
|
||||
\sbitbox{256}{256-bit $p$}
|
||||
\end{bytefield}
|
||||
\end{lrbox}
|
||||
|
||||
|
@ -5199,14 +5203,14 @@ and a \provingSystem implementation that is interoperable with the \Zcash fork o
|
|||
\begin{lrbox}{\phgrbox}
|
||||
\setchanged
|
||||
\begin{bytefield}[bitwidth=0.021em]{2368}
|
||||
\bitbox{264}{264-bit $\Proof{A}$} &
|
||||
\bitbox{264}{264-bit $\Proof{A}'$} &
|
||||
\bitbox{520}{520-bit $\Proof{B}$} &
|
||||
\bitbox{264}{264-bit $\Proof{B}'$} &
|
||||
\bitbox{264}{264-bit $\Proof{C}$} &
|
||||
\bitbox{264}{264-bit $\Proof{C}'$} &
|
||||
\bitbox{264}{264-bit $\Proof{K}$} &
|
||||
\bitbox{264}{264-bit $\Proof{H}$}
|
||||
\sbitbox{264}{264-bit $\Proof{A}$} &
|
||||
\sbitbox{264}{264-bit $\Proof{A}'$} &
|
||||
\sbitbox{520}{520-bit $\Proof{B}$} &
|
||||
\sbitbox{264}{264-bit $\Proof{B}'$} &
|
||||
\sbitbox{264}{264-bit $\Proof{C}$} &
|
||||
\sbitbox{264}{264-bit $\Proof{C}'$} &
|
||||
\sbitbox{264}{264-bit $\Proof{K}$} &
|
||||
\sbitbox{264}{264-bit $\Proof{H}$}
|
||||
\end{bytefield}
|
||||
\end{lrbox}
|
||||
|
||||
|
@ -5238,9 +5242,9 @@ verifier \MUST check, for the encoding of each element, that:
|
|||
\begin{lrbox}{\grothbox}
|
||||
\setsapling
|
||||
\begin{bytefield}[bitwidth=0.021em]{1536}
|
||||
\bitbox{384}{384-bit $\Proof{A}$} &
|
||||
\bitbox{768}{768-bit $\Proof{B}$} &
|
||||
\bitbox{384}{384-bit $\Proof{C}$}
|
||||
\sbitbox{384}{384-bit $\Proof{A}$} &
|
||||
\sbitbox{768}{768-bit $\Proof{B}$} &
|
||||
\sbitbox{384}{384-bit $\Proof{C}$}
|
||||
\end{bytefield}
|
||||
\end{lrbox}
|
||||
|
||||
|
@ -5346,11 +5350,11 @@ The encoding of a \SproutOrNothing \notePlaintext consists of:
|
|||
\begin{equation*}
|
||||
\begin{bytefield}[bitwidth=0.029em]{1672}
|
||||
\changed{
|
||||
\bitbox{180}{$8$-bit $\NotePlaintextLeadByteSprout$}
|
||||
&}\bitbox{180}{$64$-bit $\Value$} &
|
||||
\bitbox{256}{$256$-bit $\NoteAddressRand$} &
|
||||
\bitbox{256}{\changed{$256$}-bit $\NoteCommitRand$} &
|
||||
\changed{\bitbox{800}{$\Memo$ ($512$ bytes)}}
|
||||
\sbitbox{180}{$8$-bit $\NotePlaintextLeadByteSprout$}
|
||||
&}\sbitbox{180}{$64$-bit $\Value$} &
|
||||
\sbitbox{256}{$256$-bit $\NoteAddressRand$} &
|
||||
\sbitbox{256}{\changed{$256$}-bit $\NoteCommitRand$} &
|
||||
\changed{\sbitbox{800}{$\Memo$ ($512$ bytes)}}
|
||||
\end{bytefield}
|
||||
\end{equation*}
|
||||
|
||||
|
@ -5374,11 +5378,11 @@ The encoding of a \Sapling \notePlaintext consists of:
|
|||
\vspace{2ex}
|
||||
\begin{equation*}
|
||||
\begin{bytefield}[bitwidth=0.029em]{1672}
|
||||
\bitbox{180}{$8$-bit $\NotePlaintextLeadByteSapling$}
|
||||
\bitbox{240}{$88$-bit $\Diversifier$}
|
||||
\bitbox{180}{$64$-bit $\Value$}
|
||||
\bitbox{256}{$256$-bit $\NoteCommitRand$}
|
||||
\bitbox{800}{$\Memo$ ($512$ bytes)}
|
||||
\sbitbox{180}{$8$-bit $\NotePlaintextLeadByteSapling$}
|
||||
\sbitbox{240}{$88$-bit $\Diversifier$}
|
||||
\sbitbox{180}{$64$-bit $\Value$}
|
||||
\sbitbox{256}{$256$-bit $\NoteCommitRand$}
|
||||
\sbitbox{800}{$\Memo$ ($512$ bytes)}
|
||||
\end{bytefield}
|
||||
\end{equation*}
|
||||
|
||||
|
@ -5429,9 +5433,9 @@ The raw encoding of a P2SH address consists of:
|
|||
\vspace{2ex}
|
||||
\begin{equation*}
|
||||
\begin{bytefield}[bitwidth=0.1em]{176}
|
||||
\bitbox{80}{$8$-bit $\PtoSHAddressLeadByte$}
|
||||
\bitbox{80}{$8$-bit $\PtoSHAddressSecondByte$}
|
||||
\bitbox{160}{$160$-bit script hash}
|
||||
\sbitbox{80}{$8$-bit $\PtoSHAddressLeadByte$}
|
||||
\sbitbox{80}{$8$-bit $\PtoSHAddressSecondByte$}
|
||||
\sbitbox{160}{$160$-bit script hash}
|
||||
\end{bytefield}
|
||||
\end{equation*}
|
||||
|
||||
|
@ -5449,9 +5453,9 @@ The raw encoding of a P2PKH address consists of:
|
|||
\vspace{2ex}
|
||||
\begin{equation*}
|
||||
\begin{bytefield}[bitwidth=0.1em]{176}
|
||||
\bitbox{80}{$8$-bit $\PtoPKHAddressLeadByte$}
|
||||
\bitbox{80}{$8$-bit $\PtoPKHAddressSecondByte$}
|
||||
\bitbox{160}{$160$-bit public key hash}
|
||||
\sbitbox{80}{$8$-bit $\PtoPKHAddressLeadByte$}
|
||||
\sbitbox{80}{$8$-bit $\PtoPKHAddressSecondByte$}
|
||||
\sbitbox{160}{$160$-bit public key hash}
|
||||
\end{bytefield}
|
||||
\end{equation*}
|
||||
|
||||
|
@ -5501,10 +5505,10 @@ The raw encoding of a \SproutOrNothing \paymentAddress consists of:
|
|||
\begin{equation*}
|
||||
\begin{bytefield}[bitwidth=0.07em]{520}
|
||||
\changed{
|
||||
\bitbox{80}{$8$-bit $\PaymentAddressLeadByte$}
|
||||
\bitbox{80}{$8$-bit $\PaymentAddressSecondByte$}
|
||||
&}\bitbox{256}{$256$-bit $\AuthPublic$} &
|
||||
\bitbox{256}{\changed{$256$}-bit $\TransmitPublic$}
|
||||
\sbitbox{80}{$8$-bit $\PaymentAddressLeadByte$}
|
||||
\sbitbox{80}{$8$-bit $\PaymentAddressSecondByte$}
|
||||
&}\sbitbox{256}{$256$-bit $\AuthPublic$} &
|
||||
\sbitbox{256}{\changed{$256$}-bit $\TransmitPublic$}
|
||||
\end{bytefield}
|
||||
\end{equation*}
|
||||
|
||||
|
@ -5546,8 +5550,8 @@ The raw encoding of a \Sapling \paymentAddress consists of:
|
|||
\vspace{2ex}
|
||||
\begin{equation*}
|
||||
\begin{bytefield}[bitwidth=0.07em]{344}
|
||||
\bitbox{88}{$88$-bit $\Diversifier$}
|
||||
\bitbox{256}{$256$-bit $\reprJOf{\DiversifiedTransmitPublic}$}
|
||||
\sbitbox{88}{$88$-bit $\Diversifier$}
|
||||
\sbitbox{256}{$256$-bit $\reprJOf{\DiversifiedTransmitPublic}$}
|
||||
\end{bytefield}
|
||||
\end{equation*}
|
||||
|
||||
|
@ -5580,11 +5584,11 @@ The raw encoding of an \incomingViewingKey consists of, in order:
|
|||
\begin{equation*}
|
||||
\begin{bytefield}[bitwidth=0.062em]{536}
|
||||
\changed{
|
||||
\bitbox{88}{$8$-bit $\InViewingKeyLeadByte$}
|
||||
\bitbox{88}{$8$-bit $\InViewingKeySecondByte$}
|
||||
\bitbox{88}{$8$-bit $\InViewingKeyThirdByte$}
|
||||
\bitbox{256}{$256$-bit $\AuthPublic$}
|
||||
\bitbox{256}{$256$-bit $\TransmitPrivate$}
|
||||
\sbitbox{88}{$8$-bit $\InViewingKeyLeadByte$}
|
||||
\sbitbox{88}{$8$-bit $\InViewingKeySecondByte$}
|
||||
\sbitbox{88}{$8$-bit $\InViewingKeyThirdByte$}
|
||||
\sbitbox{256}{$256$-bit $\AuthPublic$}
|
||||
\sbitbox{256}{$256$-bit $\TransmitPrivate$}
|
||||
}
|
||||
\end{bytefield}
|
||||
\end{equation*}
|
||||
|
@ -5629,7 +5633,7 @@ The raw encoding of an \incomingViewingKey consists of:
|
|||
\vspace{2ex}
|
||||
\begin{equation*}
|
||||
\begin{bytefield}[bitwidth=0.07em]{256}
|
||||
\bitbox{256}{$256$-bit $\InViewingKey$}
|
||||
\sbitbox{256}{$256$-bit $\InViewingKey$}
|
||||
\end{bytefield}
|
||||
\end{equation*}
|
||||
|
||||
|
@ -5660,8 +5664,8 @@ The raw encoding of a \fullViewingKey consists of:
|
|||
\vspace{2ex}
|
||||
\begin{equation*}
|
||||
\begin{bytefield}[bitwidth=0.07em]{512}
|
||||
\bitbox{256}{$256$-bit $\reprJOf{\AuthSignPublic}$}
|
||||
\bitbox{256}{$256$-bit $\reprJOf{\AuthProvePublic}$}
|
||||
\sbitbox{256}{$256$-bit $\reprJOf{\AuthSignPublic}$}
|
||||
\sbitbox{256}{$256$-bit $\reprJOf{\AuthProvePublic}$}
|
||||
\end{bytefield}
|
||||
\end{equation*}
|
||||
|
||||
|
@ -5690,10 +5694,10 @@ The raw encoding of a \SproutOrNothing \spendingKey consists of:
|
|||
\begin{equation*}
|
||||
\begin{bytefield}[bitwidth=0.07em]{264}
|
||||
\changed{
|
||||
\bitbox{80}{$8$-bit $\SpendingKeyLeadByte$}
|
||||
\bitbox{80}{$8$-bit $\SpendingKeySecondByte$}
|
||||
\bitbox{32}{$\zeros{4}$} &
|
||||
&}\bitbox{252}{\changed{$252$}-bit $\AuthPrivate$}
|
||||
\sbitbox{80}{$8$-bit $\SpendingKeyLeadByte$}
|
||||
\sbitbox{80}{$8$-bit $\SpendingKeySecondByte$}
|
||||
\sbitbox{32}{$\zeros{4}$} &
|
||||
&}\sbitbox{252}{\changed{$252$}-bit $\AuthPrivate$}
|
||||
\end{bytefield}
|
||||
\end{equation*}
|
||||
|
||||
|
@ -5738,7 +5742,7 @@ The raw encoding of a \Sapling \spendingKey consists of:
|
|||
\vspace{2ex}
|
||||
\begin{equation*}
|
||||
\begin{bytefield}[bitwidth=0.07em]{256}
|
||||
\bitbox{256}{$256$-bit $\AuthPrivateSeed$}
|
||||
\sbitbox{256}{$256$-bit $\AuthPrivateSeed$}
|
||||
\end{bytefield}
|
||||
\end{equation*}
|
||||
|
||||
|
@ -6267,13 +6271,13 @@ derived from the \blockHeader and a nonce:
|
|||
\newsavebox{\powheaderbox}
|
||||
\begin{lrbox}{\powheaderbox}
|
||||
\begin{bytefield}[bitwidth=0.064em]{1152}
|
||||
\bitbox{128}{$32$-bit $\nVersion$} &
|
||||
\bitbox{256}{$256$-bit $\hashPrevBlock$} &
|
||||
\bitbox{256}{$256$-bit $\hashMerkleRoot$} \\
|
||||
\bitbox{256}{$256$-bit $\hashReserved$} &
|
||||
\bitbox{128}{$32$-bit $\nTimeField$} &
|
||||
\bitbox{128}{$32$-bit $\nBitsField$} \\
|
||||
\bitbox{256}{$256$-bit $\nNonce$}
|
||||
\sbitbox{128}{$32$-bit $\nVersion$} &
|
||||
\sbitbox{256}{$256$-bit $\hashPrevBlock$} &
|
||||
\sbitbox{256}{$256$-bit $\hashMerkleRoot$} \\
|
||||
\sbitbox{256}{$256$-bit $\hashReserved$} &
|
||||
\sbitbox{128}{$32$-bit $\nTimeField$} &
|
||||
\sbitbox{128}{$32$-bit $\nBitsField$} \\
|
||||
\sbitbox{256}{$256$-bit $\nNonce$}
|
||||
\end{bytefield}
|
||||
\end{lrbox}
|
||||
|
||||
|
@ -6319,32 +6323,32 @@ field of a \blockHeader as follows:
|
|||
\newsavebox{\solutionbox}
|
||||
\begin{lrbox}{\solutionbox}
|
||||
\begin{bytefield}[bitwidth=0.45em]{105}
|
||||
\bitbox{21}{$\ItoBEBSP{21}(i_1-1)$} &
|
||||
\bitbox{21}{$\ItoBEBSP{21}(i_2-1)$} &
|
||||
\bitbox{42}{$\cdots$} &
|
||||
\bitbox{21}{$\ItoBEBSP{21}(i_{512}-1)$}
|
||||
\sbitbox{21}{$\ItoBEBSP{21}(i_1-1)$} &
|
||||
\sbitbox{21}{$\ItoBEBSP{21}(i_2-1)$} &
|
||||
\sbitbox{42}{$\cdots$} &
|
||||
\sbitbox{21}{$\ItoBEBSP{21}(i_{512}-1)$}
|
||||
\end{bytefield}
|
||||
\end{lrbox}
|
||||
|
||||
\newcommand{\zb}{\bitbox{1}{$0$}}
|
||||
\newcommand{\ob}{\bitbox{1}{$1$}}
|
||||
\newcommand{\zb}{\sbitbox{1}{$0$}}
|
||||
\newcommand{\ob}{\sbitbox{1}{$1$}}
|
||||
\newsavebox{\eqexamplebox}
|
||||
\begin{lrbox}{\eqexamplebox}
|
||||
\begin{bytefield}[bitwidth=0.75em]{63}
|
||||
\bitbox{21}{$\ItoBEBSP{21}(68)$} &
|
||||
\bitbox{21}{$\ItoBEBSP{21}(41)$} &
|
||||
\bitbox{21}{$\ItoBEBSP{21}(2^{21}-1)$} \\
|
||||
\sbitbox{21}{$\ItoBEBSP{21}(68)$} &
|
||||
\sbitbox{21}{$\ItoBEBSP{21}(41)$} &
|
||||
\sbitbox{21}{$\ItoBEBSP{21}(2^{21}-1)$} \\
|
||||
\zb\zb\zb\zb\zb\zb\zb\zb\zb\zb\zb\zb\zb\zb\ob\zb\zb\zb\ob\zb\zb
|
||||
\zb\zb\zb\zb\zb\zb\zb\zb\zb\zb\zb\zb\zb\zb\zb\ob\zb\ob\zb\zb\ob
|
||||
\ob\ob\ob\ob\ob\ob\ob\ob\ob\ob\ob\ob\ob\ob\ob\ob\ob\ob\ob\ob\ob \\
|
||||
\bitbox{8}{8-bit $0$}
|
||||
\bitbox{8}{8-bit $2$}
|
||||
\bitbox{8}{8-bit $32$}
|
||||
\bitbox{8}{8-bit $0$}
|
||||
\bitbox{8}{8-bit $10$}
|
||||
\bitbox{8}{8-bit $127$}
|
||||
\bitbox{8}{8-bit $255$}
|
||||
\bitbox{7}{$\cdots$}
|
||||
\sbitbox{8}{8-bit $0$}
|
||||
\sbitbox{8}{8-bit $2$}
|
||||
\sbitbox{8}{8-bit $32$}
|
||||
\sbitbox{8}{8-bit $0$}
|
||||
\sbitbox{8}{8-bit $10$}
|
||||
\sbitbox{8}{8-bit $127$}
|
||||
\sbitbox{8}{8-bit $255$}
|
||||
\sbitbox{7}{$\cdots$}
|
||||
\end{bytefield}
|
||||
\end{lrbox}
|
||||
|
||||
|
|
Loading…
Reference in New Issue