Shielded Pool
What Is a Shielded Pool?
A shielded pool is a privacy layer built into certain blockchain protocols that conceals the details of transactions occurring within it.
On most public blockchains, every transaction is visible to anyone with a block explorer, with the sender, recipient, and amount recorded openly on-chain. A shielded pool changes this by using cryptographic techniques, including zero-knowledge proofs, to confirm that transactions are valid without revealing the underlying details.
Zcash was among the first major public blockchains to implement shielded pools, introducing the concept at launch in 2016. The network maintains two types of addresses: transparent addresses, which behave similarly to Bitcoin in that transaction details are publicly visible, and shielded addresses, where sender, recipient, and amount are concealed. Zcash is designed to provide privacy mainly in the case where users transact within the shielded pool, which hides the sender, recipient, and value being sent.
Crucially, moving funds between a transparent address and a shielded address reveals partial information. The entry or exit point remains visible even if the internal transfer does not.
How Does a Shielded Pool Work?
When a user deposits funds into a shielded pool, their assets are represented as encrypted notes rather than visible balances. Each note records an amount and an owner, but that information is cryptographically sealed.
To spend a note, the owner produces a proof demonstrating they have the right to do so, without revealing which note they are spending or how much it contains. A nullifier is recorded on-chain to prevent the same note from being spent twice, but it cannot be linked back to the original deposit without the owner’s private key.
This commitment and nullifier model means the pool can verify the integrity of every transaction without exposing its contents. The network confirms that no funds were created or destroyed, without knowing who sent what to whom.