Wie Payswap Blockchain-Analysten verwirren kann – Bitcoin Magazine


Obwohl das Whitepaper von Satoshi Nakamoto darauf hinweist, dass Datenschutz ein Entwurfsziel des Bitcoin-Protokolls war, kann die Blockchain-Analyse häufig die Privatsphäre der Benutzer verletzen. Das ist ein Problem. Bitcoin-Benutzer möchten möglicherweise nicht unbedingt, dass die Welt weiß, wo sie ihr Geld ausgeben, was sie verdienen oder wie viel sie besitzen, während Unternehmen möglicherweise keine Transaktionsdetails an Wettbewerber weitergeben möchten – um nur einige Beispiele zu nennen.

Es gibt jedoch Lösungen, um die Privatsphäre wiederzugewinnen. Diese Woche wurde vom Bitcoin- und Lightning-Entwickler, der unter dem Pseudonym „ZmnSCPxj“ firmiert, eine neue Lösung auf der Bitcoin-Entwickler-Mailingliste vorgeschlagen. Die als Payswap bezeichnete Lösung bietet einen einfachen, aber effektiven Trick, um die Blockchain-Analyse zu verwirren, indem die Beziehung zwischen Zahler und Zahlungsempfänger umgekehrt wird.

So funktioniert das

Die Rückverfolgbarkeit von Bitcoin-Zahlungen

Eine typische Bitcoin-Transaktion ist eine Zahlung von einer Person (dem Zahler) an eine andere (den Zahlungsempfänger). Nehmen wir zum Beispiel an, Alice möchte Bob 3 Bitcoin bezahlen. Wenn Alice ein Stück Münzen (ein UTXO) im Wert von genau 3 Münzen besitzt und wir der Einfachheit halber Gebühren ignorieren, könnte sie eine Transaktion mit einer Eingabe (bezogen auf ihre Adresse mit 3 Münzen) und einer Ausgabe (bezogen auf Bobs Bitcoin-Adresse) erstellen. . Das Stück mit 3 Münzen würde sich im Wesentlichen von Alices Adresse zu Bobs Adresse bewegen. Einfach.

Meistens hat Alice jedoch nicht genau die richtige Menge an Münzen, die sie benötigt, um Bob zu bezahlen. Alice kann zum Beispiel nur Stücke von 2 Münzen haben. In diesem Fall kann sie weiterhin eine Transaktion erstellen. Diese Transaktion hätte zwei Eingaben (zwei Stücke von 2 Münzen, vermutlich von zwei verschiedenen Adressen) und auch zwei Ausgaben: eine Ausgabe im Wert von 3 Münzen, die Bobs Adresse zugeordnet sind, und eine Ausgabe im Wert von 1 Münze, die sie an eine von ihr zurücksendet eigene Adressen als Änderung.

Leider würde eine solche Transaktion, gerade weil sie so typisch ist, Informationen für Blockchain-Analysten preisgeben. Sie gehen davon aus, dass der Block mit 3 Münzen die Zahlung darstellt (an Bob) und dass die 1 Münze geändert wird (zurück an Alice). Wenn die Zahlung nur eine Münze wäre, hätte Alice schließlich nicht zwei Eingaben machen müssen. Dies ermöglicht Blockchain-Analysten, Zahlungen über die Blockchain zu verfolgen, und ermöglicht letztendlich Adressclustering und Strategien, die den Datenschutz verletzen.

Geben Sie Payswap ein

Payswap ersetzt im Wesentlichen die Zahlung von Alice an Bob durch zwei Zahlungen: eine von Alice an Bob und eine von Bob an Alice. Um dies sicher zu tun, ist eine gewisse technische Komplexität erforderlich – mehr dazu weiter unten -, aber lassen Sie uns dies zunächst ignorieren.

In diesem Fall würde Alice immer noch eine Transaktion mit zwei Eingaben erstellen: zwei Stücke von 2 Münzen. Aber diesmal würde die Transaktion nur eine Ausgabe enthalten: Sie würde alle 4 Münzen an Bob senden. Dies kann Blockchain-Analysten bereits verwirren. Da die meisten typischen Zahlungsvorgänge eine Änderungsadresse enthalten und diese Transaktion nicht, können sie (fälschlicherweise) davon ausgehen, dass es sich um eine Transaktion handelt, bei der beispielsweise jemand sein eigenes Geld in eine neue Brieftasche umwandelt.

