Können Sie eine Unterschrift in eine Bitcoin-Zahlung einfügen?

Ich weiß, dass Sie den Bitcoin-Client verwenden können, um Nachrichten zu signieren (für die Sie den privaten Schlüssel besitzen) und Nachrichten von anderen öffentlichen Adressen zu überprüfen. Aber können Sie tatsächlich eine signierte Nachricht in eine Transaktion einbetten, sodass sie in der Blockchain für jedermann verifizierbar ist? Wenn ich "signierte Nachricht" sage, beziehe ich mich auf eine beliebige Nachricht wie im beigefügten Beispiel.

Geben Sie hier die Bildbeschreibung ein

Antworten (1)

Nein. Dies ist nicht möglich, obwohl es technisch möglich wäre, indem nSie untergeordnete Transaktionen hinzufügen, die jeweils als tx aus Ihrer ursprünglichen Transaktion gebildet werden. Die untergeordnete Transaktion könnte dann jeweils eine OP_RETURN-Ausgabe (nur Daten) haben. Mit einem OP_RETURN-Ausgang können Sie bis zu 80 Bytes speichern (mindestens 5286 ). Eine DER-Signatur beträgt etwa 72 Bytes (71,5 im Durchschnitt)

... also bleibt außer der Signatur nicht viel übrig (~8 Bytes pro OP_RETURN tx als tx aus dem ursprünglichen tx). Verwenden Sie also vielleicht OP_RETURN txout 0für n-1den Text/die Daten und nfür die Signatur. Offensichtlich erhöht dies Ihre Transaktionsgebühr ein wenig, da Sie mindestens 2 zusätzliche Transaktionen benötigen.

Fazit: Nicht möglich, es sei denn, Sie experimentieren gerne mit dem Fälschen Ihrer eigenen benutzerdefinierten Transaktionen.

Es sieht so aus, als wäre OP_RETURN die einzige Möglichkeit, an dieser Stelle Metadaten zu einer Transaktion hinzuzufügen. Das ist schade, da die meisten Wallets das Festlegen dieser Eigenschaft nicht zulassen, sodass eine benutzerdefinierte Entwicklung erforderlich wäre.