Privacy Pools vs. Recreating Wallets: Which Breaks Address Links Better?

 / 
2

"Opening a new wallet" and "using a privacy pool" break address links in very different ways. Simply put: recreating a wallet can cut future links, but it cannot erase your old address's history; a privacy pool can technically cut on-chain visible links between the past and the future.

To understand which one fits you better, first see what actually exposes "address links."

Recreating a wallet: cuts future links, but old history remains

After you switch to a new wallet address, there is no on-chain family relationship between the new and old address—that is true. But the problem is: what the old address did will not disappear.

A new wallet usually gets linked through the act of moving funds. For example, if you directly send assets from the old address to the new address, the transfer record stays on-chain forever, and the relationship between the two addresses is fixed. Chain analysis tools (such as Nansen) use heuristic clustering algorithms to judge address ownership. Features like the same funding source, shared signers, or the same centralized exchange (CEX) withdrawal address can tag two addresses as "linked."

In other words, if you just change wallets but the transfer leaves traces, outside observers can still follow the fund flow and history to trace your new identity.

Privacy pool: cuts visible on-chain links

The core logic of a privacy pool is to break the visible on-chain connection between deposits and withdrawals. Users deposit ETH or ERC20 tokens, and later can withdraw to another address. On-chain observers cannot know which deposit a withdrawal belongs to.

This process is based on zero-knowledge proofs (ZKP). A privacy pool has a state tree that stores all deposit commitments, plus an association set tree that stores compliant deposit labels approved by an association set provider (ASP). When withdrawing, the Groth16 proof needs to prove two things: first, you know an unspent deposit commitment; second, that deposit belongs to the ASP-approved compliance set. After verification, funds are sent to the specified withdrawal address. On-chain, only the withdrawal action is recorded. There is no direct on-chain link between the deposit address and the withdrawal address.

From the outside, a privacy pool withdrawal can hide the source of funds. But there is an important condition: the deposit itself is public, so outside observers know "someone put money into the pool," but they do not know where that money was finally withdrawn.

Comparison: different focus in breaking links

DimensionRecreate walletUse privacy pool
Breaking "old address → new address" on-chain link❌ Transfers leave traces✅ Deposit and withdrawal have no on-chain link
Protecting historical anonymity of existing assets❌ Old address history stays✅ Source of funds can be hidden
Blocking chain analysis tools from tracing❌ Fund flow exposes relationships✅ Greatly increases tracing difficulty
ComplexityLowMedium (needs proof generation, wait for ASP approval)

Which should you choose?

If the assets you hold come from an address that is already exposed (for example, an exchange address where you did KYC), just making a new wallet cannot cut the historical link of those funds—outside observers can see funds flow out of the old address and into the new one. In this case, a privacy pool gives stronger isolation.

If your main goal is to avoid leaving linkable traces in future operations, recreating a wallet is enough, especially if you use a different address each time and spread out operation times. Privacy pools are better for "anonymizing existing assets," not as a tool for daily operations.

How to verify

After using a privacy pool withdrawal, check the withdrawal transaction in a blockchain explorer. If you cannot find a direct match between the deposit transaction and the withdrawal transaction (for example, the two transactions coming from or going to the same address), then the privacy pool's link-breaking effect is working.