In der Zwischenzeit würde Bob auch eine Transaktion für Alice erstellen. Nehmen wir an, Bob hat Stücke von 0,6 Münzen. Er würde eine Transaktion erstellen, die zwei Eingaben (Stücke von 0,6 Münzen) und zwei Ausgaben enthält: 1 Münze für Alice und 0,2 Münzen als Wechselgeld. Dies würde wie eine reguläre Transaktion aussehen (1 Münze von Bob an Alice).

Wenn unterschiedliche Bitcoin-Adressen verwendet werden, kann ein Blockchain-Analyst nicht feststellen, dass die beiden hier beschriebenen Transaktionen zwischen denselben beiden Personen (Alice und Bob) stattgefunden haben. Zusätzlich zu der falschen Annahme, die sie möglicherweise über die Transaktion von Alice mit Bob gemacht haben, haben sie jetzt möglicherweise auch eine falsche Annahme über die Transaktion von Bob mit Alice. Insgesamt denken sie vielleicht, dass Bob Alice 1 Bitcoin bezahlt hat, während Alice in Wirklichkeit Bob 3 bezahlt hat.

Blockchain-Analysten wären aufgrund ihrer falschen Annahmen irregeführt worden, was sowohl der Privatsphäre von Alice als auch von Bob zugute gekommen wäre. Wenn die Annahmen von Blockchain-Analysten häufig genug durch diese Art von Tricks gebrochen werden, werden ihre Annahmen insgesamt unbrauchbar.

Hinzufügen von CoinSwap

In Wirklichkeit wäre der Payswap-Trick etwas komplizierter.

Im obigen Beispiel ist noch ein Problem zu lösen. Da Alice und Bob sich nicht vertrauen, ist keiner bereit, ihre Zahlung zuerst zu leisten, da dies dem anderen ermöglichen würde, zu verschwinden, ohne die Zahlung zurückzugeben.

Dies kann mit einem älteren Trick namens CoinSwap behoben werden. Basierend auf Atomic Swaps (ein noch älterer Trick) können zwei ansonsten getrennte Transaktionen voneinander abhängig gemacht werden. Keine Partei konnte die Rückgabe der Zahlung verweigern.

Wenn Sie wissen, wie CoinSwap und / oder Atomic Swaps funktionieren, ist die Idee hinter Payswap eigentlich sehr einfach. Anstatt (nahezu) gleiche Beträge in atomar verknüpften Transaktionen zu verwenden, verwendet Payswap ungleiche Beträge. Die Differenz bildet die Zahlung. (Wenn Ihnen dies klar ist, müssen Sie den Rest dieses Abschnitts des Artikels nicht lesen.)

In etwas mehr Details führt Payswap zwei zusätzliche Transaktionen in die Gleichung ein.

Anstatt eine Transaktion zu erstellen, die 4 Münzen direkt an Bob sendet, erstellt Alice zunächst eine Transaktion, die die Münzen an einen sehr einfachen Smart-Vertrag sendet. Die Münzen können auf zwei Arten von diesem intelligenten Vertrag beansprucht werden. Es kann entweder von Bob beansprucht werden, wenn er auch eine Geheimnummer enthält, die Bob selbst generiert hat. Oder wenn die Münzen nicht von Bob beansprucht werden, können die Münzen nach einiger Zeit von Alice zurückgefordert werden.

Zweitens erstellt Bob anstelle einer Transaktion, bei der eine Münze direkt an Alice gesendet wird, auch eine Transaktion, bei der die Münze an einen intelligenten Basisvertrag gesendet wird. (Und 0,2 Münzen zurück zu sich selbst als Wechselgeld.) Auch hier kann die Münze auf zwei Arten beansprucht werden. Entweder kann es von Alice behauptet werden, wenn sie dieselbe Geheimnummer enthält, die Bob generiert hat. Oder es kann von Bob nach einiger Zeit beansprucht werden. (Etwas mehr Zeit als im ersten Smart-Vertrag.)

Beide Transaktionen werden an das Bitcoin-Netzwerk gesendet, um in einen Block aufgenommen zu werden.

