diff --git a/protocol/protocol.tex b/protocol/protocol.tex index f14518d6..9ce42e61 100644 --- a/protocol/protocol.tex +++ b/protocol/protocol.tex @@ -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}} % @@ -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}