Die Privatsphäre besser schützen mit Pay-to-EndPoint (P2EP)
Blockstream Research

Die Privatsphäre besser schützen mit Pay-to-EndPoint (P2EP)

Matthew Haywood

Damit irgendeine Art von Vermögen als Handelsmedium agieren kann muss es fungibel sein. Das bedeutet dass ihre Einheiten einfach handelbar sein müssen, mit demselben Wert für jede Einheit. Die Analyse der Bitcoin Blockchain ermöglicht es durch seine Transaktionsgeschichte dass eine Firma einen bestimmten Bitcoin als “verdorben” deklarieren kann und ihn als inakzeptables Zahlungsmittel kennzeichnet. Blockchain Analyse Firmen, welche die Herkunft und die Eigentumsverhältnisse jedes Bitcoins nachvollziehen zu versuchen, gefährden die Privatsphäre der Benutzer und machen es schwer Bitcoin ohne Befangenheit frei zu tauschen. Wenn die Privatsphäre einfacher Transaktionen nicht bewahrt werden kann verliert Bitcoin einiges seiner Fungibilität.

Teilnehmer einer öffentlichen Arbeitsgruppe haben sich kürzlich das Ziel gesetzt die Privatsphäre einfacher Transaktionen zu verbessern. Wir stellen eine Zusammenfassung der Bestrebungen der Gruppe vor und stellen Wallet Entwicklern einen gemeinsamen Ansatz bereit sich gegen die häufigsten Heuristiken der Blockchain Analyse Firmen zu verteidigen. Damit stellen wir Bitcoin eine erhöhte Fungibilität bereit.

Die Hoffnung dieser Gruppe ist es, Diskussionen in der Gemeinschaft zu ermutigen und Bemühungen dahingehend voranzutreiben, damit Wallets und Zahlungsabwickler einen standardisierten Weg finden, miteinander privater zu interagieren.

Auflösung von Blockchain Analyse Instrumenten

In ihrer 2013 Arbeit, Meiklejohn u.a. zeichnen eine Schlüssel Heuristik auf, die benutzt wird, um Adressen auf der Bitcoin Blockchain zu verknüpfen. Sie machten die Beobachtung, dass ein fundamentales Prinzip von Blockchain Analyse ist, dass “unterschiedliche öffentliche Schlüssel die als Input zu einer Transaktion verwendet werden zum selben Benutzer gehören.”

Die Zusammenstellung einer regulären Bitcoin Transaktion bereitet daher einen Anfangspunkt für Analysefirmen, die Adressen und ihre Besitzer zu verfolgen. Im Workshop versuchte man genau dieses Prinzip zu durchbrechen.

Es ist wichtig zu bemerken, dass um die Annahme des “common input ownership” zurückzuweisen,  ist es nicht notwendig,dass jede Transaktion an der vorgeschlagenen Lösung teilnimmt. Es ist ausreichend dass genügend Transaktionen mit Inputs von verschiedenen Eigentümern bestehen, um diese Annahme aufzulösen. Da die Annahme ein wichtiger Baustein von Blockchain Analyse ist, ist es nicht unangemessen, einen Schritt weiter zu gehen und anzunehmen, dass die Prämisse von Bitcoin Analyse generell gebrochen werden kann, wenn solch eine Lösung häufig zur Anwendung kommt.

Dieser Ansatz gab der Gruppe ein enger definiertes Ziel:

Einen Weg zu finden,der sicherstellt, dass Transaktionen mit Inputs die von mehr als einer Partei stammen, sind häufig genug , sodass die Annahmen der ‘common input ownership’ Heuristik invalidiert werden können.

Entscheidende Voraussetzungen identifizieren

