Der Moment der Wahrheit: Sanktionen gegen Privacy-DAO Tornado Cash

Das US-Finanzministerium verhängt Sanktionen gegen den Smart Contract “Tornado Cash” auf Ethereum. Das Ökosystem reagiert entrüstet, aber nicht erstaunt, und einflussreiche Unternehmen ordnen sich unter. Für den Smart Contract könnte das die Feuertaufe sein.
Alles passiert zum ersten Mal. Das US-Finanzministerium erklärt heute, dass es den Mixer “Tornado Cash” auf die Sanktionsliste setzt, da er virtuelle Währungen Wert von mehr sieben Milliarden Dollar gewaschen hat.
Zum Beispiel: 7,8 Millionen Dollar aus dem Nomad-Hack vorige Woche, 96 Dollar aus dem Hack der Harmony Bridge im Juni, 455 Millionen Dollar von der Lazarus-Gruppe, einer Hacker-Gruppe im Dienste der Regierung Nordkoreas.
Soweit, so klar. Kriminelle benutzen Mixer, und die US-Regierung verfolgt sie. Hat sie die Mittel, sie dingfest zu machen, greift sie zu, wenn nicht, verhängt sie Sanktionen. Keine Überraschung an dieser Stelle.
Interessant wird es, wenn wir Tornado Cash anschauen. Denn das ist kein Dienstleister, wie ein Mixer, sondern ein Smart Contract. Tornado Cash selbst existiert nicht im Raum. Es bildet eine Dezentrale Autonome Organisation (DAO).
Die Mutter aller DeFis
Wenn man die ethische Frage ausklammert, ist es traurig, dass Tornado Cash womöglich sterben muss. Denn technisch ist die DAO faszinierend:
Auf der einen Seite gibt es Liquiditätspools: Man zahlt bestimmte Beträge in die DAO ein, und holt sie danach mit einem anderen Account wieder heraus. Bei geschickter Stückelung bleibt absolut keine Spur auf der Blockchain übrig. Tornado Cash funktioniert in dieser Hinsicht wie ein klassischer Mixer.
Bei einem klassischen Mixer wird die Liquidität allerdings von einer zentralen Partei gestellt. Tornado hat keine zentrale Partei; daher geben an ihrer statt die Mitglieder der DAO Ether, Stablecoins und Token in Liquiditätspools und erhalten dafür Gebühren. Sie betreiben “Liquiditätsmining.” Im Grunde ist Tornado Cash die Mutter aller DeFis.
Aber ein Problem bleibt: Woher weiß die DAO, dass man etwas eingezahlt hat? Wie kann man dies beweisen, ohne die ursprüngliche Adresse zu enthüllen? Bei einem klassischen Mixer würde man verschlüsselte Nachrichten austauschen. Onchain geht dies nicht.
Hier kommen Zero-Knowledge-Proofs ins Spiel: Sie erlauben, zu beweisen, dass man etwas weiß – etwa eine Signatur -, ohne diese zu enthüllen. Es übersteigt meinen kryptographischen Horizont bei weitem, aber wie es aussieht, funktioniert es zuverlässig: Man beweist, dass man die Kontrolle über eine der Adressen hat, die Geld eingezahlt hat, ohne zu enthüllen, welche.
Bis Mitte 2020 kontrollierten die Entwickler die Liquiditätspools durch die Admin-Adressen. Dann haben sie im Smart Contracts die Admin Adressen auf 0x000000000000000000000000000000000000 gesetzt – die klassische Burn-Adresse bei Ethereum.
Die Smart Contracts sind damit nachweislich unveränderbar und unaufhaltbar. Keiner hat die Kontrolle. Solange die Ethereum-Blockchain steht, ist Tornado Cash unaufhaltbar wie ein Gewitter.
Die Sanktionen
Die US-Regierung scheint anzuerkennen, dass Tornado Cash nur im Cyberspace existiert. Es gibt niemanden, den sie verhaften, keinen Server, den sie abschalten, keinen Smart Contract, den sie löschen kann. Tornado Cash ist unerreichbar.
Da ein Mixer für virtuelle Währungen aber eine “Bedrohung der Nationalen Sicherheit” darstellt, muss die Regierung etwas tun: Sie verhängt Sanktionen, wie bei ausländischen Kriminellen. Das Finanzministerium setzt eine Reihe von Ethereum-Adressen auf eine Blacklist, unter anderem die Adressen aller Liquiditätspools. Dies hat die folgenden Konsequenzen:
- Assets von Tornado Cash, die sich in den USA oder in Händen von US-Amerikaner befinden, werden blockiert und müssen gemeldet werden.
- Unternehmen, die zu 50 Prozent im Besitz von blockierten Individuen oder Entitäten liegen, sind ebenfalls zu blockieren.
- Es ist US-Amerikanern verboten, mit blockierten Entitäten zu interagieren.
Kurzum: Niemand, der in den USA lebt, US-Bürger ist oder mit US-Bürgern Geschäfte treibrt, soll Geld an Tornado Cash überweisen oder von der DAO empfangen, und wenn er das in der Vergangenheit gemacht hat, hat er möglicherweise ein Problem.
Es ist verboten, sich Geld auszahlen zu lassen, das in einem Liquiditätspool liegt. Vermutlich ist es sogar verboten, Geld zu empfangen, das sich jemand aus einem solchen Pool ausgezahlt hat.
Die Einschläge
Offenbar hat sich das Finanzministerium im Vorfeld mit vielen großen Unternehmen in den USA abgestimmt: Am selben Tag, an dem es die Meldung herausgab, gingen die Lichter von Tornado Cash aus.
Zunächst ging die Webseite offline, vermutlich, weil der Provider sie geblockt hat. Github legte nach und blockierte das Software-Repository von Tornado.
An sich sollte das kein Problem sein. Genau dafür wurde Tornado ja gemacht: als unaufhaltbarer Smart Contract, der auch ohne Webseite funktioniert. Man könnte es eine Feuerprobe nennen, und derzeit sieht es nicht aus, als würde Tornado sie bestehen.
Weil ein Ethereum-Node ein ziemliches Monster ist, benutzen die meisten User indirekt Nodes von Infura oder Alchemy über ihre Wallet. Diese beiden Unternehmen haben heute begonnen, RPC-Requests an Tornado zu blocken. Man kann mit den Wallets nicht ohne weiteres mit den Smart Contracts von Tornado interagieren.
Freilich: Tornado Cash lebt. Der Smart Contract ist noch immer da. Man kann die Blockade umgehen, weil sie nur im Frontend steckt. Aber wer macht das schon? Kommerziell gesehen könnte bereits das der Todesstoß gewesen sein.
Doch es geht noch weiter: Center, die Herausgeberin des USDC-Stablecoins, setzt prompt alle mit Tornado verbundenen Adressen auf eine Blacklist im Smart Contract des Tokens. 75.000 Dollar sind eingefroren, nicht off-, sondern onchain: mit der Unaufhaltbarkeit des Smart Contract. Blockchains können ein scharfes Schwert für Regulierer sein, und Center ist gerne bereit, dieses zu halten.
Wie es weitergeht
Indem es eine DAO sanktioniert, betritt das US-Finanzministerium Neuland. Der Smart Contract wird zwar seinem Versprechen gerecht, dass man ihn nicht abschalten kann – aber die Sanktionen treffen schwer.
Gerade bei Ethereum ist dies tragisch, weil Privacy bitter nötig wäre. Anders als bei Bitcoin ist es bei Ethereum üblich, eine Adresse immer wieder zu verwenden und sich mit ihr bei DAPPs zu identifizieren. Es mag sein, dass Tornado Cash von Kriminellen benutzt wurde – sie sollte aber von jedermann benutzt werden.
Die Sanktionen bestätigen diejenigen, die sagen, echte Privatsphäre könne nicht optional sein. Wenn alle Transaktionen privat sind – wie bei Monero – haben Sanktionen und Blacklists keinen Anhaltspunkt. “Privacy as a Service” dagegen, ob durch einen Mixer oder Smart Contract, macht es möglich, den Service zu sanktionieren.
Wie wird es weitergehen? Vielleicht wird sich Tornado Cash erholen. Der Smart Contract läuft ja weiter. Vielleicht werden sich Wallets wegen des Vorfalls stärker dezentralisieren, vielleicht wird die Blockchain mit dem Merge handlicher, vielleicht verbessern Wallets ihren Datenschutz, vielleicht bringen sich anonyme Rollups und Sidechains ins Spiel. Das Katz- und Mausspiel ist noch lange nicht zu Ende.
Allerdings wissen wir jetzt eines: Smart Contracts und DAOs müssen damit leben, zum potenziellen Objekt von Finanzsanktionen zu werden. Der Welpenschutz ist vorbei.
Center ist also Herausgeber von USDC? Ist ja zum Kringeln!
Warum? Ist mir da ein Fehler unterlaufen?
Ein ziemlich harter Einschnitt, das Protokoll habe ich immer gelobt, auch wenn ich optionale Privatsphäre nie gut gefunden habe.
Auch die Accounts etlicher Entwickler, die Code zum Repository beigesteuert haben, wurden blockiert, inklusive ihrer eigenen Repositories, die nichts mit Tornado zu tun hatten.
https://twitter.com/bantg/status/1556721709931175937
Das ist eine erschreckende Zentralisierung, die mir von Ethereum in solchem Ausmaß gar nicht bewusst war und natürlich eine Angriffsfläche bietet, die nach diesem Präzedenzfall mit Sicherheit auch andere Behörden auf den Plan rufen wird.
Es gibt auch noch einen entscheidenden Unterschied: Während sowohl Tornado Cash wie auch bei Bitcoins CoinJoins über Samourai / Whirlpool / Wasabi alle Teilnehmer proaktiv in einen Pool einzahlen und die Coins verbunden und wieder gestückelt werden, wird bei einer Ring Signatur immer genau 1 Key Image ausgegeben, man kann nur nicht herausfinden, wer es signiert hat, bei mehreren Inputs wird für jeden eine separate Ring Signatur gebildet, man kommt mit fremden Coins also nie in Berührung. Die Decoys für die Ring Signatur haben auch keinen Einfluss, darauf, dass sie in dieser auftauchen, bei Whirlpool müssen sie aktiv an jeder Runde eines CoinJoins teilnehmen und vermischen damit ihre Coins jeweils mit allen Teilnehmern, bei Tornado zahlt man aktiv in den Pool ein. Whirlpool erfordert auch einen aktiven Koordinator dafür, der wahrscheinlich auch lokalisiert und abgeschaltet werden könnte (was keinen Verlust an Coins zur Folge hätte, aber weitere CoinJoin Runden verhindern würde.
Interessant dürfte hier Zcash sein, denn dort geht man auch proaktiv in einen der Shielded Pools (jedes größere Upgrade erforderte, dass man den bisherigen Shielded Pool verlassen musste und ggf. in den neuen Shielded Pool eintreten. Technisch also ähnlich wie Tornado Cash, wobei frische Coins mindestens einmal im Shielded Pool sein mussten, um transparent ausgegeben werden zu können, das Protokoll zwingt einen also gewissermaßen und würde man Shielded komplett verbieten, wäre Zcash gar nicht nutzbar.
Das heißt nicht, dass ein Bann von Coins, die default Privacy bieten unmöglich wäre, aber er ist viel schwieriger vermittelbar, denn wie definiert man “zu viel” Privatsphäre? Auch die zunehmenden dezentralen Swap-Möglichkeiten mit Bitcoin und Ethereum bieten hier weniger Angriffsfläche.
Das nimmt jetzt extreme Züge an, die ich bis vor Kurzem nicht für möglich gehalten hätte, denn der mutmaßliche Entwickler wurde in der Niederlande verhaftet:
https://www.fiod.nl/arrest-of-suspected-developer-of-tornado-cash/
Welch gravierende Konsequenzen dieses Verfahren auf die gesamte DeFi Landschaft haben könnte, kann sich jeder selbst ausmalen.
Ja, grade auch gelesen. Heftig.
Konsequenzen: Anonym entwickeln?
Wahrscheinlich ist die komplett anonyme Entwicklung tatsächlich die einzig sichere Möglichkeit, wobei bei DeFi Projekten, die sich (durchaus verdient) über Gebühren finanzieren, diese immer irgendwo auflaufen müssen und da kommt man nicht um Bulletproof-Privacy umher, wenn man nicht doch identifiziert werden möchte.
Dass Open Source Entwickler, die niemals mit User-Interaktionen oder gar Guthaben in Berührung kommen, mittlerweile eine OpSec betreiben müssen wie DNM Betreiber ist echt ein harter Einschnitt.
Nach dieser Definition könnten sowohl schnöde dezentrale Börsen als auch Atomic Swaps, letztere sind aktuell noch ohne Entwicklergebühren, da sie idR. durch Spenden finanziert wurden, aber ich könnte mir durchaus einen Meeting Point vorstellen, der sich auch durch Handelsgebühren finanziert. Aber es ist auch nur meine persönliche Vermutung, dass die Gebühren, die jeweils an die Entwickler geflossen sind, ausschlaggebend für eine derart harte Sanktionierung waren.
Der Krieg gegen Privatsphäre ist nicht neu, man kennt ihn bereits von z.B. PGP, als sichere Verschlüsselung unter ein militärisches Exportverbot gefallen ist. Am Ende hat die EFF erwirkt, dass Code zumindest bis dato als Free Speech galt.
Wenn ich jemanden höre, der nach mehr Regulierung schreit, könnte ich ihn im Viereck herumschlagen.
Die sollen alle mal schön bei den “etablierten” Finanzprodukten bleiben und sich dort gegenseitig die Augen und sonstwas ausstechen, und von meinem dezentralen, (zensur)freien Geld bloß fern bleiben.
Aktuell trifft übrigens das ein, wovor ich seit Jahren (auch hier) warne: Ein transparenter Ledger eignet sich nicht als Geldsystem und wird sich nie als solches etablieren können.
https://twitter.com/sassal0x/status/1558326040920936448
Irgendjemand, möglicherweise ein Aktivist oder Troll hat in großem Ausmaß Tornado Cash Transaktionen an öffentlich bekannte Adressen verschickt, darunter Promis und sogar Brian Armstrong von Coinbase. Letzterer wird seine Adressen alleine Über API-Zugänge zu Chainanalyse Firmen auf die Whitelist setzen lassen, aber der durchschnittliche User kann das nicht und bekommt möglicherweise noch sehr viel Stress, obwohl er nichts illegales gemacht hat, noch nichtmal mit dem fraglichen Contract selbst interagiert hat.
Das erinnert mich an die Hausdurchsuchung, die ich über mich ergehen lassen musste, weil jemand versucht hat, wenige hundert Euro an meine Bankverbindung zu überweisen aber die gefälschte Unterschrift aufgeflogen ist und ich ohne mein Zutun alleine aufgrund der Tatsache, dass ich Empfänger der Transaktion sein sollte, plötzlich zum Verdächtigten wurde inklusive Kontenkündigung und irgendwann Hausdurchsuchung. Komplett an den Haaren herbeigezogen wurde das Verfahren nach etwa zwei Jahren eingestellt, aber wie viel Aufwand betrieben wurde, ist unglaublich. Und wie viel Stress für mich und mein Umfeld…
Wer mir jetzt noch behauptet, ein transparenter Ledger ist vorteilhaft für den durchschnittlichen Menschen und optionale Privatsphäre vollkommen ausreichend ist, hat den Schuss immer noch nicht verstanden. Bitcoin ist aktuell in einem NgU Nachtwandel, der aufhören muss, sonst verkommt er komplett zu einem reinen Spekulationsobjekt, das man dann am besten auf der Bank (Börse) lässt, damit ja kein schlechter Taint darauf kommt. Für mich wäre das die komplette Failure des Projekts Bitcoin.