Wiederverwendung von Adressen durch einen Dienst ("Neue Adresse abrufen" gibt *finanzierte* Adressen zurück)

Kürzlich soll ein Marktplatz Einzahlungsadressen wiederverwendet haben, sodass der Benutzer durch Klicken auf die Schaltfläche „Neue Adresse erhalten“ sofort eine andere Adresse erhält, die „neue Adresse“ jedoch manchmal bereits finanziert war.

Unnötig zu erwähnen, dass dies ein schreckliches OPSEC ist, aber ich frage mich, wie ein solches Problem auftreten kann. Ist es eine fehlerhafte Implementierung von BIP32? Dies scheint wahrscheinlicher als die Wiederverwendung von Schlüsselpooladressen für bitcoind , aber ich bin gespannt, wie dieses Problem auftreten könnte.

Können Sie weitere Einzelheiten zu dem mutmaßlichen Vorfall nennen?
Normalerweise versuche ich zu vermeiden, diese Dienste zu identifizieren, aber ich denke, die Hintergrundinformationen sind für die Frage besonders relevant. Hier ist der Link zu Reddit /r/DNM: reddit.com/r/DarkNetMarkets/comments/322yms/…

Antworten (1)

Denken Sie daran, dass der betreffende Marktplatz Bitcoin möglicherweise nicht verwendet , und wenn dies der Fall ist, möglicherweise nicht auf die sinnvollste Weise. Einige Möglichkeiten:

  • Eine Adressliste wurde erstellt. Wenn es das Ende der Liste erreicht, kehrt es zum Anfang zurück und verwendet die alten Adressen wieder, vorausgesetzt, dass niemand seine alte wieder verwenden sollte. (Dies ist ein schlechtes Design: Adressen sollten aus Datenschutzgründen nicht wiederverwendet werden, damit Sie wissen, wer wem gehört, falls jemand an eine alte Adresse sendet.)
  • Die Adressen wurden mit so geringer Entropie generiert, dass dieselben Adressen erstellt und erneut verwendet wurden. (Dies ist eine schwerwiegende Sicherheitslücke in ihrem Setup)

In jedem Fall ist es möglich, dass entweder ...

  • das System zeichnet beide Konten als Besitzer der Adresse auf (was sehr schlecht ist, da Sie beide das Geld des anderen ausgeben können), oder
  • nur eines der Konten besitzt die Adresse. Was sehr schlecht ist, wenn derjenige, der es besitzt, der alte ist, da neue Gelder wahrscheinlich an die falsche Person geschickt werden; oder nur geringfügig schlecht, wenn der Besitzer der neue ist, da der alte Kontoinhaber möglicherweise inaktiv ist und seine alte Adresse sowieso nicht wiederverwenden sollte, wenn er eine weitere Einzahlung tätigt.

Unabhängig von den Details (die Sie als Benutzer sowieso nicht kennen werden) würde es mich sehr zögern lassen, den Marktplatz zu nutzen, da es auf ein gefährlich schlampiges Design hinweist.

Danke für den Einblick. Ich habe es aus einer vertrauenswürdigen Quelle, es handelt sich um ein Entropieproblem, wahrscheinlich mit nicht gehärteten BIP32-Schlüsseln. Ich kann jedoch nicht erkennen, wie man zwischen BIP32-Schlüsseln unterscheiden könnte, ohne einen privaten Schlüssel zu haben, um alle <2 ^ 31-Indizes zu überprüfen (es sei denn, der generierte Adresspool stimmte mit dem überein, was tatsächlich verwendet wurde). Basierend auf walletexplorer.com gibt es ~100 Adressen, die jeweils bis zu 15 Mal wiederverwendet werden, FWIW
Auch ohne dies zu einem „Wie man ein DNM ausführt“-Krach zu machen, welche andere Möglichkeit für einen Bitcoin-Daemon gibt es neben einer modifizierten Bitcoincore-Implementierung ( bitcoind*/*bitcoin-cli )