Browse Source

Specifying cryptographic binding of Pours to the containing transaction more explicitly, without Bitcoin Script.

Needs to define how SIGHASH_ALL covers Pours.
529.non-scriptable-pour-sigs.0
Nathan Wilcox 8 years ago
parent
commit
b4a7d21962
  1. 18
      protocol/protocol.tex

18
protocol/protocol.tex

@ -231,8 +231,8 @@
\newcommand{\vpubNewField}{\mathtt{vpub\_new}}
\newcommand{\vsum}[2]{\smashoperator[r]{\sum_{#1}^{#2}}}
\newcommand{\anchorField}{\mathtt{anchor}}
\newcommand{\scriptSig}{\mathtt{scriptSig}}
\newcommand{\scriptPubKey}{\mathtt{scriptPubKey}}
\newcommand{\malleabilitySig}{\mathtt{malleabilitySig}}
\newcommand{\malleabilityPubKey}{\mathtt{malleabilityPubKey}}
\newcommand{\serials}{\mathtt{serials}}
\newcommand{\commitments}{\mathtt{commitments}}
\newcommand{\ephemeralKey}{\mathtt{ephemeralKey}}
@ -765,11 +765,9 @@ into the value pool.
some block height in the past, or the merkle root produced by a previous pour in
this transaction. \sean{We need to be more specific here.}
\item $\scriptPubKey$ which is a \script that creates conditions for acceptance of a
\PourDescription in a transaction.
\item $\malleabilityPubKey$ which is a ecdsa public key used to bind a Pour to the containing transaction.
\item $\scriptSig$ which is a \script used to satisfy the conditions of the
$\scriptPubKey$.
\item $\malleabilitySig$ which is an ecdsa signature used to bind a Pour to the containing transaction.
\item $\serials$ which is an $\NOld$ size sequence of serials $\snOld{\allOld}$.
@ -813,7 +811,7 @@ $\PourDescription$.
\bitbox{256}{\hfill 256 bit $\snOld{\mathrm{1}}$\hfill...\;} &
\bitbox{256}{256 bit $\snOld{\NOld}$} &
\bitbox{256}{$\RandomSeed$}
\bitbox{256}{$\scriptPubKey$}
\bitbox{256}{$\malleabilityPubKey$}
\end{bytefield}
\end{lrbox}
@ -832,9 +830,9 @@ identified by that previous $\PourDescription$'s $\anchor$.
\subparagraph{Non-malleability}
A \PourDescription is valid if the script formed by appending $\scriptPubKey$ to
$\scriptSig$ returns $true$. The $\scriptSig$ is cryptographically bound to
$\PourProof$.
A \PourDescription is valid if $\malleabilitySig$ over the {SIGHASH\_ALL} transaction hash is signed by the associated $\malleabilityPubKey$. The $\malleabilitySig$ is cryptographically bound to $\PourProof$.
\nathan{FIXME: The {SIGHASH\_ALL} definition must be extended to cover the appropriate Pour descriptor fields.}
\subparagraph{Balance}

Loading…
Cancel
Save