Verhindern der Offenlegung öffentlicher Adressen auf einer Website

Anstatt eine einzige feste Adresse zu haben, möchte ich bei jeder eingehenden Benutzeranfrage eine neue Adresse auf meiner Website generieren.

Ich mache mir Sorgen, dass Google oder ein anderer Webcrawler meine Website indiziert und meine Bitcoin-Adresse mit meiner Website-Adresse verknüpft.

Ich habe darüber nachgedacht, die Adressen vorab zu generieren, sie in einer Datenbank zu speichern und jedem Benutzer nur eine zu zeigen. Ich denke, es gibt wahrscheinlich einen besseren Weg.

Ich verwende node.js, daher wäre eine Lösung mit bitcoinjs oder einem anderen node.js-Paket vorzuziehen.

Ich würde es vorziehen, Multisignatur-Adressen zu verwenden.

Ich würde mich lieber nicht auf blockchain.info oder eine Börse verlassen – es führt zu einem Single Point of Failure.

PS: Sind Sie damit einverstanden, dass die privaten Schlüssel zu den Adressen auf Ihrer Website gespeichert sind?
nein. Private Keys Bitaddress/Bulkwallet) müssen lokal gespeichert werden, die öffentlichen Adressen können in Mongodb auf dem Server gespeichert werden, versteckt vor Google usw. Wir haben eine Website für einen alten Mann gebaut, der einen Neuheitenladen betreibt, er hat keine Ahnung von Technik also muss dies für ihn automatisiert werden, aber so schnell wie möglich.

Antworten (4)

Sie sollten versuchen, BIP32 zum Generieren von Adressen zu verwenden.

Hier gibt es eine node.js-Implementierung: http://cryptocoinjs.com/modules/currency/hdkey/

Einmalige Schlüssel sind an einigen Börsen Standard. Wenn Sie zum Beispiel die Börsengeldbörse aufladen, wird die Empfängeradresse recycelt, nachdem sie eine Transaktion erhalten hat. Sie können Empfangsadressen spontan generieren, es ist nicht erforderlich, sie vorab zu generieren.

Sie müssen Empfangsadressen hinter etwas setzen, das den Crawler stoppt. Wenn Sie nur auf Webcrawler abzielen, reicht es aus, die Zahlungsseite hinter das HTTP-POST-Formular zu stellen. Wenn Sie böswillige Besucher stoppen möchten, benötigen Sie CAPTCHA, bevor der Besucher die Zahlungsadresse erhalten kann.

Außerdem sollten Sie sicherstellen, dass keine Log-Einträge von QR-Codes und dergleichen vorhanden sind. Dies wird am besten erreicht, indem das QR-Code-Bild auf der Client-Seite mit JavaScript generiert wird. Hier ist eine Beispielbibliothek dafür . Einige beliebte Lösungen, wie der QR-Code-Generator von Google, enthalten QR-Code-Inhalte in der URL und hinterlassen daher Protokolleinträge, die die Adresse enthalten.

