Ethereum-Mitbegründer Vitalik Buterin veröffentlichte den ersten Teil einer tiefgehenden technischen Serie über Obfuskation, die sie als die stärkste Idee in der Kryptographie bezeichnet und dabei deutlich macht, dass sie bei weitem noch nicht einsatzbereit ist.
Obfuskation wandelt ein Programm in eine verschlüsselte Version um, die weiterhin ausgeführt wird und dieselben Ausgaben liefert, während sie verbirgt, wie es intern funktioniert. Das formale Ziel, genannt Ununterscheidbarkeitsobfuskation (iO), bedeutet, dass niemand unterscheiden kann, welches von zwei verschlüsselten Programmen, die dieselbe Aufgabe erfüllen, welches ist. Buterins Kurzform lautet, dass der Code und nicht die Daten verborgen werden.
Der Grund, warum die Kryptowelt darauf Wert legt, liegt darin, dass er Verschleierung als nahezu universellen „vertrauenslosen vertrauenswürdigen Dritten“ darstellt, einen Ersatz für den neutralen Mittelsmann, den viele Systeme voraussetzen, dem jedoch niemand tatsächlich vertrauen möchte.
Die Blockchain-Technologie könnte es ermöglichen, beispielsweise private, kollusionsresistente Abstimmungen durchzuführen, bei denen fast kein Vertrauen in ein Komitee gesetzt werden muss. Das Konzept benötigt eine Blockchain aufgrund einer spezifischen Einschränkung – ein verschleierter Programmcode kann nicht verhindern, dass er kopiert wird, weshalb er zustandsbehaftete Dinge wie Geld oder Kontostände nicht sicher verwalten kann. Die Nachverfolgung dieses Zustands ist genau das, was eine Blockchain leistet.
Der Aufbau sicherer Verschleierung hat sich als äußerst schwierig erwiesen. Eine ideale Version wurde bereits 2001 als unmöglich nachgewiesen, woraufhin sich die Forscher stattdessen dem schwächeren iO-Ziel zuwandten – ein ungefähr zwei Jahrzehnte währender Aufwand, der von zahlreichen gescheiterten Versuchen geprägt war. Die jüngste positive Nachricht lautet, dass iO nun unter vernünftigen Sicherheitsannahmen realisierbar ist.
Der Nachteil besteht jedoch darin, dass die Laufzeiten in Buterins Worten „galaktisch“ sind – auf dem Papier effizient, aber in der Praxis absurd langsam.
Buterin verglich den Moment mit der Situation von SNARKs, den Zero-Knowledge-Beweisen, die heute im Zentrum der Skalierung von Ethereum stehen, um das Jahr 2010, bevor jahrelange Optimierungen sie von einer Kuriosität zu einer funktionierenden Infrastruktur machten. Die Vermutung ist, dass Obfuskation denselben Weg von einem theoretischen Durchbruch zu einem nutzbaren Werkzeug einschlagen könnte, selbst wenn eine einzelne Ausführung heute unendlich teuer wäre.
Privacy-Coins wie Monero (XMR) verbergen bereits Informationen auf einer Live-Blockchain, warum behandelt Buterin dies also als ungelöst? Weil sie unterschiedliche Dinge verbergen. Monero verschleiert Transaktionsdaten, wie zum Beispiel wer wem und wie viel bezahlt hat, durch Ringsignaturen, Stealth-Adressen und vertrauliche Beträge.
Obfuskation im Sinne Buterins verbirgt die Logik des Programms, den Code selbst, nicht jedoch die durch ihn fließenden Daten. Wie er es ausdrückt, verbirgt iO den Code, nicht die Daten. Monero bietet seit über einem Jahrzehnt Transaktionsprivatsphäre, doch Programm-Obfuskation wurde bisher nirgendwo produktiv eingesetzt, und diese Lücke zu schließen, ist das Thema seines Beitrags.