mirror of https://github.com/zcash/zips.git
Add a consensus rule in \crossref{merkletree} that a block MUST NOT add note commitments that
exceed the capacity of each of the Sprout, Sapling, and Orchard note commitment trees. Also add a cross-reference for constants used in \crossref{merkletree}. Signed-off-by: Daira Hopwood <daira@jacaranda.org>
This commit is contained in:
parent
8b8761b302
commit
a6fd0153d2
|
@ -3559,6 +3559,10 @@ the same \transaction.
|
|||
\introsection
|
||||
\lsubsection{Note Commitment Trees}{merkletree}
|
||||
|
||||
Let $\MerkleHashLength{Sprout}$, $\MerkleDepth{Sprout}$\sapling{, $\MerkleHashLength{Sapling}$,\notnufive{ and }
|
||||
$\MerkleDepth{Sapling}$}\nufive{, $\MerkleHashLength{Orchard}$, and $\MerkleDepth{Orchard}$} be as
|
||||
defined in \crossref{constants}.
|
||||
|
||||
\vspace{-2ex}
|
||||
\begin{center}
|
||||
\includegraphics[scale=.4]{incremental_merkle}
|
||||
|
@ -3587,6 +3591,19 @@ The \merkleIndex of a \notesCommitment at the leafmost layer
|
|||
($\MerkleDepth{Sprout}$\sapling{ or $\MerkleDepth{Sapling}$}\nufive{ or $\MerkleDepth{Orchard}$})
|
||||
is called its \defining{\notePosition}.
|
||||
|
||||
\begin{consensusrules}
|
||||
\item A \block \MUSTNOT add \Sprout \noteCommitments that would result in the
|
||||
\Sprout \noteCommitmentTree exceeding its capacity of $2^{\MerkleDepth{Sprout}}$
|
||||
\merkleLeafNodes.
|
||||
\saplingonwarditem{A \block \MUSTNOT add \Sapling \noteCommitments that would result in the
|
||||
\Sapling \noteCommitmentTree exceeding its capacity of $2^{\MerkleDepth{Sapling}}$
|
||||
\merkleLeafNodes.}
|
||||
\nufiveonwarditem{A \block \MUSTNOT add \Orchard \noteCommitments that would result in the
|
||||
\Orchard \noteCommitmentTree exceeding its capacity of $2^{\MerkleDepth{Orchard}}$
|
||||
\merkleLeafNodes.}
|
||||
\end{consensusrules}
|
||||
|
||||
|
||||
\lsubsection{Nullifier Sets}{nullifierset}
|
||||
|
||||
Each \fullValidator maintains a \defining{\nullifierSet} logically associated with
|
||||
|
@ -14473,6 +14490,14 @@ Peter Newell's illustration of the Jubjub bird, from \cite{Carroll1902}.
|
|||
\lsection{Change History}{changehistory}
|
||||
|
||||
|
||||
\historyentry{2021.2.13}{2021-07-29}
|
||||
\begin{itemize}
|
||||
\item Add consensus rules in \crossref{merkletree} that a \block \MUSTNOT add
|
||||
\noteCommitments that exceed the capacity of any of the \Sprout\sapling{ and
|
||||
\Sapling}\nufive{ and \Orchard} \noteCommitmentTrees.
|
||||
\end{itemize}
|
||||
|
||||
|
||||
\historyentry{2021.2.12}{2021-07-29}
|
||||
\begin{itemize}
|
||||
\nufive{
|
||||
|
|
Loading…
Reference in New Issue