HD-Wallets und Wiederverwendung von Adressen

HD-Wallets erstellen eine Reihe von Adressen, und wenn eine Adresse eine Eingabe erhalten hat, erhalten Sie eine neue Adresse, die noch keine Eingaben erhalten hat

In der Vorstellung, dass Sie sich selbst Bitcoin von einer Börse schicken und ständig unterschiedliche Adressen an der Börse und unterschiedliche Adressen in Ihren Brieftaschen haben, wäre ein Beobachter nicht in der Lage, die Summe all Ihrer Gelder zu verfolgen.

Aber wird das nicht alles untergraben, wenn Sie eine große Menge Bitcoin bewegen und die Transaktion Bitcoin von allen Adressen in dieser Brieftasche kombiniert?

Wie wird dieser Teil vermieden, während die Möglichkeit erhalten bleibt, realistischerweise Gelder schnell und bequem zu senden? Ich verstehe, dass es möglich ist, eine Transaktion zu bilden, um nur eine bestimmte Adresse zum Senden zu verwenden, aber letztendlich gibt es immer noch eine dritte Partei mit einer Adresse, an die ich Bitcoin senden möchte. Ich muss also mehrere meiner Adressen verwenden, um das entsprechende Guthaben zu erhalten.

Dies scheint meine Privatsphäre vollständig zunichte zu machen. Nicht unbedingt aus der Blockchain-Analyse, sondern durch Aufzeichnungen einer einzelnen Adresse (z. B. von der Börse).

Nehmen wir zum Beispiel an, eine Börse hat die Benutzernamen an eine Regierung weitergegeben. Die Regierung sieht sich dann alle Adressen an, an die der Benutzer Bitcoin von der Börse gesendet hat. Dann suchen sie einfach in der Blockchain nach dieser Adresse und schauen, wo sie erneut verwendet wurde, um Bitcoin mit anderen Adressen zu kombinieren, da dies zeigt, dass eine Person die privaten Schlüssel zu all diesen verwendeten Adressen hatte. Privatsphäre untergraben.

Lösung? Ich kann mir ein Szenario vorstellen, in dem ich jeweils eine Transaktion zurück zu einer anderen Börse durchführen und neue Adressen in meiner Börsen-Wallet generieren könnte. Schwerfällig. Aber für so etwas wie eine Bitpay-Zahlung sehe ich nicht, wie das praktisch ist, es sei denn, Dritte lassen mich auch wählen, wie viele Adressen sie für mich generieren würden.

Antworten (4)

Wie bereits erwähnt, glaube ich nicht, dass HD Wallets für dieses Problem relevant sind. Selbst bei einfachen Brieftaschen, die Eingaben von mehreren Adressen kombinieren, wird bewiesen, dass eine einzelne Person alle enthaltenen Adressen besaß. Ich bin mir nicht sicher, ob dies Ihren spezifischen Datenschutzanforderungen entsprechen würde, aber es ist zumindest eine einfache Möglichkeit, dieses Problem zu vermeiden:

Angenommen, Sie haben 4 Adressen, A, B, C und D. Sie möchten eine Transaktion senden, die Gelder von allen 4 erfordert, ohne nachzuweisen, dass sie derselben Person gehörten. Sie könnten eine 4. Adresse E generieren und über mehrere Tage alle Adresswerte zu einer neuen Adresse zusammenfassen.

Während die Blockchain zeigen würde, dass die Gelder in E von AD stammten, gäbe es keinen Beweis dafür, dass AD derselben Person gehörten, da sie nie zusammen an einer einzigen Transaktion beteiligt waren, und es ist möglich, dass 4 verschiedene Personen alle überwiesen haben Wert an E, anstatt dass dieselbe Person Wert an E überweist.

Es scheint machbar, einen Client zu schreiben, der dieser Richtlinie folgt, niemals Eingaben von mehreren Adressen in einer einzigen Transaktion zu kombinieren, was zumindest eine plausible Leugnung ermöglichen würde. Der Benutzer wäre in der Lage, Zeitrahmen je nach Bedarf zu verwalten, sodass die Kombination über einen Zeitraum von einer Stunde oder einem Jahr erfolgen könnte, je nachdem, wie schnell er die Transaktion benötigt. Sie könnten auch einige Zwischenschritte hinzufügen, um die Dinge etwas mehr aufzuteilen, und ein paar zusätzliche Adressen durchlaufen, um die Verfolgung etwas zu erschweren.

