Hash Locked Multisig, kann ein Cosigner ohne das Pre-Image signieren?

Stellen Sie sich vor, Alice und Bob haben das folgende native Segwit-Skript erstellt:

Hash SHA256 definiert als H | Alice PubKey | Bob Pubkey

Nur Bob hat das Pre-Image (einfacher Text, der [sha256] zu H hasht). Kann Alice einfach eine Transaktion signieren, ohne H preiszugeben, und die teilweise signierte Transaktion außerhalb der Kette einfach an Bob übergeben, damit er H preisgeben und seine Signatur hinzufügen, die Transaktion endgültig machen und ausgeben kann?

Der Haken dabei ist, dass weder Alice und Bob die totale und exklusive Kontrolle über die Gelder haben, sondern dass Bob ein zusätzliches Geheimnis als Ausgabebedingung preisgeben muss.

Antworten (1)

Kann Alice einfach eine Transaktion signieren, ohne H preiszugeben, und die teilweise signierte Transaktion außerhalb der Kette einfach an Bob übergeben, damit er H preisgeben und seine Signatur hinzufügen, die Transaktion endgültig machen und ausgeben kann?

Sicherlich. Natürlich muss die Software wissen, wie sie mit diesen Daten umgeht, aber das ist nicht so schwer.

Das Pre-Image wird in keiner Weise beim Signieren verwendet; es handelt sich lediglich um zusätzliche Daten, die das Skript benötigt, damit das Skript korrekt validiert werden kann.

Ich danke Ihnen sehr für Ihre Antwort. Können Sie bitte in wenigen Worten beschreiben, wie die Software mit den Daten umgehen soll? Also kann Unterstützung dafür hinzugefügt werden?
Die Software müsste nur verstehen, was das Skript ist, und wissen, wohin die betreffenden Daten (bereitgestellte Signaturen und Preimage) gehen müssen.
Dies ist also ein 2-von-2-Multisig, und der (Redeemscript-) Hash wird zwischen beiden geteilt. Bob kann das Klartext-Einlösungsskript behalten. Und Alice bekommt nur den Hash davon. Andernfalls würde Alice nicht die vollständige Transaktion signieren (wobei sich der Hash des Einlösungsskripts im Abschnitt "Sigscript" befindet)?
@pebwindkraft Nein. Dieses Szenario wäre überhaupt nicht möglich, da Alice das RedeemScript benötigt, um eine gültige Signatur zu erstellen. Wovon OP spricht, ist ein HTLC.