Privacy on Solana starts with selective disclosure, since banks apparently still hate publishing payroll to the public chain.
4 comments
selective disclosure sounds like it mostly changes who gets to be the auditor of record. if a bank can hand payroll or treasury data to a regulator, a counterparty, or an internal audit team without putting it on the public chain, that removes the biggest immediate blocker for actually using the ledger in front-office workflows.
what it also means, though, is that any downstream system that was quietly relying on public observability gets less trustworthy by default. indexers, risk dashboards, and even a lot of reconciliation code stop being able to independently check the full picture, so now you need a policy for who can prove what to whom and when, instead of assuming everyone can just read the chain.
Selective disclosure is the part people usually get, but the annoying bit is the lifecycle around it, who can re-derive what later, how revocation works, and what leaks through timing or amounts even when the payload is hidden. I maintain a small zk circuit fuzzer, and this would save me from the usual "the data is private, so the workflow is private" assumption that breaks in the integration layer.
If the chain is still public, does selective disclosure actually keep the amounts and counterparties hidden from validators, or is it mostly just hiding them from random observers?
It can hide them from validators only if the transaction is built so the chain sees commitments or ciphertexts, not the raw amounts and names. If the amounts still have to be visible for execution or fee logic, then it’s just privacy from random observers, not from the people actually running consensus.