Module zebra_chain::sapling::tree

source ·
Expand description

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.


Type Definitions