Skip to main content

Community-Beitrag: Privacy-Protokolle in Blockchains

Am von

Der folgende Artikel ist ein Community-Beitrag von “Alkan“. Falls auch DU Lust hast, einen Beitrag, den du selbst verfasst hast und für wichtig erachtest auf blocktrainer.de zu veröffentlichen, dann schreib einfach eine kurze Mail an rene@blocktrainer.de .

Masked Guy

Privatsphäre ist ein Thema, welches schon lange Kontroversen ausgelöst hat. Einerseits ist die Privatsphäre als Menschenrecht im Gesetz verankert, aber andererseits gibt es immer wieder Fälle, bei denen in die Privatsphäre von Menschen eingegriffen wird. Hierfür werde meist innerpolitische Gründe angegeben, wie z.B. der Schutz gegen Terrorismus. Auf der anderen Seite befürchten Autoren wie Aldous Huxley, George Orwell und Cypherpunks wie Timothy C. May und Eric Hughes einen zunehmenden Eingriff in die Privatsphäre von Menschen und malen sich Dystopien aus. So schrieb Timothy C. May 1988 noch vor dem World Wide Web folgendes:

„The State will of course try to slow or halt the spread of this [computer] technology, citing national security concerns, use of the technology by drug dealers and tax evaders, and fears of societal disintegration. Many of these concerns will be valid; crypto anarchy will allow national secrets to be trade freely and will allow illicit and stolen materials to be traded.” [1]

Gründe, dass Computertechnologie für Drogenhandel oder Geldwäsche genutzt werden könnte, haben sich auch auf Blockchain übertragen und die Szene muss sich mit diesen Vorwürfen auseinandersetzen. Dabei können generell Distributed Ledger Technologien als eine logische Entwicklung der doppelten Buchführung angesehen werden, nur dass man es auch als die ewige bzw. unveränderliche Buchführung bezeichnen kann. Das heißt, eine Transaktion im Bitcoin-Netzwerk kann ewig zurückverfolgt werden und es entsteht dabei ein Beziehungsgeflecht von Bitcoin-Adressen. Der Zugang zu Bitcoin erfolgt für den größten Anteil der Nutzer über eine Börse, in der man für Fiat Geld Bitcoin erwerben kann. Diese Börsen unterliegen strikten Regularien und die Benutzer müssen sich bei größeren Beträgen immer mit einem Dokument identifizieren, um KYC/AML-Anforderungen zu entsprechen. Im Grunde genommen führen bereits diese Eigenschaften von Bitcoin dazu, dass Bitcoin für illegale Aktivitäten überhaupt nicht geschaffen ist. Auch wenn man selbst niemals irgendwo KYC/AML-Daten hinterlegt hat, führt eine Bitcoin Transaktion mit einer Partei, die ihre Identität kennt, dazu, dass mehr Informationen über Sie herausgefunden werden können, indem man analysiert, wo dieser Kontakt entstanden ist, wie die Bitcoin-Adressen miteinander ausgetauscht worden sind um im Falle einer Lieferung einer physischen Ware, kann sogar die Adresse des Empfängers der entsprechenden Bitcoin-Adresse zugeordnet werden. Entsprechend sollten digitale Währungen also eher im Interesse von Regierungen, Finanzmittelgebern und Ordnungsbehörden sein, da anders als bei gedrucktem Geld eine Blockchain-Analyse mit relativ wenig Aufwand zu deutlich mehr Transparenz führt.

