segwit anidado en p2sh

Entiendo que las direcciones P2SH se utilizan para permitir que las billeteras "segwit unware" creen salidas gastables para las billeteras segwit (corríjame si me equivoco en algo). Para los nuevos clientes, creo que lo entendí: verificarán que el script incluido en el testigo coincida con el hash del script y lo ejecutarán.

Lo que no entiendo es cómo un cliente consciente de segwit puede gastar esta salida a los ojos de un cliente anterior. Porque claramente no parece que cualquiera pueda gastar. ¿Como funciona?

Gracias.

¿Por qué no parece que cualquiera pueda gastar?
Mi declaración provino de la creencia de que la dirección p2sh se generó codificando hash160 <hash del programa testigo> op_equal. Encontré esto: github.com/bitcoinbook/bitcoinbook/issues/440 . Esto significa que decodificarlo hace que cualquiera pueda gastarlo en clientes antiguos, ¿verdad?
Además del comentario anterior: github.com/bitcoin/bips/blob/master/… . Los clientes de Segwit usan un scriptSig no vacío cuando gastan los resultados recibidos de clientes antiguos.

Respuestas (1)

Hubo un hilo de discusión más largo en bitcointalk, proporciono dos referencias:

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

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

(Vale la pena leer ambos hilos en su totalidad). En resumen: antes de que los nodos se comuniquen entre sí, verifican las capacidades. Y un nodo segwit reduciría la información para un nodo no segwit, para que pueda comprender los detalles de la transacción.