Ich möchte ein "Red Teaming"
Michael Schneider
So funktionieren private Transaktionen mit Monero
Dieser Artikel setzt Grundkenntnisse über Blockchain-Technologien und deren Nutzung durch Kryptowährungen voraus. Im Artikel Blockchain ist die Zukunft stellte Marc Ruef die Technologie Blockchain vor.
Bei der Vorbereitung einer Transaktion erzeugt die Wallet des Absenders keine Ausgaben für die öffentliche Adresse des Empfängers. Um den Empfänger auf der Blockchain zu verstecken, leitet der Absender eine einmalige, wegwerfbare Stealth-Adresse von der öffentlichen Adresse des Empfängers ab. Mit der Stealth-Adresse kann nicht auf die öffentliche Adresse des Empfängers geschlossen werden. Mehrere Transaktionen für dieselbe öffentliche Adresse gehen alle auf unterschiedliche, unabhängige Stealth-Adressen. Ein weiterer Vorteil ist, dass die Mittel über mehrere Stealth-Adressen verteilt werden und schwieriger zu verfolgen sind, wenn die Transaktionsinputs von mehreren Adressen stammen. Monero verwendet 2 Schlüsselpaare: View- und Spend-Keys. Eine öffentliche Monero-Adresse setzt sich aus dem öffentlichen View-Key und dem öffentlichen Spend-Key zusammen. Beide Schlüssel werden bei der Ableitung der Stealth-Adresse As verwendet:
As = Hs(r * PV | i) * G + PS
r ist der private Transaktionsschlüssel des Absenders, PV ist der öffentliche Schlüssel des Empfängers und i ist der Output-Index. Hs ist eine Hash-Funktion die den Keccak-256-Hash-Algorithmus[MS1][AH2] verwendet. G ist der Primzahl Basepoint von ED25519. PS ist der öffentliche Spend-Key.
Um zu erkennen, dass Mittel eingegangen sind, muss der Empfänger jede Transaktion scannen und die Stealth-Adresse mit Hilfe seines privaten View-Keys und dem öffentlichen Transaktionsschlüssel der geprüften Transaktion berechnen. Die Formel lautet einfach:
As = Hs(R * pV | i) * G + PS
Dabei ist R der öffentliche Transaktionsschlüssel und pV der private View-Key des Empfängers.
Ring Confidential Transactions (RingCT) verbergen den Transaktionsbetrag. Dies wirft natürlich einige Fragen auf, beispielsweise wie eine Überausgabe verhindert werden kann, wenn sowohl die Eingaben als auch Ausgaben für niemanden ausser dem Sender und dem Empfänger einsehbar sind. Eine Möglichkeit, um sicherzustellen, dass Monero nicht erzeugt oder vernichtet wird, besteht darin zu überprüfen, ob die Eingaben und Ausgaben einer Transaktion gleich sind. Wie werden Eingaben und Ausgaben verglichen, wenn sie versteckt sind? Das wird mit homomorphen Pederson Commitments erreicht, die die folgenden Eigenschaften haben:
Der Transaktionswert ist in einem Pedersen Commitment integriert, so dass das Volumen der Eingaben und Ausgaben der Transaktion verglichen werden kann, ohne, dass der Transaktionswert offengelegt wird. Die Berechnungen, die hinter Pedersen Commitments stehen, sind umfangreich und werden hier nicht behandelt. Weitere Informationen zu den mathematischen Grundlagen finden sich im Beitrag Confidential Transactions from Basic Principles.
Nach dem Verschleiern der Transaktionsempfänger und Beträge, müssen nur noch die Initiatoren von Transaktionen anonymisiert werden. Hier kommen Ring-Signaturen ins Spiel. Ring-Signaturen autorisieren Transaktionen in Monero. Eine Ring-Signatur ermöglicht es einem Teilnehmer einer Gruppe, Inhalte im Namen der Gruppe zu signieren. Anhand der Signatur kann der Unterzeichner nicht zurückverfolgt werden und es gibt keinen Hinweis darauf, welches der Gruppenmitglieder die Signatur erstellt hat. Ein öffentlicher Schlüssel eines beliebigen Gruppenmitglieds wird eine gültige Signatur anzeigen, wenn die Signatur von einem Gruppenmitglied stammt. In Monero wird dieses Konzept genutzt, um öffentliche Schlüssel an Transaktionen anzuhängen, die den echten Absender verschleiern. Nur die Mittel des echten Unterzeichners, der den privaten Schlüssel beigesteuert hat, werden als Transaktionsinput verwendet. Dies können Aussenstehenden jedoch nicht feststellen.
Jede Ringsignatur enthält ein Key-Image. Ein Key-Image wird vom Transaktions-Output abgeleitet und dient dazu, Doppelausgaben zu erkennen. Wenn ein Output mehr als einmal ausgegeben wird, wird dasselbe Schlüsselbild generiert und das Netzwerk lehnt die Transaktion ab.
Aufgrund der Eigenschaften von Monero, sich der Überwachung zu entziehen, besteht die Möglichkeit, dass es von repressiven Regierungen durch Massnahmen wie IP-Adresssperren ins Visier genommen wird, ähnlich wie beispielsweise das Tor-Netzwerk. Aus diesem Grund war in der Vergangenheit eine Integration mit I2P geplant, allerdings ist das Projekt noch nicht abgeschlossen und wird möglicherweise fallen gelassen. I2P bietet anonymen Zugang zu versteckten Diensten, ähnlich wie Tor, aber der Fokus liegt mehr auf versteckten Diensten und es ist eigentlich nicht vorgesehen, Exit Nodes zu betreiben, über die Benutzer auf das normale Internet zugreifen können.
Die Privatsphäre-Features von Monero sind beeindruckend und ein Hinweis auf das Talent, dass in dem Projekt involviert ist. Es bleibt abzuwarten, ob Monero in der Lage ist, für eine breitere Verwendung skaliert zu werden. Zentralisierte Börsen stehen zunehmend unter Druck, den Coin aufgrund seiner Beliebtheit in von der Regierung nicht gutgeheissenen Kreisen von ihren Marktplätzen zu nehmen. Das Aufkommen einer nächsten Generation von leistungsfähigeren und kostengünstigeren dezentralen Börsen wird dieses Verfügbarkeitsproblem wahrscheinlich lindern, allerdings könnte dies dazu führen, dass Monero mittelfristig bei gelegentlichen Kryptowährungsnutzern an Verwendung verliert.
Wir führen gerne für Sie ein Monitoring des Digitalen Untergrunds durch!
Michael Schneider
Marisa Tschopp
Michèle Trebo
Andrea Covello
Unsere Spezialisten kontaktieren Sie gern!