Tornado Cash pools use cryptography to break obscure the link between sending and receiving wallets. When a user sends funds to a pool, they are given a unique piece of information called a proof-of-deposit. They can then use this proof-of-deposit to withdraw their funds from the pool into a different wallet, with out the pool revealing which wallet made the initial deposit.