Anonyme Coins III – Zcash

coin-trainer-2018-06-anonyme-coins-zcash
Anonyme Coins – Zcash

Wie ihr in unserer ersten Ausgabe (Monero) dieser Reihe nachvollziehen konntet, eignet sich der Bitcoin aktuell nur bedingt dazu, Transaktionen wirklich anonym zu tätigen. Doch wie lösen privacy Coins diese Situation? Dazu gibt es verschiedene Ansätze, aus welchem Grund es mittlerweile mehrere Kryptowährungen gibt, die eine absolute Anonymität versprechen. Wir legen in dieser Reihe den Fokus ausschließlich auf die Anonymisierungs-Funktionen der Coins. Heute stellen wir euch Zcash vor:

Zcash

Zcash
Zcash

Mit Zcash befindet sich eine weitere Kryptowährung unter den Reihen derer Coins, die eine absolute Anonymität versprechen. Funktionieren soll das mit einer Technologie, die sich zk-SNARK nennt (zero-knowledge Succinct Non-Interactive Argument of Knowledge), was auf deutsch etwas sperrig und zusammengefasst in Stichpunkten so viel bedeutet wie: Null-Wissen, wenig Speicherplatz, keine Interaktion notwendig. Doch was ihr damit anfangen könnt, erläutern wir euch nun etwas verständlicher:

Interessant ist bei Zcash die Wahlmöglichkeit, zwischen einer transparenten Transaktion und einer abgeschirmten Transaktion:

Zcash Transparente/Abgeschirmte Transaktionen
Zcash Transparente/Abgeschirmte Transaktionen

Eine Transparente Transaktion ist auf der Blockchain genauso einsehbar wie im Bitcoin-Netzwerk. Es gibt aber natürlich Transaktionen, die nicht jeder öffentlich und transparent nachvollziehen soll. Dazu sind mit Zcash shielded (abgeschirmte) Transaktionen möglich. Diese funktionieren mit sk-SNARKs.

Basics

Um das Thema besser zu verstehen ist es hilfreich zu wissen, dass es in diesem System zwei Parteien gibt: Den Sender (Prüfer) einer Transaktion und die Blockchain (Verifizierer). Damit ist also grundsätzlich auf der Blockchain transparent nachvollziehbar, wenn ein Sender eine Transaktion durchgeführt hat. Und diese Information wird bei Zcash mit zero-knowledge (zn) verdeckt.

zero-knowledge (zn)

Hinter zn steckt eine programmierte Konstruktion, die eine Art zweite Ebene in die Blockchain einbaut. Mit dieser zweiten Ebene kann man transparent nachweisen, dass man im Besitz bestimmter Informationen (eine Transaktion soll durchgeführt werden) ist, die Information selbst (Wer erhält von wem wie viele Coins?) aber behält man weiterhin für sich geheim. Doch wie kann sich dann der Verifizierer (Blockchain) darauf verlassen, dass der Sender (Prüfer) diese Information wirklich hat?

Beispielsweise könnte das mit einem Hashwert abgebildet werden: Der Sender weist dem Verifizierer damit nach, dass ein ganz bestimmter Wert (Hashwert, der sich mathematisch aus der eigentlichen Information ergibt) vorliegt und die Information selbst, bleibt weiterhin geheim. Damit kann eine Transaktion also auf der Blockchain festgehalten werden, die unveränderlich ist, aber Wer (Sender), Wieviel (Betrag) an Wen (Empfänger) gesendet hat, bleibt im Verborgenen. Das schützt die Privatsphäre der Nutzer im Zcash Netzwerks und verspricht gleichzeitig eine hohe Geschwindigkeit bei der Durchführung von Transaktionen.

Dies wird dadurch ermöglicht, weil der bloße Nachweis (Hashwert) wenig Speicherplatz benötigt. Selbst und vor allem dann, wenn es sich um äußerst umfangreiche Informationen, bis hin zu komplexen Programmen handelt.

Außerdem ist mit diesem Protokoll keine (weitere) wechselseitige Interaktion zwischen Prüfer und Verifizierer einer Transaktion notwendig. Es ist ausreichend, dass der Prüfer dem Verifizierer die Nachricht einmalig übermittelt. In den Anfängen dieses Protokolls war das noch der Fall, doch dieser wechselseitige Informationsaustausch, der zudem aufwendig und zeitintensiv sein kann, ist bei Zcash nun nicht mehr erforderlich.

Gibt es Knackpunkte?

Das oben beschriebene Konstrukt hat tatsächlich eine Schwachstelle: Wenn man einen Weg findet, wie die verschlüsselten Parameter für die Informationsweitergabe zwischen Prüfer und Verifizierer lauten, dann könnte man tatsächlich eigene Zcash-Coins schaffen. Weil bei einer Transaktion für einen Verifizierer die Vorgaben eingehalten werden und plausibel erscheinen. Dieser merkt also nicht, dass es sich nicht um echte Zcash-Coins handelt.

Aktuell ist der einzig bekannte Weg, das Zcash-Konstrukt nachzubauen, der, das man die ursprünglichen Parameter von Zcash kennt, die die mathematische Konstellation zwischen dem Prüfer und dem Verzfizierer abbilden. Dazu müsste man die damals geheimen und zufällig generierten Parameter kennen. Dies hat Zcash allerdings verhindert, in dem es diese geheimen Parameter in einer aufwändigen, Mehrparteien-Zeremonie generiert hat. Daher ist davon auszugehen, dass dieses Konstrukt manipulationssicher ist.

Das zk-SNARK Modell von Zcash wird regelmäßig hervorgehoben, wenn es um die Privatsphäre von Nutzern geht. Auch weitere Coins wie Ethereum haben bereits darüber nachgedacht, diese Technologie in ihr Protokoll mitaufzunehmen. Die oben beschriebenen Technologien sind teilweise sehr kompliziert und tiefgreifend. Wenn ihr Unterstützung bei der Einrichtung eines Wallets benötigt, helfen wir euch gerne mit unseren Online-Trainings.