Wenn diese Eigenschaften von Bitcoin und den meisten anderen Kryptowährungen für Transparenz sorgen und Korruption erschweren, warum gibt es dann noch Menschen, die sich für private Transaktionen einsetzen und diese sogar als ihr Recht sehen? Hier kann man wieder eine Analogie in die Fiat Welt herstellen, denn wenn ich auf Ebay eine Kamera kaufe und diese per Paypal oder Kreditkarte bezahle, dann weiß mein Gegenüber nicht, wie viel Geld ich auf diesem Konto besitze. Die Person erhält die Summe, auf die man sich vereinbart hat und zudem den Namen und die Adresse des Käufers. Wenn ich am Kiosk eine Zeitschrift kaufe, dann erhält der Kioskbesitzer nur das Allernötigste von mir und das ist das Geld und alles andere ist für diese Transaktion nicht erforderlich. Bei einer Bitcoin-Transaktion könnte die Person allerdings die Sender-Adresse einsehen und auch herausfinden, wie viel Bitcoin der Käufer besitzt. Man läuft bei Kryptowährungen quasi mit einer geöffneten Brieftasche rum und jede Person, der man einmal Geld gesendet hat, hat Informationen über die Finanzen des Gegenübers. Auch könnten andere Händler die Geschäfte der Konkurrenz analysieren und hier befinden wir uns lediglich auf dem Level von Transaktionen. Dies kann noch weitreichendere Konsequenzen bei vertraulichen Daten, wie zum Beispiel im Gesundheitswesen, haben. Das heißt, wenn bestimmte Sektoren wie der Finanzsektor und der Versicherungssektor überhaupt die Vorteile von Blockchain nutzen möchten, dann wäre dies nur möglich, wenn andere Teilnehmer im Netzwerk, die transferierten Informationen nicht auslesen können. Auch können die Verschlüsselung von Transaktionen, Daten und Nachrichten Whistleblowing begünstigen und Sicherheit und Handlungsspielraum für Unterdrückte bieten. Genau wie die Notrufsäulen an der Autobahn, werden viele Menschen höchstwahrscheinlich keinen Gebrauch davon machen müssen, aber allein die Möglichkeit, sich im Falle eines Notfalls auf dieses Instrument verlassen zu können, ist es Wert, es zu verbreiten. Dabei gibt es mittlerweile verschiedene Projekte, die an Privacy-Protokollen arbeiten bzw. diese in Kryptowährungen implementieren.

Heutzutage ist die Hauptschwierigkeit bei Privacy-Blockchains nicht die reine Verschlüsselung selbst, sondern der Kompromiss, den man mit Skalierbarkeit und Benutzerfreundlichkeit einhergeht. Hier spricht von häufig vom Privacy-Trilemma (Abb. 1), wovon man aktuell meist immer zwei dieser drei Punkte realisieren kann. Zum Beipiel ist das Ethereumnetzwerk zu einem gewissen Grad sehr benutzerfreundlich und wird auch in naher Zukunft skalierbar sein, jedoch sind die Transaktionen im Ethereumnetzwerk alles andere als privat.

Abb.1: Privacy-Trilemma
Quelle: Rodriguez, 2018 [2].

