Add type declarations for primary and auxiliary inputs to JoinSplit statement.

Signed-off-by: Daira Hopwood <daira@jacaranda.org>
This commit is contained in:
Daira Hopwood 2016-09-04 04:29:10 +01:00
parent 6f7bfbc59e
commit 43145ed6ba
1 changed files with 16 additions and 6 deletions

View File

@ -1490,16 +1490,26 @@ exists in the set.
A valid instance of $\JoinSplitProof$ assures that given a \term{primary input}:
\begin{itemize}
\item[] $(\rt, \nfOld{\allOld}, \cmNew{\allNew}, \changed{\vpubOld,\;}
\vpubNew, \hSig, \h{\allOld})$,
\item[] $(\rt \typecolon \MerkleHash,
\nfOld{\allOld} \typecolon (\PRFOutput)^{\NOld},
\cmNew{\allNew} \typecolon (\CommitOutput)^{\NNew},
\changed{\vpubOld \typecolon \range{0}{2^{64}-1},}\,
\vpubNew \typecolon \range{0}{2^{64}-1},\\
\hphantom{(}
\hSig \typecolon \hSigType,
\h{\allOld} \typecolon (\PRFOutput)^{\NOld})$,
\end{itemize}
there exists a witness of \term{auxiliary input}:
the prover knows an \term{auxiliary input}:
\begin{itemize}
\item[] $(\treepath{\allOld}, \nOld{\allOld}, \AuthPrivateOld{\allOld},
\nNew{\allNew}\changed{, \NoteAddressPreRand,
\EnforceCommit{\allOld}})$
\item[] $(\treepath{\allOld} \typecolon ((\MerkleHash)^{\MerkleDepth})^{\NOld},
\nOld{\allOld} \typecolon \NoteType^{\NOld},
\AuthPrivateOld{\allOld} \typecolon (\bitseq{\AuthPrivateLength})^{\NOld},
\nNew{\allNew} \typecolon \NoteType^{\NOld}\changed{,}\\
\hphantom{(}
\changed{\NoteAddressPreRand \typecolon \bitseq{\NoteAddressPreRandLength},
\EnforceCommit{\allOld} \typecolon \bitseq{\NOld}})$,
\end{itemize}
where: