segwit in p2sh verschachtelt

Ich verstehe, dass P2SH-Adressen verwendet werden, um "segwit unaware"-Wallets zu ermöglichen, Ausgaben zu erstellen, die von Segwit-Wallets ausgegeben werden können (bitte korrigieren Sie mich, wenn ich etwas falsch gemacht habe). Für neue Kunden, glaube ich, habe ich es verstanden: Sie werden überprüfen, ob das im Zeugen gecointane Skript mit dem Skript-Hash übereinstimmt, und es ausführen.

Was ich nicht verstehe, ist, wie diese Ausgabe von einem segwit-bewussten Client für die Augen eines alten Clients ausgegeben werden kann. Weil es eindeutig nicht so aussieht, als könnte jeder es ausgeben. Wie funktioniert es?

Danke.

Warum sieht es nicht so aus, als könnte jeder etwas ausgeben?
Meine Aussage kam von der Überzeugung, dass die p2sh-Adresse durch die Codierung von hash160 <Zeugenprogramm-Hash> op_equal generiert wurde. Ich habe das gefunden: github.com/bitcoinbook/bitcoinbook/issues/440 . Das bedeutet, dass das Decodieren es zu einem Geld macht, das jeder für alte Kunden ausgeben kann, oder?
Zusätzlich zum vorherigen Kommentar: github.com/bitcoin/bips/blob/master/… . Segwit-Clients verwenden eine nicht leere scriptSig, wenn sie Ausgaben ausgeben, die sie von alten Clients erhalten haben.

Antworten (1)

Es gab einen längeren Diskussionsthread in Bitcointalk, ich gebe zwei Referenzen an:

https://bitcointalk.org/index.php?topic=2333913.msg23758008#msg23758008

https://bitcointalk.org/index.php?topic=1682183.msg21389041#msg21389041

(Beide Threads sind es wert, vollständig gelesen zu werden). Kurz gesagt: Bevor Knoten miteinander sprechen, verifizieren sie die Fähigkeiten. Und ein Segwit-Knoten würde die Informationen für einen Nicht-Segwit-Knoten reduzieren, damit er die Transaktionsdetails verstehen kann.