Gerade der Bereich Privacy erfährt aktuell viel Aufmerksamkeit innerhalb der Szene und verschiedene Projekte widmen sich diesem und es sind bereits zahlreiche Protokolle entstanden. Einiger dieser sind:

  • Mimblewimble: Wird häufig mit Projekten wie GRIN und BEAM assoziiert. Die Idee hinter Mimblewimble wurde 2016 von einem anonymen User, der gleich wieder verschwand, im IRC veröffentlicht. Die Idee ist, dass einzelne Transaktionen innerhalb eines Blocks zu einer großen Transaktion zusammengefügt werden, so dass es hinterher gar nicht mehr klar ist, welcher Sender welche Summe an welchen Empfänger gesendet hat. Allerdings hat im November 2019 Ivan Bogatty ein Problem bei dieser Vorgehensweise festgestellt. Undzwar ist bei Mimblewimble eine Privacy im Rahmen dieser großen Transaktion vorhanden, doch muss diese Transaktion erst einmal gebildet werden und Nodes könnten vorher das Netzwerk und alle Transaktionen, die zu diesem Block führen beobachten. Eine weitere Implementation, die zum Einsatz kommt, ist Dandelion. Bei Bitcoin wird eine Transaktion von einer Node an das Netzwerk verbreitet. Bei Dandelion wird dies so geändert, dass diese Transaktion eine zufällige Anzahl an Nodesprüngen erfährt, bevor es im Netzwerk verbreitet wird, so dass es nicht mehr zurückzuverfolgen ist, welche Node damit angefangen hat. Ivan Bogatty hat festgestellt, dass man mit relativ geringem finanziellem Aufwand zum jetzigen Zeitpunkt eine genügende Anzahl an Nodes im Netzwerk besitzen kann, so dass man mit großer Wahrscheinlichkeit die Transaktionen, die zu dieser großen Transaktion gebildet werden, beobachten und entschlüsseln kann. So empfiehlt dieser, Mimblewimble mit weiteren Privacy-Protokollen zu verbinden, um sich gegen solche Ausspähattacken zu schützen. [3]
  • Monero: Monero selbst ist kein Protokoll, sondern ein Projekt, dass verschiedene Protokolle implementiert, um eine möglichst hohe Privacy für Transaktionen zu erreichen. So setzt Monero unter anderem auf das CryptoNote-Protokoll (Ring Signatures) und funktioniert so, dass bei einer Transaktion nicht nur der eigentliche Absender, sondern auch andere potenzielle Absender diese Transaktion als Decoys signieren und der Absender und die Decoys zusammen bilden dann den sogenannten Ring und ermöglichen dadurch eine glaubhafte Bestreitbarkeit, dass man der Sender dieser Transaktion war. Desweiteren hat Monero Ring Confidential Transactions (RingCT) implementiert. Der Sinn dahinter ist, dass der Betrag, der von Alice an Bob verschickt wird, für andere nicht einsehbar ist. So würde Alice, wenn Sie 10 XMR besitzt und 5 XMR an Bob verschicken möchte, ihr gesamtes Guthaben als ein Input mit zwei Outputs verschicken, undzwar einmal die 5 XMR an Bob und einmal die 5 XMR an sich selbst. Das Monero Netzwerk muss diese Transaktion lediglich validieren können, ohne die Beträge selbst zu sehen und das ist mathematisch nachweisbar, wenn die Summe der Inputs der Summe der Outputs entspricht, wobei die Summen größer als 0 sein müssen (range proof). Jetzt hat Monero also Decoys und stellt sicher, dass die gesendete Summe für Außenstehende unbekannt bleibt. Zudem kommen als dritte Säule noch Stealth-Adressen hinzu, die ermöglichen, dass Bob eine einmalige Adresse generiert, die man wie ein Postfach verstehen kann, an welche Alice Monero schicken kann, zu dem nur Bob den Schlüssel hat und diesen öffnen kann. Während man bei Bitcoin dann jede einzelne Transaktion an eine bestimmte Adresse öffentlich sehen kann, sind es bei Monero jedesmal neue Stealth-Adressen, die eine Transaktion empfangen, aber die man dann nicht dem Besitzer zuordnen kann. Durch die Implementierrung von Bulletproofs hat Monero Ende 2018 einen Schritt Richtung Skalierbarkeit gemacht, indem sie den mathematischen Beweis bei RingCT schmälern konnten, da diese nun logarithmisch skalieren statt wie vorher linear. [4] Bei Monero ist auch zu erwähnen, dass es einen Public View Key gibt, der bei Bedarf Dritten, wie zum Beispiel dem Finanzamt, einen Blick auf die Transaktionen ermöglicht. [5]
  • Zero-Knowledge Proofs: Hier ist insbesondere ZCash bekannt und im Allgemeinen zeigen zero-knowledge proofs, dass man etwas weiß, ohne offenzulegen, was dieses etwas ist. Zero-Knowledge Proofs sind nicht unbedingt mit Privacy gleichzusetzen, sondern vielmehr mit honest computation und bildet somit auch eine Grundlage für das outsourcen von Rechenleistungen. Der Name kommt daher, dass null Information über das Geheimnis verraten wird und das Gegenüber dennoch mit sehr hoher Wahrscheinlichkeit validieren kann, dass man das Geheimnis kennt und nicht blufft. Eine sehr vereinfachte Erklärung liefern Cossack Labs in ihrem Artikel „Explain Like I’m 5: Zero Knowledge Proof (Halloween Edition)“. Die zwei Protokolle, die hier häufig Erwähnung finden sind, das von ZCash implementierte zk-Snarks und das an dem immer noch entwickelten zk-Starks. Der Unterschied ist, dass zk-Starks skalierbar sein sollen und keine „Trusted Setups“ mehr benötigen und gegen Quantencomputer geschützt sind.

Während diese Protokolle sich vor allem auf Transaktionen fokussieren, werde ich in einem weiteren Artikel auf Trusted Execution Environments eingehen, die in der Schnittstelle von Blockchain und Privacy immer mehr an Bedeutung gewinnen.

Quellen:
[1] May, T. C. (1988): The Crypto Anarchist Manifesto.
[2] Rodriguez, J. (2018): From Ethereum to Enigma: Understanding Privacy Protocols in the Blockchain.
[3] Bogatty, I. (2019): Breaking Mimblewimble’s Privacy Model.
[4] Nuzzi, L. (2018): Monero Becomes Bulletproof.
[5] Unbekannt (2019): A Response to Reuters – Reuters published an article highlighting Monero and we wanted to share our perspective.

_____________________________________________________________