Wenn Bob nun seine Zahlung (4 Münzen) einziehen möchte, erstellt er eine Transaktion aus dem von Alice erstellten Smart-Vertrag, einschließlich des von ihm generierten Geheimcodes, und fordert das Geld ein. Wichtig ist, dass er dabei seinen Geheimcode in der Bitcoin-Blockchain preisgibt, damit Alice ihn sehen kann. Damit kann Alice wiederum eine Transaktion aus dem von Bob erstellten Smart-Vertrag erstellen und 1 Münze an ihre Adresse zurückfordern.

<div class = "post thumbnail-seealso post-38629 Typ-post Status-Publish-Format-Standard hat-post-thumbnail Hentry Kategorie-Datenschutz-Sicherheitstag-Blockchain-Analyse Tag-Coinjoin Tag-Edge-Tag-U-K-Tag-Wasabi-Wallet Thb-Post-Share-Style3 ″>
Siehe auch


Mit anderen Worten: Bob kann nur 4 Münzen beanspruchen, indem er Alice 1 Münze beanspruchen lässt. Entweder kommen beide Transaktionen durch oder keiner.

Wenn Bob aus irgendeinem Grund seine Zahlung nicht beansprucht, läuft die Zeitsperre für den von Alice erstellten Smart-Grundvertrag ab und sie kann ihre 4 Münzen zurückfordern. Wenig später kann Bob auch seine 1 Münze zurückfordern. Keinen Schaden angerichtet.

Es sei darauf hingewiesen, dass diese intelligenten Verträge mit ausgefallenen mathematischen Tricks erstellt werden können, um die Geheimcodes in den kryptografischen Signaturen zu verbergen und zu verhindern, dass die beiden Transaktionen von Blockchain-Analysten über den Code verknüpft werden. Die Einzelheiten dazu fallen jedoch nicht in den Geltungsbereich dieses Artikels. Wenn Sie mehr erfahren möchten, lesen Sie diesen Artikel über skriptlose Skripte.

Während die Verwendung von Atom-Swaps die Komplexität erhöht, wären Blockchain-Analysten letztendlich dennoch verwirrt.

Nachteile von Payswap

Payswap bringt einige Kompromisse mit sich.

Der offensichtlichste Nachteil ist, dass für eine Zahlung vier Transaktionen anstelle von nur einer erforderlich sind. Zwei Transaktionen sind erforderlich, um das Geld von Alice an Bob zu bringen, und zwei Transaktionen sind erforderlich, um die „Änderung“ von Bob an Alice zurückzubekommen. Dies erfordert mehr Blockraum und daher mehr Gebühren.

Zusätzlich erfordert die Zahlung, dass Alice und Bob interagieren. Alice kann nicht einfach Geld an Bobs Adresse senden. Stattdessen müssen die beiden außerhalb des Bitcoin-Protokolls kommunizieren, um sich auch auf eine Kennung (Hash) von Bobs Geheimnummer zu einigen.

Die Lösung könnte daher im Kontext von Lightning tatsächlich nützlicher sein. Das Zahlungsrouting im Lightning-Netzwerk basiert ausschließlich auf dem Austausch geheimer Nummern, ähnlich dem, den Bob im obigen Beispiel generiert hat. Daher ist es nicht schwer zu erkennen, wie der gleiche Trick angewendet werden würde. Im Lightning-Netzwerk würden die zusätzlichen Transaktionen jedoch nicht in die Blockchain gelangen, während Zahlungen ohnehin eine Interaktion erfordern.

ZmnSCPxj konzentrierte sich hauptsächlich auf das Layer-2-Netzwerk von Bitcoin für schnelle und kostengünstige Zahlungen und kam ursprünglich auf die Idee für Payswap im Kontext des Lightning-Netzwerks, wo er es einfach als "Selbstzahlung" bezeichnet. Aber mehr zu diesem Vorschlag in einem zukünftigen Artikel…

Coins Kaufen: Bitcoin.deAnycoinDirektCoinbaseCoinMama (mit Kreditkarte)Paxfull

Handelsplätze / Börsen: Bitcoin.de | KuCoinBinanceBitMexBitpandaeToro

Lending / Zinsen erhalten: Celsius NetworkCoinlend (Bot)

Cloud Mining: HashflareGenesis MiningIQ Mining

Werbung: Immobilienmakler HeidelbergMakler Heidelberg

By continuing to use the site, you agree to the use of cookies. more information

The cookie settings on this website are set to "allow cookies" to give you the best browsing experience possible. If you continue to use this website without changing your cookie settings or you click "Accept" below then you are consenting to this.

Close