Railgun is a protocol that enables users to conduct anonymous transactions on Ethereum by using zero-knowledge proofs and liquidity pools to hide details about the sender, recipient and transaction amount. However, unlike most so-called “mixers,” Railgun has implemented a system called “Private Proofs of Innocence” designed to block illicit funds from entering the privacy pool. When deposited into Railgun, tokens are automatically screened against a list of known malicious addresses.