Von den vielen Vorschlägen hatten einige ähnliche Streitpunkte. Ohne jeden Vorschlag detailliert zu betrachten und reihum zu kritisieren, können die Streitpunkte auf Lösungen mit folgenden Eigenschaften zusammengefasst werden:

  • Ermöglicht die Etablierungen eines interaktiven Prozesses zwischen Peer-to-peer Teilnehmern.
  • Verhindert oder mindert die Auswirkung von ‘Schnüffel’ Attacken (bei denen ein Sender versucht die UTXOs des Empfängers durch wiederholte, unvollendete Anfragen zu erlernen).
  • Reduziert die Auswirkung von nicht-reagierenden Attacken.

Der ‘Pay to EndPoint’ (P2EP) Vorschlag

Das Iterieren durch mehreren Ideen resultierte im ‘Pay to EndPoint’ (P2EP) Vorschlag. Obwohl es nicht ohne eigene Abwägungen ist, scheint es die gesteckten Ziele zu erreichen, im Besonderen, die ‘common input ownership’ Heuristik ungültig zu machen und die Voraussetzungen der Peer-to-peer Interaktion mit einer annehmbaren Angriffsresistenz zu erfüllen.

Die Hauptprämisse von P2EP ist, dass sowohl Sender als auch Empfänger mit Hilfe von Interaktionen Inputs der Transaktion beisteuern, welche von einem BIP 21 konformen URI  koordiniert werden.

P2EP benötigt keine Bitcoin Protokolländerungen und die daraus kreierten Transaktionen sind nicht einfach identifizierbar da sie den gleichen ‘Fingerabdruck’ wie reguläre Transaktionen haben.

Es erklärt sich vielleicht im Detail am besten,indem wir die Schritte einer P2EP Transaktionen näher betrachten:

1. Schritt

Der Empfänger (ein Händler oder Benutzer) generiert eine BIP 22 formatierte URI mit einem zusätzlichen Parameter welcher einen P2EP Endpunkt definiert. Da BIP 21 momentan nicht verstandene Variablen erlaubt, zerbricht dies nicht existierende Wallet Implementationen. Die Endpunkt Adresse muss nicht unbedingt eine .onion Adresse sein, die URI eines jeden kompatiblen Endpunkt genügt.

Ein Beispiel (adaptiert von den Beispielen in BIP 21):

bitcoin:175tWpb8K1S7NmH4Zx6rewF9WQrcZv245W?p2ep=3j4tau93wkc8mh32.onion

2. Schritt

Der Sender initiiert die Interaktion mit dem Empfänger indem er bestätigt, dass der Endpunkt zur Verfügung steht. Falls nicht wird die Transaktion regulär an die BIP 21 Adresse des Empfängers versandt. Falls der Endpunkt zur Verfügung steht, stellt der Sender eine signierte Transaktion an den Empfänger als Beweis ihres UTXO Besitzes bereit.

3. Schritt

Der Empfänger verschickt nun eine Anzahl von Transaktionen an den Sender zur Signatur. Von diesen Transaktionen ist nur eine UTXO tatsächlich im Besitz des Empfängers, der Rest kann von einem Pool aus verfügbaren UTXOs ausgewählt werden. Diese Transaktionen können nun entweder als Serie oder parallel an den Sender verschickt werden. Beide Ansätze haben Vor- und Nachteile bezüglich Privatsphäre und Geschwindigkeit, dadurch wird die tatsächliche Methode weiterer Diskussion und endgültiger Implementierung überlassen.

Serie: Jede zurückgeschickte Transaktion kommt mit gewisser Wahrscheinlichkeit beim Empfänger an. Die Wahrscheinlichkeit hängt von der Anzahl der vom Empfänger ausgewählten Transaktionen ab sowie davon, wie willkürlich die Sequenz angeordnet ist. Die Serie des Austauschs endet, wenn der Sender eine signierte Transaktion an den Empfänger verschickt welche die UTXO des Empfängers enthält.

Parallel: Die vom Empfänger kreierte Transaktionen werden alle im Ganzen an den Sender gegeben. Der Sender hat nun einen Satz von Transaktionen von denen nur eine dem Empfänger gehört. Die Wahrscheinlichkeit, dass der Empfänger die korrekte Transaktion errät ist proportional zur Anzahl der vom Empfänger ausgewählten und versandten Transaktionen. Der Sender signiert und schickt alle Transaktionen in einem zurück.

