What shielding means, and what it does not hide
Shielding turns a public balance into a note in a Merkle tree. A note is an amount locked to your shielded key. Only someone with that key can spend it, and spending it does not reveal which note it was.
What stays private
- Which note a withdrawal or a send spends. The proof shows it spends some note in the tree without saying which.
- The amount and the receiver of a send inside the pool. They are encrypted in the note and never appear on chain.
- The link between the wallet that paid in and the wallet that receives, as long as enough other deposits exist between them.
What stays public
- That a wallet shielded, and how much. A shield is a normal transaction from your wallet.
- That a withdrawal happened, how much, and to which address. The exit is a normal transfer to the recipient.
- How many deposits the pool has had, and when.
How a link is broken, and how it is not
The proof hides which note you spent, but the amounts and the timing are public at the edges. If you shield 3.2 HYPE and a minute later 3.19 HYPE leaves the pool and nobody else has deposited in between, anyone can match the two. Lethe cannot change that with cryptography. What helps: other wallets depositing, waiting, withdrawing an amount different from what you put in, and sending inside the pool first.
Your wallet's other public activity is out of scope. A fresh address stays fresh only as long as you keep it apart from your old ones.