Ist es möglich, eine Ausgabe nur für eine bestimmte Adresse auszugeben?

Im Grunde passt die ganze Frage in den Titel. Ermöglicht die Bitcoin-Skriptsprache, dass eine Transaktionsausgabe nur an eine bestimmte Adresse ausgegeben werden kann? Kann man alle anderen Ausgaben verbieten? Kann man vorschreiben, dass nur Ausgaben über einen bestimmten Geldbetrag erfolgen dürfen, sodass die Transaktionsgebühren nicht beliebig hoch gewählt werden können?

Wenn ja, ist es vermutlich auch möglich, ein Ausgabeskript so zu gestalten, dass es an eine bestimmte Adresse (und nur an diese bestimmte Adresse) ausgegeben werden kann, wenn eine Signatur einer bestimmten Partei vorhanden ist, aber an beliebige Adressen, wenn dies der Fall ist Unterschrift der Partei und auch die einer bestimmten anderen Partei vorhanden ist. Sollte dies aus irgendeinem Grund nicht möglich sein, teilen Sie mir dies bitte mit. Das interessiert mich hauptsächlich.

Ich bin mir nicht sicher, ob ich genau das bekomme, wonach Sie fragen, aber was ist das Problem mit einem Standard-P2PKH-Skript? Dort erstellen Sie ein Skript, das nur von dieser Adresse ausgegeben werden kann.
@sr-gi Ich frage, ob Sie das Skript des UTXO so gestalten können, dass es nur so ausgegeben werden kann, dass das resultierende UTXO zu einer bestimmten Adresse gehört.
Oh, ich verstehe, Sie meinen, dass der UTXO von jedem ausgegeben werden könnte, indem er zu einer bestimmten Adresse gehört. Habe ich recht?
Vielleicht hilft etwas Kontext. Was versuchst du zu machen? Versuchen Sie, jemandem ernsthaftes Geld zu zeigen, oder so etwas?

Antworten (4)

Nein, es ist nicht möglich, eine Ausgabe zu erstellen, die nur an eine bestimmte Adresse ausgegeben werden kann. Ausgaben, die ausgegeben werden, haben keine Auswirkung auf die Ausgaben der Ausgabentransaktion. Sie sind völlig getrennt und unabhängig voneinander, mit Ausnahme des ausgegebenen Betrags.

Das Skript einer Ausgabe definiert nur, was das Eingabeskript sein muss, und das Eingabeskript hat keine Auswirkung auf die Ausgabeskripts dieser Transaktion.

Soweit ich weiß, ist die Antwort nein.

Was Sie vorschlagen, würde bedeuten, dass ein UTXOdie Bedingungen beeinflussen könnte, unter denen die Ausgabe einer Transaktion erstellt würde, aber es kann nur beeinflussen, wie die Eingabe erstellt wird.

UTXOskönnen definieren, wie sie ausgegeben werden sollen, aber nicht, wie die daraus resultierenden UTXOAusgaben erstellt werden.

Diese Art von Sache wird als "Covenant-Transaktion" bezeichnet. Es ist derzeit in Bitcoin nicht möglich, es gibt jedoch Vorschläge, dies zu Bitcion hinzuzufügen, und einer von ihnen wird wahrscheinlich irgendwann in den nächsten Jahren landen. Einer ist OP_CHECKTEMPLATEVERIFY und ein anderer ist OP_CONSTRAINDESTINATION .

Nicht vertrauenswürdig, aber wenn die Quelle darauf vertrauen kann, dass Sie Informationen vernichten oder einen Plan entwickeln, bei dem Sie den privaten Schlüssel nicht anzeigen oder speichern können, könnten Sie:

  1. An eine Adresse senden, für die Sie den privaten Schlüssel haben
  2. Signieren Sie eine Transaktion, indem Sie die Ausgabe an die Zieladresse ausgeben
  3. Zerstören Sie den privaten Schlüssel
  4. Geben Sie Ihrem Empfänger die unterzeichnete Transaktion.

Natürlich ist die Zerstörung des privaten Schlüssels hier der entscheidende Schritt. Erfordert Vertrauen, Kreativität oder eine kryptografiebasierte Lösung, die mir nicht bekannt ist.