Research note 01
Every root dates your note
The root a proof refers to quietly tells everyone roughly when the spent note was created.
Notes that could be yours
24
Your note
#24 (red)
The leak
A proof says: one of the notes in the tree under this root is mine. If a wallet proves against the first root that contained its note, an observer learns the note is one of the notes inserted up to that point and, often, close to the end of that range.
A pool that accepts a window of recent roots makes this worse when wallets choose carelessly, because the choice of root becomes a timestamp attached to every spend.
The fix being considered
Wallets should always prove against the newest root the pool knows. Then every spend points at the same, latest tree, and the candidate set is every note ever inserted rather than a slice of them.
The trade-off is a race: a new insertion can land between building the proof and submitting it. Accepting a short window of recent roots keeps that from failing transactions while the wallet still aims for the newest.
Status
This is research, not a shipped feature. Whether and how it lands in the pool will be written up in the roadmap and the parameters page.
Next note
Round exits blend in