So überprüfen Sie den Besitz der Brieftasche mit der Segwit-Adresse

Also ... das scheint eine einfache Frage zu sein.

Wenn ich eine Brieftasche habe und jemand mir BTC schicken möchte. Ich möchte sicherstellen, dass sie die Brieftasche besitzen, von der sie behaupten, Geld zu senden. Normalerweise machen Leute so etwas wie einen Satoshi-Test, um dies zu bestätigen.

Vor Segwit konnte man eine Nachricht signieren und mit der angegebenen Adresse die Nachricht entschlüsseln, um zu bestätigen, dass sie tatsächlich die Brieftasche mit dieser Adresse besitzen.

Nach Segwit ist diese Funktionalität unterbrochen.

getrawtransaction <trans> 1Außerdem kann ich den Befehl nicht verwenden, um die vinder Transaktion zu finden und die zu extrahieren, txidund voutder vin. Verwenden Sie das dann txidund führen Sie es erneut aus getrawtransaction <trans> 1, und sehen Sie sich die Coorepsonding an vout, und das "n", das mit dem vorherigen übereinstimmt, voutfunktioniert nach Segwit nicht mehr. (All dies macht Sinn, da die Art und Weise, wie Transaktionen gebildet werden, völlig anders ist).

Also: Wenn mir jemand 0,00001 BTC schicken soll, wie überprüfe ich dann, aus welcher Wallet das kommt.

Einfacher ausgedrückt: Wie kann ich überprüfen, ob jemand eine Brieftasche mit Segwit-Adressen besitzt?

Antworten (1)

Vor Segwit konnte man eine Nachricht signieren und mit der angegebenen Adresse die Nachricht entschlüsseln, um zu bestätigen, dass sie tatsächlich die Brieftasche mit dieser Adresse besitzen.

Wie Sie festgestellt haben, funktionieren die signmessageund verifymessageRPCs in Bitcoin Core derzeit nicht mit Segwit. Es gab Diskussionen darüber, wie man das am besten beheben kann, aber zum jetzigen Zeitpunkt ist noch kein aktualisierter Code verfügbar.

Außerdem kann ich den Befehl getrawtransaction 1 nicht ausführen

Der getrawtransactionRPC übernimmt nun truestatt dessen 1eine ausführliche JSON-Ausgabe. Die Felder txid, vout, und vinin der JSON-Ausgabe sind für die Art und Weise, wie Sie sie verwenden, gleich (sie haben jetzt nur ein paar zusätzliche Felder für Segwit-Ausgaben und -Eingaben).

Wie kann ich überprüfen, ob jemand eine Brieftasche mit Segwit-Adressen besitzt?

Im Moment gibt es keine einfache Möglichkeit, Bitcoin Core oder eine andere mir bekannte Software zu verwenden. Wenn möglich, möchten Sie vielleicht Ihren Arbeitsablauf so ändern, dass Sie den Besitz des Wallets nicht verifizieren müssen. Wenn Sie beispielsweise derzeit alle Zahlungen an dieselbe Adresse erhalten, können Sie damit beginnen, für jeden Kunden separate Adressen zu verwenden, sodass Alice $ADDRESS_1 und Bob $ADDRESS_2 zahlt, und Sie können den Unterschied zwischen ihren Zahlungen erkennen, an welche Adresse sie bezahlt haben.

Wenn Sie die Inhaberschaft der Adresse für Rückerstattungen verifizieren müssen, können Sie die Benutzer alternativ dazu auffordern, an der Kasse eine Rückerstattungsadresse anzugeben.

Ich sehe in diesem Szenario, dass das Sinn machen würde. Ich spreche von einem allgemeinen Szenario. Jemand behauptet, er habe 10.000 BTC. Wie kann ich diese Behauptung überprüfen.