diff --git a/whitepaper/protocol.pdf b/whitepaper/protocol.pdf index e7cb09d..0fbcfa5 100644 Binary files a/whitepaper/protocol.pdf and b/whitepaper/protocol.pdf differ diff --git a/whitepaper/protocol.tex b/whitepaper/protocol.tex index cb93b48..3d35b3f 100644 --- a/whitepaper/protocol.tex +++ b/whitepaper/protocol.tex @@ -853,111 +853,6 @@ $ 0.0 $ and the default fee is currently $ 0.0001 $ but these numbers are subjec \HushList supports file attachments and embedding arbitrary binary data, it is not limited to ASCII. -\nsection{Notation} - -$\bit$ means the type of bit values, i.e.\ $\setof{0, 1}$. - -$\Nat$ means the type of nonnegative integers. $\PosInt$ -means the type of positive integers. $\Rat$ means the type of rationals. - -$x \typecolon T$ is used to specify that $x$ has type $T$. -A cartesian product type is denoted by $S \times T$, and a function type -by $S \rightarrow T$. An argument to a function can determine other argument -or result types. - -The type of a randomized algorithm is denoted by $S \rightarrowR T$. -The domain of a randomized algorithm may be $()$, indicating that it requires -no arguments. Given $f \typecolon S \rightarrowR T$ and $s \typecolon S$, -sampling a variable $x \typecolon T$ from the output of $f$ applied to $s$ -is denoted by $x \leftarrowR f(s)$. - -Initial arguments to a function or randomized algorithm may be -written as subscripts, e.g.\ if $x \typecolon X$, $y \typecolon Y$, and -$f \typecolon X \times Y \rightarrow Z$, then an invocation of -$f(x, y)$ can also be written $f_x(y)$. - -$\typeexp{T}{\ell}$, where $T$ is a type and $\ell$ is an integer, -means the type of sequences of length $\ell$ with elements in $T$. For example, -$\bitseq{\ell}$ means the set of sequences of $\ell$ bits. - -$\length(S)$ means the length of (number of elements in) $S$. - -$T \subseteq U$ indicates that $T$ is an inclusive subset or subtype of $U$. - -$\byteseqs$ means the set of bit sequences constrained to be of length -a multiple of 8 bits. - -$\hexint{}$ followed by a string of \textbf{boldface} hexadecimal -digits means the corresponding integer converted from hexadecimal. - -$\ascii{...}$ means the given string represented as a -sequence of bytes in US-ASCII. For example, $\ascii{abc}$ represents the -byte sequence $[\hexint{61}, \hexint{62}, \hexint{63}]$. - -$\zeros{\ell}$ means the sequence of $\ell$ zero bits. - -$a..b$, used as a subscript, means the sequence of values -with indices $a$ through $b$ inclusive. For example, -$\AuthPublicNew{\allNew}$ means the sequence $[\AuthPublicNew{\mathrm{1}}, -\AuthPublicNew{\mathrm{2}}, ...\,\AuthPublicNew{\NNew}]$. -(For consistency with the notation in \cite{BCG+2014} and in \cite{BK2016}, -this specification uses 1-based indexing and inclusive ranges, -notwithstanding the compelling arguments to the contrary made in -\cite{EWD-831}.) - -$\range{a}{b}$ means the set or type of integers from $a$ through -$b$ inclusive. - -$\listcomp{f(x) \for x \from a \upto b}$ means the sequence -formed by evaluating $f$ on each integer from $a$ to $b$ inclusive, in -ascending order. Similarly, $\listcomp{f(x) \for x \from a \downto b}$ means -the sequence formed by evaluating $f$ on each integer from $a$ to $b$ -inclusive, in descending order. - -$a\,||\,b$ means the concatenation of sequences $a$ then $b$. - -$\concatbits(S)$ means the sequence of bits obtained by -concatenating the elements of $S$ viewed as bit sequences. If the -elements of $S$ are byte sequences, they are converted to bit sequences -with the \emph{most significant} bit of each byte first. - -$\sorted(S)$ means the sequence formed by sorting the elements -of $S$. - -$\GF{n}$ means the finite field with $n$ elements, and -$\GFstar{n}$ means its group under multiplication. -$\GF{n}[z]$ means the ring of polynomials over $z$ with coefficients -in $\GF{n}$. - -$a \mult b$ means the result of multiplying $a$ and $b$. -This may refer to multiplication of integers, rationals, or -finite field elements according to context. - -$a^b$, for $a$ an integer or finite field element and -$b$ an integer, means the result of raising $a$ to the exponent $b$. - -$a \bmod q$, for $a \typecolon \Nat$ and $q \typecolon \PosInt$, -means the remainder on dividing $a$ by $q$. - -$a \xor b$ means the bitwise-exclusive-or of $a$ and $b$, -and $a \band b$ means the bitwise-and of $a$ and $b$. These are -defined either on integers or bit sequences according to context. - -$\vsum{i=1}{\mathrm{N}} a_i$ means the sum of $a_{\allN{}}$.\; -$\vxor{i=1}{\mathrm{N}} a_i$ means the bitwise exclusive-or of $a_{\allN{}}$. - -The binary relations $<$, $\leq$, $=$, $\geq$, and $>$ have their conventional -meanings on integers and rationals, and are defined lexicographically on -sequences of integers. - -$\floor{x}$ means the largest integer $\leq x$. -$\ceiling{x}$ means the smallest integer $\geq x$. - -$\bitlength(x)$, for $x \typecolon \Nat$, means the smallest integer -$\ell$ such that $2^\ell > x$. - -The symbol $\bot$ is used to indicate unavailable information or a failed decryption. - \nsection{Account Funding} On first run, \HushList creates a new shielded zaddress $z_F$ to fund transparent addresses for pseudonymous sending.