Ich hasse Captchas, alle anderen auch, also ist das raus. Auch die Nutzung einer Exchange ist keine Option mehr. Form method=post klingt dann nach der einzigen Möglichkeit, den Schlüssel zu verstecken? Welche Bibliothek verwenden wir dann für das, was ich zu erreichen versuche?
bitcoinaddress.js zeigt auch alles auf der Seite im Klartext an, nicht gut. siehe meine Frage oben für warum etc danke :)
Es macht keinen Unterschied, ob Sie es als einfachen Text, QR-Bild oder Sprachclip anzeigen, wobei eine Dame jedes Zeichen liest. Sie müssen die öffentliche Adresse angeben, wenn Sie etwas darüber empfangen möchten, und daher spielt es keine Rolle, welche Methode Sie verwenden, da alle gleich sicher sind.
Hier ist ein JavaScript-basiertes Multisig-Wallet als Open Source github.com/bitpay/copay
Ich stimme dir nicht zu. Das Anzeigen des öffentlichen Schlüssels als Bild in einem kompilierten JPEG wäre sicherer, als ihn als rohen, kopierfähigen Klartext auf der Seite anzuzeigen. Die meisten Leute scannen einfach den QR-Code, bevor sie einen Schlüssel kopieren/einfügen...
@kenCode: Das stimmt leider nicht. Beide sind mit einem einfachen rechten Mausklick kopierbar. Die Tatsache zu betonen, dass das Image sicherer ist, würde Ihre Sicherheit auf falschen Prinzipien aufbauen und Ihr Versprechen eines sicheren Dienstes untergraben.
Google kann SVG-Dateien lesen, sogar Rohtext in einem PDF, aber ich sehe noch nicht, dass Google den Text liest, der auf ein Bild gezeichnet wird. (dh: Captchas) Ich kann mir einfach keinen einfacheren Weg vorstellen, den öffentlichen Schlüssel anzuzeigen. Vielleicht überspringen Sie die Anzeige des Schlüsseltextes und zeigen von nun an nur noch QR-Codes an? Das könnte den Kunden auf der Website jedoch etwas misstrauisch machen, da er nicht sicher ist, ob er Geld an die richtige Adresse sendet. Ich persönlich habe die ersten 5 oder 6 Zeichen selbst gelesen, nur um sicherzustellen, dass sie mit dem übereinstimmen, an das meine Brieftasche BTC senden wird. Also, wie verstecken wir diesen Schlüsseltext vor Google et al.? Ideen?
Machen Sie Ihre Zahlungsseite einfach für Google und andere Bots mit CATPCHA unzugänglich, wie in der Antwort erläutert

Adresse mit Javascript ausgeben, Crawler können das nicht sehen. zB document.WriteLn(addressHere); Das Verstecken der Seite hinter einem POST stoppt die meisten Crawler, aber nicht alle.

Alternativ könnten Sie eine einfache Verschleierung durchführen, z. B. die Adresse in zwei Teile teilen und den Benutzer bitten, sie zu kombinieren, oder das Präfix „1“/„3“ weglassen und die Benutzer bitten, es manuell hinzuzufügen. So ähnlich wie wenn Leute ihre E-Mail-Adresse als userATdomainDOTcom angeben.

Alternativ könnten Sie einen Zahlungsabwickler verwenden, der in Bitcoin auszahlt, z. B. snapcard.io

Ich bin auf dieser Seite gelandet, weil ich nach einer Lösung gesucht habe, damit meine öffentliche Bitcoin-Adresse nicht von Suchmaschinen-Bots indiziert wird .

Ich habe eine Lösung dafür gefunden.

Die Idee ist, die Bitcoin-Adressen über js oder ajax bereitzustellen und den Bots den Zugriff auf die Datei mithilfe einer Regel zu verweigern .robots.txt

Sie schreiben Ihr HTML (Template) mit Platzhaltern für die Bitcoin-Adresse(n). Verwenden Sie entweder eine einfache js-Datei , die Adressen in Variablen enthält, oder führen Sie einen Ajax- Aufruf durch, um Adressen (die im laufenden Betrieb generiert werden können) über json abzurufen, und zeigen Sie (über js) die Adressen auf der Seite im Browser an.

Aber Sie fügen eine DisallowRegel hinzu, robots.txtum den Bots zu verbieten, entweder die js- oder die ajax-URL herunterzuladen .

Dies wurde mit GoogleBot getestet und funktioniert einwandfrei. (explizit getestet in der Search Console mit der Funktion „ Erkunden wie bei Google “). Alle gut erzogenen Bots , die folgen, robots.txtsollten die Adressen nicht sehen können und die Seite nicht richtig darstellen können.

Dies funktioniert nicht für Bots, die sich nicht darum kümmern robots.txtoder es ignorieren, um die Seite zu rendern.