Module zebra_chain::source ·
Note Commitment Trees.
A note commitment tree is an incremental Merkle tree of fixed depth used to store note commitments that JoinSplit transfers or Spend transfers produce. Just as the unspent transaction output set (UTXO set) used in Bitcoin, it is used to express the existence of value and the capability to spend it. However, unlike the UTXO set, it is not the job of this tree to protect against double-spending, as it is append-only.
A root of a note commitment tree is associated with each treestate.
- Sapling Incremental Note Commitment Tree.
- The index of a note’s commitment at the leafmost layer of its Note Commitment Tree.
- Sapling note commitment tree root node hash.
- A serialized Sapling note commitment tree.
- The type that is used to update the note commitment tree.