These pages assume Zcash vocabulary, and much of who reads them works on Solana. The words are written down here instead of implied.
From Zcash
- Note
- One unit of shielded value: an amount, a recipient and some randomness. A shielded balance is a set of notes rather than a number, which is why a proof speaks about one of them.
- Note commitment
- A hash of a note, published on chain. It says nothing about the note, and it is what the tree is made of.
- Commitment tree
- An append-only Merkle tree holding every commitment the pool has ever taken. Membership in it is the thing a proof proves.
- Anchor
- The root of that tree at one block. A proof is built against one anchor, so it is a statement about that block and never about now.
- Frontier
- The right edge of the tree at a height, thirty-two nodes standing for every commitment before it. Starting a walk from one is how a wallet avoids replaying the whole pool.
- Witness
- The siblings along the path from a note's commitment up to the root. They are mostly other people's commitments, which is why building one costs a walk rather than a lookup.
- Nullifier
- A value published when a note is spent, so the network can refuse to spend it twice. Until that moment nothing links it to the note.
- Action
- One slot in a shielded transaction, carrying a spend and an output together. Scanning cost is counted in actions rather than in transactions.
- Pool
- A shielded accounting system with its own tree, its own nullifier set and its own value balance. Sprout, Sapling, Orchard and Ironwood are four of them.
- Turnstile
- The rule capping what leaves a pool at what verifiably entered it. It is what held the Orchard bug to one pool instead of letting it inflate the chain.
- Shielded and transparent
- Transparent funds sit at an address anybody can read. Shielded funds sit in a pool, where only a key holder can see them.
- Viewing key
- A key that reads an account's notes without being able to spend them. A full one reads everything, forever, which is why disclosure needs something narrower.
- Spending key
- The key that can spend. It never leaves the browser, and a proof needs it, which is why proving cannot be handed to a server.
- Memo
- 512 encrypted bytes carried by a shielded output, opened by the recipient's key and nobody else's.
From Zolar
- Tag
- A value derived from the same secrets as the nullifier and separated from it by a domain. It lets Solana see one note used twice without anybody publishing the nullifier.
- Attestation
- The Solana account this writes: a claim, the anchor it was checked against, an expiry, and whose it is. It cannot be transferred or traded.
- Attester quorum
- The set that asserts what the Ironwood tree looked like and signs for a proof against it. Solana cannot follow Zcash consensus, so somebody has to say.
- The relay
- One binary carrying queries between a browser and a Zcash light node, because a browser cannot reach one directly. It never sees a key.