Zieladresse(n) beim Einlösen eines HTLC

Ausgehend von diesem Text unter https://en.bitcoin.it/wiki/Script :

"Das Skript für eine typische Bitcoin-Überweisung an die Ziel-Bitcoin-Adresse D belastet die zukünftige Ausgabe der Bitcoins einfach mit zwei Dingen: Der Spender muss 1. einen öffentlichen Schlüssel bereitstellen, der, wenn er gehasht wird, die in das Skript eingebettete Zieladresse D ergibt ..."

und dann auf das HTLC-Skript schauen:

OP_IF
    [HASHOP] <digest> OP_EQUALVERIFY OP_DUP OP_HASH160 <seller pubkey hash>            
OP_ELSE
    <num> [TIMEOUTOP] OP_DROP OP_DUP OP_HASH160 <buyer pubkey hash>
OP_ENDIF
OP_EQUALVERIFY
OP_CHECKSIG

Mein ursprünglicher Gedanke war, dass der HTLC nur an der Adresse hinter <seller pubkey hash>oder eingelöst werden kann <buyer pubkey hash>: Sie sind die einzigen Daten, die sich auf Adressen beziehen, die in das Skript eingebettet sind, also muss die oben erwähnte "Zieladresse" sein. Ich verstehe das falsch.

Sehe ich das jetzt richtig:

  1. Dass die beiden Pubkey-Hashes lediglich das Recht des Erlösers begründen, den jeweiligen Zweig zu nehmen;
  2. Es gibt tatsächlich keine "in das Skript eingebettete Zieladresse D" für einen HTLC;
  3. Dass der Verkäufer oder Käufer an jeder beliebigen Adresse einlösen kann;
  4. Und diese Adresse kann durch die Finanzierung und das Leben des HTLC bis zu den Momenten vor der Erlösung unentschieden bleiben?

Antworten (1)

Die Eingaben einer Transaktion haben absolut keine Fähigkeit, die Ausgaben in irgendeiner Situation zu beeinflussen. Sie können nur festlegen, wer Geld ausgeben darf, nicht die Bedingungen, wie sie es ausgeben.

Es war mir bisher nicht aufgefallen, dass das einlösenScript eine der Eingaben ist, also danke dafür - das ist mir jetzt klar, dass es darauf hingewiesen wird. Ich vermute, ich habe "das Skript", das auf der Seite verwendet wird, im engeren Sinne von "redeemScript" zusammengeführt.