Was ist eine Stealth-Adresse?

Stealth-Adressen werden im Zusammenhang mit dem Datenschutz bei Bitcoin-Transaktionen erwähnt. Was sind sie und wie würden sie funktionieren?

Können sie 100 % Anonymität bieten?

Antworten (3)

So wie ich es verstehe, soll die "Stealth-Adresse" ein sehr spezifisches Problem ansprechen. Wenn Sie Zahlungen von der Öffentlichkeit erbitten möchten, indem Sie beispielsweise eine Spendenadresse auf Ihrer Website veröffentlichen, kann jeder auf der Blockchain sehen, dass all diese Zahlungen an Sie gingen, und vielleicht versuchen zu verfolgen, wie Sie sie ausgeben.

Mit einer Stealth-Adresse bitten Sie Zahler, eine eindeutige Adresse zu generieren, sodass Sie (unter Verwendung einiger zusätzlicher Daten, die der Transaktion beigefügt sind) den entsprechenden privaten Schlüssel ableiten können. Obwohl Sie also eine einzige „Stealth-Adresse“ auf Ihrer Website veröffentlichen, sieht die Blockchain alle Ihre eingehenden Zahlungen als an separate Adressen gerichtet und hat keine Möglichkeit, sie zu korrelieren. (Natürlich weiß jeder einzelne Zahler, dass seine Zahlung an Sie gegangen ist, und kann nachvollziehen, wie Sie es ausgegeben haben, aber er erfährt nichts über die Zahlungen anderer Personen an Sie.)

Aber Sie können den gleichen Effekt auch auf andere Weise erzielen: Geben Sie einfach jedem Zahler eine eindeutige Adresse. Anstatt eine einzelne öffentliche Spendenadresse auf Ihrer Website zu veröffentlichen, verwenden Sie eine Schaltfläche, die eine neue eindeutige Adresse generiert und den privaten Schlüssel speichert oder die nächste Adresse aus einer langen Liste vorgenerierter Adressen auswählt (deren private Schlüssel Sie an einem sicheren Ort aufbewahren). . Wie zuvor gehen alle Zahlungen an separate Adressen und es gibt keine Möglichkeit, sie zu korrelieren, noch kann ein Zahler sehen, dass andere Zahlungen an Sie gingen.

Der einzige Unterschied zu Stealth-Adressen besteht also im Wesentlichen darin, dass die Aufgabe, eine eindeutige Adresse zu erstellen, vom Server auf den Client verlagert wird. Tatsächlich können Stealth-Adressen in gewisser Weise schlimmer sein, da sie nur von sehr wenigen Personen verwendet werden, und wenn Sie als einer von ihnen bekannt sind, wird es einfacher sein, Stealth-Transaktionen mit Ihnen zu verbinden.

Es bietet keine "100% Anonymität". Die grundlegende Anonymitätsschwäche von Bitcoin bleibt bestehen – dass jeder die Zahlungskette verfolgen kann, und wenn Sie etwas über eine Transaktion oder die daran beteiligten Parteien wissen, können Sie etwas darüber ableiten, woher diese Münzen kamen oder wohin sie gingen.

Dies ist die bisher verständlichste Antwort.
Dies ist nützlich für Unternehmen, die eine Adresse drucken und versenden möchten, z. B. ein Café oder ähnliches
@Nate Eldredge , Wenn Sie sagen: "Wenn Sie als einer von ihnen bekannt sind, wird es einfacher sein, Stealth-Transaktionen mit Ihnen zu verbinden." Meinen Sie, dass wir auf einer Bitcoin-Explorer-Website wie (www.blockchain.com/explorer) oder ( blockexplorer.com ) erkennen können, welche Transaktion eine "Stealth-Transaktion" ist ? Mit anderen Worten, sind Stealth-Transaktionen auffindbar? Vielen Dank
@sas: Nun, wie erwähnt, werden einige andere Daten benötigt. Siehe gist.github.com/ryanxcharles/1c0f95d0892b4a92d70a . Ein Ansatz besteht darin, die Daten in eine OP_RETURN-Ausgabe zu stellen. Solche Ausgaben können für verschiedene Dinge außer Stealth verwendet werden, aber normale Transaktionen haben sie nicht, so dass Sie zumindest vermuten könnten, dass dies eine Stealth-Transaktion ist. Gemäß dem Dokument gibt es ein alternatives Protokoll, bei dem die zusätzlichen Daten ein öffentlicher Schlüssel aus einer vorherigen Transaktion waren, in diesem Fall wird kein OP_RETURN benötigt. Ich weiß nicht, welches Protokoll gebräuchlicher war.

Diese Seite im Bitcoin-Wiki erklärt das genaue Verfahren zum Generieren und Verwenden einer Stealth-Adresse. Es ist zu diesem Zeitpunkt nicht sehr benutzerfreundlich und gilt als experimentell.

Einfach:

Der Empfänger generiert eine Adresse und ein privates Geheimnis und sendet diese Adresse dann an jemanden, von dem er eine Zahlung wünscht.

Der Absender verwendet die Adresse und eine "Nonce", um die Adresse zu generieren, an die er/sie Geld senden kann.

Der Absender teilt dem Empfänger die Nonce mit und durch Verwendung dieser Nonce und des zuvor generierten geheimen Schlüssels kann er/sie die Adresse mit dem Geld entsperren.

Die Stealth-Adressen basieren auf dem Elliptic-Curve-Diffie-Hellman- Protokoll und theoretisch ist diese Methode anonym. Da dieser Code relativ neu ist, kann es jedoch möglicherweise zu Fehlern kommen.

Verlässt es sich also auf Out-of-Band-Kommunikation? Dies erwähnt, dass Monero es implementiert, indem es einen vollständigen Transaktionsscan erfordert, um festzustellen, ob Transaktionen für Sie bestimmt sind oder nicht, interessant: localmonero.co/knowledge/monero-stealth-addresses?language=en

Der ursprüngliche Artikel, in dem das Konzept der Stealth-Adressen vorgestellt wird, wurde von Peter Todd geschrieben und ist in dieser Nachricht der Bitcoin-Entwicklungsliste zu finden. In der Zusammenfassung des Artikels heißt es:

Eine Stealth-Adresse ist eine neue Art von Bitcoin-Adresse und ein damit verbundenes ScriptPubKey-/Transaktionsgenerierungsschema, das es Zahlungsempfängern ermöglicht, eine einzige, feste Adresse zu veröffentlichen, an die Zahler Gelder effizient, privat, zuverlässig und nicht interaktiv senden können. Zahler erfahren nicht, welche anderen Zahlungen an die Stealth-Adresse getätigt wurden, und Dritte erfahren überhaupt nichts. (beide unterliegen einem einstellbaren Anonymitätssatz)