Da es sich um ein öffentliches Hauptbuch handelt, ist es wirklich kein sehr anonymes System, und das Erreichen von Anonymität ist ohne einen Mixer schwierig, aber der größte Kompromiss bei der Anonymität besteht darin, mehrere Adressen in einer einzigen Eingabe zu verbinden, also wird es hilfreich sein, dies einfach zu vermeiden, aber auf Kosten der Bequemlichkeit.

hm ja, ein Algorithmus, um Eingaben niemals zu kombinieren
Gibt es eine Möglichkeit, eine Adresse aus einer HD-Wallet auszuwerfen? eine bestehende Adresse aus der Adressfolge entfernen?
Leider kann ich mir keinen Weg vorstellen, der möglich wäre. Der Zweck einer HD-Wallet besteht darin, dass ein einzelner Seed in der Lage ist, alle Adressen darunter auf deterministische Weise zu generieren. Wenn also eine Brieftasche unter den Platz Ihres Samens fällt, müssen Sie mathematische Gesetze rückgängig machen, um sie loszuwerden. Am besten generieren Sie einen neuen Seed und senden Ihre Coins dorthin.
Interessant, ich denke, BIP32, BIP39 und BIP44 müssen mit Best Practices kommen. Ich sehe eine Vielzahl von Problemen damit, die möglicherweise nicht offensichtlich sind. Was es für Sie tun kann und was nicht.

Datenschutz ist einer der häufigsten Mythen über Bitcoin. Standardmäßig bietet es aus vielen Gründen, einschließlich der von Ihnen erwähnten, keine Anonymität. Die Anwendung der Graphentheorie auf die Transaktionen kann viele Informationen preisgeben, scheinbar unabhängige Adressen verbinden und somit kompromittieren. Bitcoin war nie dafür gedacht, sofort Anonymität zu bieten, also ist es schwer, ihm die Schuld zu geben.

Dies bedeutet jedoch nicht, dass die Anonymität nicht erreicht werden kann. Es gibt viele Dienste von Drittanbietern, die sich darauf spezialisiert haben und Ihre Coins mit den Coins anderer Leute mischen, zum Beispiel bitmixer.io . Sie können weitere solcher Dienste finden und sie für eine noch bessere Anonymität in einer Kette verwenden, suchen Sie einfach im Internet nach Bitcoin Mixer oder Bitcoin Laundry .

Hinweis: Das Problem, Adressen mit demselben Besitzer zu verbinden, ist nicht spezifisch für HD-Wallets, sondern betrifft auch einfache Wallets, die alle Adressen zufällig generieren. Für den externen Beobachter gibt es keine Möglichkeit zu sagen, ob Sie die eine oder andere verwenden, aber diese Informationen sind nicht notwendig, um die Adressen zu verbinden, sobald Sie eine Transaktion durchgeführt haben, bei der ihre Eingaben kombiniert wurden.

Mixer sind unpraktisch, teuer, zentralisiert, nicht vertrauenswürdig, enthalten Aufzeichnungen, der Benutzer oder der Administrator würden nie erfahren, ob der Mixer jahrelang kompromittiert wurde, und letztendlich erhöhen sie die Transaktionskosten erheblich. Zweitens, wenn dies nicht getan wird, bevor jemand versucht, eine nicht verknüpfbare Zahlung zu leisten, z. B. an eine Bitpay-Adresse, können sie sich nicht innerhalb des von Bitpay vorgegebenen 15-Minuten-Fensters vermischen.
Ja, es ist im Wesentlichen wahr, was Sie sagen, aber Bitcoin-Mixins spielen eine bedeutende Rolle, insbesondere auf den Schwarzmärkten, wo die Anonymisierung von Münzen unerlässlich ist. Es ist eine gängige Praxis, immer einige „gemischte Münzen“ in Ihrer Brieftasche zu haben, damit Sie sie bei Bedarf (sofort) verwenden können. Sie können die Anonymität erhöhen, indem Sie mehrere Mixins hintereinander verwenden, aber natürlich können Sie sich nie 100% sicher sein. Nun, ich schätze, Bitcoin hätte es viel schwerer, eine rechtliche Anerkennung zu erhalten, wenn es anonym wäre :-)

Was auch immer die Antwort heute ist, es wird wahrscheinlich in nicht allzu ferner Zukunft keine Rolle mehr spielen. Die Blockchain ist eine öffentliche und dauerhafte Aufzeichnung aller Transaktionen.

