Zerocoin ist ein kryptografisches Protokoll, das 2013 vom Johns-Hopkins-Forscher Matthew Green als Erweiterung für Bitcoin vorgeschlagen wurde und Nutzern erlauben sollte, die öffentliche Verknüpfung zwischen gesendeten und empfangenen Coins aufzuheben, ohne auf einen zentralisierten Mixing-Dienst angewiesen zu sein.
Das Protokoll funktioniert in zwei Schritten. Zunächst "prägt" ein Nutzer einen Zerocoin, indem er einen festen Betrag der Basiswährung sperrt und eine verborgene Seriennummer in einem gemeinsamen kryptografischen Akkumulator hinterlegt. Später "gibt" der Nutzer den Zerocoin aus, indem er mittels eines Zero-Knowledge-Proofs beweist, dass er Eigentümer einer gültigen, noch nicht ausgegebenen Commitment in diesem Akkumulator ist, ohne zu verraten, welche. Das Netzwerk prüft den Beweis und gibt frische Coins frei, ohne On-Chain-Spur zur ursprünglichen Einzahlung.
Da die zugrunde liegende Mathematik, basierend auf der Strong-RSA-Annahme, die Beweiserstellung langsam machte und Transaktionsbeträge weiterhin sichtbar blieben, war Zerocoin von Anfang an als Zwischenschritt gedacht und nicht als fertiges System. Zcoin (später umbenannt in Firo) startete 2016 als erste Coin, die auf Zerocoin aufbaute, und PIVX fügte 2018 einen auf Zerocoin basierenden Privacy-Modus hinzu. Beide Projekte gaben das ursprüngliche Protokoll später auf, nachdem ein Exploit 2017 Angreifern erlaubte, gefälschte Coins zu minten, und wechselten zu neueren Designs: Firo entwickelte sich über Sigma und Lelantus zu Lelantus Spark, während PIVX das auf zk-SNARKs basierende SHIELD-Protokoll einführte.
Die Kernidee von Zerocoin, den Besitz eines Coins zu beweisen, ohne die Identität preiszugeben, bleibt grundlegend dafür, wie moderne Privacy Coins heute On-Chain-Anonymität erreichen.