Zusätzliche Daten / SMS an eine Bitcoin-Transaktion anhängen?

Ich baue eine Single-Page-Web-App, bei der ich die vom Benutzer eingegebene Zeichenfolge (E-Mail-Adresse) zusammen mit ihrer Bitcoin-Zahlung senden muss. Angenommen, ich habe eine einseitige Web-App, die Geschenkgutschein-Barcodes ausstellt und Bitcoin oder Altcoins akzeptiert. Das Problem, das ich habe, ist, dass, wenn der Benutzer an meine statische Bitcoin-Adresse bezahlt, woher ich weiß, wohin ich die Barcode-Informationen senden soll? Ich brauche irgendeine Form von Kontakt, in meinem Fall ist es eine E-Mail-Adresse, die der Benutzer auf der Seite eingibt. Auf welche Weise kann mir der Benutzer seine E-Mail-Adresse senden?

Einige Probleme, auf die ich gestoßen bin, waren die statische Bitcoin-Adresse. Wenn mehrere Personen an dieselbe Bitcoin-Adresse bezahlt haben, weiß ich nicht, an wen ich den Barcode senden soll. Aber wenn ich 100 vorgenerierte Adressen habe. Und einer von ihnen wurde zufällig ausgewählt und dann mit der E-Mail-Adresse kombiniert. Es wäre weniger wahrscheinlich, dass jemand zur gleichen Zeit an dieselbe BTC-Adresse zahlt.

Jetzt besteht das Problem darin, mir diese E-Mail- und BTC-Adresse zu übermitteln, um zu überprüfen, ob die Transaktion abgeschlossen wurde.

Eine der anderen Lösungen, die ich mir ausgedacht habe, war, dass ein weiterer Altcoin mit integrierter Messaging-Fähigkeit erforderlich war. Die einzigen beiden, die ich kenne, sind Florincoin und NXT, wo Sie jeder Transaktion eine Nachricht hinzufügen können. Das einzige Problem dabei ist, dass der App-Besitzer Florincoin oder nxt halten muss (ich glaube nicht, dass Sie eine Nachricht in Ethereum anhängen können?). Die Verwendung von Shapeshift zum Umwandeln von BTC in eine dieser Münzen funktioniert, aber Sie können während dieses Shapeshift-Tauschs keine Nachricht anhängen. Wenn Shapeshift die Möglichkeit aktiviert, während der Konvertierung auch eine Nachricht anzuhängen, würde dies das Problem technisch lösen, indem die E-Mail-Adresse an den App-Eigentümer weitergegeben wird.

Welche anderen Lösungen erfordern möglicherweise keinen zentralen Server zum Sammeln dieser Daten? Zentralisierte Serverlösungen sind auch in Ordnung, wenn Sie eine Lösung haben.

Antworten (1)

Die naheliegende Lösung wäre, bei Zahlungen eine OP_RETURN-Ausgabe mit einer an Sie verschlüsselten E-Mail-Adresse zu verlangen. Das ist nicht einfach und es gibt kein Wallet da draußen, das so etwas unterstützt, aber es ist technisch machbar.

Für das 1-Adressen-Problem können Sie eine deterministische Brieftasche verwenden, die so viele Adressen generieren kann, wie Sie benötigen. Sie können BIP47 verwenden, wenn Sie schick werden und Rückerstattungen anbieten möchten.

Ich habe vor einiger Zeit eine Webshop-Beispiel-App für Armory erstellt, die Sie sich vielleicht ansehen möchten und die für jede Transaktion eine neue Adresse generiert. Vielleicht möchten Sie einen Blick darauf werfen:

https://github.com/etotheipi/BitcoinArmory/tree/master/webshop

op_return funktioniert nicht wirklich, da die Daten verschlüsselt werden müssen, oder? Sie können nicht einfach eine normale Textzeichenfolge in op_return einfügen, oder?
Alles, was im Skript nach op_return kommt, wird ignoriert und kann daher beliebig sein. Ja, es sind Bytes, aber Bytes können eine Zeichenfolge darstellen. Es hängt alles davon ab, was die Daten interpretiert. Die einzige Einschränkung ist die Größe der Daten.
duckx, Sie können jede beliebige Zeichenfolge in OP_RETURN einfügen, einschließlich E-Mail-Adressen. Das einzige, was für die Privatsphäre Ihrer Kunden schrecklich ist, da ihre E-Mail-Adresse jetzt für alle sichtbar in der Blockchain aufgezeichnet wird.