Abgesehen von der Tatsache, dass man für jede einzelne Transaktion 100 % anonym sein müsste, 100 % der Zeit, um anonym zu bleiben (was auch immer diese Lösung ist) ... Es gibt diese permanente öffentliche Aufzeichnung jeder Ihrer Transaktionen. Wenn jemand will, wird er schließlich die Punkte aus genügend öffentlichen und privaten Datenbanken verbinden. Ganz zu schweigen von Quantencomputing oder anderen zukünftigen Fortschritten.

Wenn ich ein Steuereintreiber wäre und Betrug verhindern wollte, würde ich ein narrensicheres System schaffen, um eine dauerhafte Aufzeichnung jeder Transaktion zu führen. Dann könnten wir es uns einfach machen, die Blockchain durchforsten und monatliche Steuerrechnungen an meine Minions senden. Zahlen Sie es nicht? Ihre Transaktionen werden nicht bestätigt. Kann nicht ausgeben. Irgendwie schwer zu widerlegen dann.

Reine Vermutung, John, der Börsenbetreiber, kann nicht beweisen, dass Alice, ein Kontoinhaber an der Börse, im Besitz eines privaten Schlüssels ist, indem Alice lediglich Bitcoin von einer Adresse zur nächsten sendet. Wenn Alice für jede Transaktion unterschiedliche Adressen verwendet, gibt es einfach keine Punkte zum Verbinden. Ihre Antwort legt nahe, dass Sie keine Ahnung haben, was die eigentliche „Bedrohung“ durch Quantencomputer ist.
Ja, Vermutung. Daher das "wahrscheinlich". Mein Punkt ist, was auch immer in der Zukunft passiert, es gibt diese permanente Blockchain-Aufzeichnung, die verwendet wird, um rückwirkend Leute zu schnappen. Ein Vektor, den wir derzeit kennen, ist Quantencomputer und das Potenzial, unsere Schlüssel zu hacken (ganz zu schweigen von SSL usw.). Ein weiterer Vektor wäre das Mischen Ihrer Bankdaten mit Ihren Bitcoins, indem Sie Münzen von jemandem wie Coinbase kaufen. Coinbase könnte leicht gezwungen werden, Informationen aufzugeben, die den Kauf meiner Coins verfolgen und die Punkte verbinden.
Du verfehlst den Punkt. Das gesamte Szenario geht bereits davon aus, dass dies bereits geschieht, bedenken Sie, dass der Austausch diese Informationen bereits hat, Best Practices aus dem Whitepaper von Satoshi aus dem Jahr 2008 wirken dem immer noch entgegen. Sie schreiben nur willkürliches Kauderwelsch, hier geht es um das Aufheben der Verknüpfung von Transaktionen, wobei das Aufheben der Verknüpfung das Aufheben der Verknüpfung ist. Es müssten keine Korrelationen hergestellt, keine Verschlüsselung geknackt werden.

Ich werde die technischen Aspekte, wo ich kann, später heute ergänzen, aber im Prinzip wird ein privater Schlüssel so verändert, dass öffentliche HD-Schlüssel erstellt und im Stammbaum nachverfolgt werden können, den wir beide kennen.

Aber hier ist ein paar Dinge zu beachten:

  1. Kann ein Pubkey als Ihr Schlüssel isoliert werden? Höchstwahrscheinlich nicht, aber vorausgesetzt, es ist immer noch nur der Hash160, der öffentlich geteilt wird. Was soll man sagen, dass Sie zum Beispiel Wallet-Seeds nicht geändert haben?
  2. Unter der Annahme, dass 1 wahr ist, ist es unmöglich, das SHA256 UND das reifemd160 für die x/y-Koordinaten Ihres öffentlichen Schlüssels umzukehren, dh

    Pubkey <==A==> Hash <=====B===== 0x04 X + Y

          A = base58,     B = SHA256/RIPEMD160
    

    .

  3. Die einzig wahrscheinliche Möglichkeit, eine Verbindung zwischen dem öffentlichen Schlüssel und dem privaten Schlüssel zu finden, besteht darin, mindestens den privaten Schlüssel und idealerweise für einen Angreifer einen Satz von privaten Schlüsseln zu haben

Ja, aber sagen wir, ich habe 3 pubKeys mit jeweils 1 BTC. Ich treffe dann auf einen Bitpay-PubKey und um die Ware/Dienstleistung zu erwerben, muss ich diese Bitpay-Adresse 2,5 BTC senden. Alles, was mir einfällt, kombiniert die Transaktionen von Pubkey A, B und C, egal ob ich es in einer Transaktion oder 3+ Transaktionen mache, innerhalb der 15-minütigen Zeitspanne, die Bitpay zulässt.