Browse Source

Tweaks to Equihash section; add rationale for mixed endianness.

Signed-off-by: Daira Hopwood <daira@jacaranda.org>
zips27.reorganisation.1
Daira Hopwood 8 years ago
parent
commit
3106e79b27
  1. 14
      protocol/protocol.tex

14
protocol/protocol.tex

@ -150,6 +150,7 @@
\newcommand{\block}{\term{block}}
\newcommand{\blocks}{\term{blocks}}
\newcommand{\blockHeader}{\term{block header}}
\newcommand{\blockHeaders}{\term{block headers}}
\newcommand{\BlockHeaders}{\titleterm{Block Headers}}
\newcommand{\blockVersionNumber}{\term{block version number}}
\newcommand{\blockTime}{\term{block time}}
@ -2271,7 +2272,6 @@ field of a \blockHeader as follows:
\newsavebox{\solutionbox}
\begin{lrbox}{\solutionbox}
\setchanged
\begin{bytefield}[bitwidth=0.45em]{105}
\bitbox{21}{$\ItoBSP{21}(i_1-1)$}
\bitbox{21}{$\ItoBSP{21}(i_2-1)$}
@ -2284,7 +2284,6 @@ field of a \blockHeader as follows:
\newcommand{\ob}{\bitbox{1}{$1$}}
\newsavebox{\eqexamplebox}
\begin{lrbox}{\eqexamplebox}
\setchanged
\begin{bytefield}[bitwidth=0.75em]{63}
\bitbox{21}{$\ItoBSP{21}(68)$}
\bitbox{21}{$\ItoBSP{21}(41)$}
@ -2316,7 +2315,14 @@ then the corresponding bit array is:
and so the first 7 bytes of $\nSolution$ would be
$[0, 2, 32, 0, 10, 127, 255]$.
\todo{Apologize for the mixing of ends.}
Note that $\ItoBSP{}$ and $\BStoIP{}$ are big-endian, while the encoding of
integer fields in $\powtag$ and $\powinput$ is little-endian. The rationale
for this is that little-endian serialization of \blockHeaders is consistent
with \Bitcoin, but using little-endian ordering of bits in the solution
encoding would require bit-reversal (as opposed to only shifting). The
comparison of $\Xi_r$ values obtained by a big-endian conversion is equivalent
to lexicographic comparison as specified in \mbox{section IV A.} of
\cite{Equihash}.
\nsubsubsection{Difficulty filter} \label{difficulty}
@ -2330,7 +2336,7 @@ with simplifications and altered parameters, to adjust difficulty to target
the desired 2.5-minute block time.
Unlike \Bitcoin, the difficulty adjustment occurs after every block.
\todo{}
\todo{Describe the algorithm.}
\nsection{Differences from the Zerocash paper}

Loading…
Cancel
Save