mirror of https://github.com/zcash/zips.git
Clarify the consensus rule preventing double-spends.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
This commit is contained in:
parent
b34edb5e40
commit
5fe9d6d525
|
@ -280,6 +280,7 @@ electronic commerce and payment, financial privacy, proof of work, zero knowledg
|
||||||
\newcommand{\treestates}{\term{treestates}}
|
\newcommand{\treestates}{\term{treestates}}
|
||||||
\newcommand{\nullifier}{\term{nullifier}}
|
\newcommand{\nullifier}{\term{nullifier}}
|
||||||
\newcommand{\nullifiers}{\term{nullifiers}}
|
\newcommand{\nullifiers}{\term{nullifiers}}
|
||||||
|
\newcommand{\xNullifiers}{\term{Nullifiers}}
|
||||||
\newcommand{\Nullifier}{\titleterm{Nullifier}}
|
\newcommand{\Nullifier}{\titleterm{Nullifier}}
|
||||||
\newcommand{\Nullifiers}{\titleterm{Nullifiers}}
|
\newcommand{\Nullifiers}{\titleterm{Nullifiers}}
|
||||||
\newcommand{\nullifierSet}{\term{nullifier set}}
|
\newcommand{\nullifierSet}{\term{nullifier set}}
|
||||||
|
@ -1268,9 +1269,13 @@ Each \fullnode maintains a \nullifierSet logically associated with each \treesta
|
||||||
As valid \transactions containing \joinSplitTransfers are processed, the \nullifiers
|
As valid \transactions containing \joinSplitTransfers are processed, the \nullifiers
|
||||||
revealed in \joinSplitDescriptions are inserted into this \nullifierSet.
|
revealed in \joinSplitDescriptions are inserted into this \nullifierSet.
|
||||||
|
|
||||||
If a \joinSplitDescription reveals a \nullifier that already exists in the
|
\xNullifiers are enforced to be unique within a valid \blockchain, in order to
|
||||||
\blockchain at the associated \treestate, the containing \transaction will be
|
prevent double-spends.
|
||||||
rejected, since it would otherwise result in a double-spend.
|
|
||||||
|
\consensusrule{
|
||||||
|
A \nullifier{} \MUSTNOT repeat either within a \transaction, or across
|
||||||
|
\transactions in a valid \blockchain.
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
\nsubsection{Block Subsidy and Founders' Reward} \label{subsidyconcepts}
|
\nsubsection{Block Subsidy and Founders' Reward} \label{subsidyconcepts}
|
||||||
|
@ -4118,6 +4123,13 @@ The errors in the proof of Ledger Indistinguishability mentioned in
|
||||||
\introlist
|
\introlist
|
||||||
\nsection{Change history}
|
\nsection{Change history}
|
||||||
|
|
||||||
|
\subparagraph{2017.0-beta-2.5}
|
||||||
|
|
||||||
|
\begin{itemize}
|
||||||
|
\item Clarify the consensus rule preventing double-spends.
|
||||||
|
\end{itemize}
|
||||||
|
|
||||||
|
\introlist
|
||||||
\subparagraph{2017.0-beta-2.4}
|
\subparagraph{2017.0-beta-2.4}
|
||||||
|
|
||||||
\begin{itemize}
|
\begin{itemize}
|
||||||
|
|
Loading…
Reference in New Issue