Die vorgeschlagene Anzahl der vom Empfänger verschickten Transaktionen ist momentan 100, was ein Gleichgewicht zwischen Privatsphäre und Datenübertragung/-verarbeitungs Last auf beiden Seiten des Handels bereitstellt.

Es ist zu erwähnen, dass es möglicherweise Spielraum gibt, die obigen Methoden des UTXO Austauschs mit Bulletproofs zu ersetzen.

4. Schritt

In beiden obigen Fällen, sobald der Empfänger eine signierte Transaktion erhält die seiner UTXO entspricht, kann er die Transaktion signieren und veröffentlichen, welche nun Inputs sowohl des Senders als auch des Empfängers enthalten.

Für den Fall dass der P2EP Prozess aus welchem Grund auch immer scheitert, kann die Transaktion als reguläre Transaktion veröffentlicht werden.

Untersuchung einer Beispiel P2EP Transaktion

Falls Alice 1 BTC an Bob zahlen will:

  • Alice gibt 3 BTC in eine TransaKtion.
  • Bob gibt 5 BTC in die selbe Transaktion.
  • Alice empfängt 2 BTC (als ihr Wechsel).
  • Bob empfängt 6 BTC (as sein Wechsel, plus die 1 BTC Zahlung von Alice).

Die obige Zahlung zerbricht die ‘common input owner’ Heuristik und kann in verschiedenen Arten interpretiert werden. Es könnte zum Beispiel interpretiert werden als ob Alice 6 BTC an Bob zahlt, indem sie ihre eigenen 8 BTC aus Inputs von 4 BTC und 5 BTC zusammenstellt und 2 BTC als Wechsel zurück erhält.

Vorteile und Nachteile von P2EP

Vorteile:

  • Zerbricht die ‘common input owner’ Annahme. Zunehmender Effekt von selbst minimaler Adoption gibt regulären ‘nicht-P2EP’ Transaktionen erhöhte Privatsphäre.
  • Zerbricht Untermengensummen Analysen.
  • Empfänger könnte das Anschwellen des UTXO Sets reduzieren.
  • Der Empfänger kann P2EP benutzen um sein eigenes UTXO Set zu konsolidieren.
  • Anders als traditionelle CoinJoin Transaktionen mit fixierten Beträgen gibt es keinen offensichtlichen ‘Fingerabdruck’ für diese Art von Transaktion, da sie dasselbe Erscheinungsbild wie reguläre Transaktionen hat.
  • Die sendenden Wallets können leichtgewichtige Wallets sein.
  • Sender und Empfänger profitieren von erhöhter Privatsphäre.

Nachteile:

  • Der Empfänger als auch der Sender müssen beim Verarbeiten der P2EP Transaktion online sein.
  • Durch die interaktive Natur von P2EP gibt es einen leichten Aufschub beim veröffentlichen der Transaktion.
  • Der Empfänger braucht ein ‘Hot Wallet’ um Transaktionen zu signieren.
  • Gebühren könnten für den Sender durch die erhöhte Transaktionsgröße höher ausfallen. Dies könnte durch Verhandlungen mit dem Empfänger verrechnet werden wenn dieser UTXO Konsolidierung wertschätzt.
  • Die Transkationsbestätigungen im Wallet  brauchen länger im Vergleich zu traditionellen Transaktionen.
  • Der Empfänger braucht Zugang zu einer Full Node.

Was kommt als nächstes für Pay to EndPoint?

P2EP ist im frühen Stadium der Rezension von der Gemeinschaft und Verfeinerungen sind notwendig, bevor ein Format zum Vorschlag gebracht werden kann.

Es ist möglich, dass auf der Idee aufgebaut werden kann um andere Arten von Transaktionen zu unterstützen  wie beispielsweise Zahlungsteilungen oder ein einfacher Coin Tausch.

If you have specific preferences, please, mark the topic(s) you would like to read: