¿Cuál es el vínculo entre el domicilio y el uso de la UTXO?

Declaro que todavía soy un principiante. Necesito alguna aclaración. Estoy usando Testnet. Esta es la información sobre la dirección que usé para recibir fondos de un Faucet

 bitcoin-cli validateaddress 2N7MaihNErbNH8XTkuZWtJYPzMQAWMPVKHd
{
  "isvalid": true,
  "address": "2N7MaihNErbNH8XTkuZWtJYPzMQAWMPVKHd",
  "scriptPubKey": "a9149ac58ff47e27214b158b38da04bc8cbf72def14387",
  "isscript": true,
  "iswitness": false
}
bitcoin-cli decodescript a9149ac58ff47e27214b158b38da04bc8cbf72def14387
{
  "asm": "OP_HASH160 9ac58ff47e27214b158b38da04bc8cbf72def143 OP_EQUAL",
  "reqSigs": 1,
  "type": "scripthash",
  "addresses": [
    "2N7MaihNErbNH8XTkuZWtJYPzMQAWMPVKHd"
  ]
}

¿Qué significan los datos? Interpreto que mi dirección recibirá UTXO bloqueado por scripts tipo P2SH, ¿correcto? "iswitness": falso significa que esta dirección no puede usar UTXO segWit?

En esta dirección recibí el siguiente resultado como entrada:

{
      "value": 0.01944571,
      "n": 1,
      "scriptPubKey": {
        "asm": "OP_HASH160 9ac58ff47e27214b158b38da04bc8cbf72def143 OP_EQUAL",
        "hex": "a9149ac58ff47e27214b158b38da04bc8cbf72def14387",
        "reqSigs": 1,
        "type": "scripthash",
        "addresses": [
          "2N7MaihNErbNH8XTkuZWtJYPzMQAWMPVKHd"
        ]
      }

La UTXO bloqueada es la siguiente:

"txid": "a61389ff9af670770182198a984a4c1785625c60795bd57645ecc78765b23679",
    "vout": 1,
    "address": "2N7MaihNErbNH8XTkuZWtJYPzMQAWMPVKHd",
    "label": "",
    "redeemScript": "0014778daf651b21684b572644b47d551fce0ff71c74",
    "scriptPubKey": "a9149ac58ff47e27214b158b38da04bc8cbf72def14387",
    "amount": 0.01944571,
    "confirmations": 116,
    "spendable": true,
    "solvable": true,
    "desc": "sh(wpkh([7de694b7/0'/0'/7']032c27921f2d15e7eca768c0e8a8b1aeb863328c74d6c194d41dde2888d4b0e75b))#6z7uwusp",

"Sh (wpkh ())" describe una salida P2SH-P2WPKH y la clave pública con la que está asociada.

El descriptor nos dice que el script hash (sh) incorpora salida wpkh (Testigo - Pública - Clave - Hash). En palabras simples, el RedeemScript debe coincidir con el HASH de esta clave pública, ¿correcto?

Cuando desbloqueo y uso este UTXO, mi entrada generará un campo txinwitness separado.

"scriptSig": {
        "asm": "0014778daf651b21684b572644b47d551fce0ff71c74",
        "hex": "160014778daf651b21684b572644b47d551fce0ff71c74"
      },
      "txinwitness": [
        "3044022034a07f088dd88396cd378912a4ed6a156701b075f0facbbae810677048c390e602205df07e13bf4d56feece791a1b5e4d94bec9c93aae14bb87a1b4c6c54ae9bf2f701",
        "032c27921f2d15e7eca768c0e8a8b1aeb863328c74d6c194d41dde2888d4b0e75b"
      ],
      "sequence": 4294967295

No puedo entender el vínculo entre la información de mi dirección ("es un testigo": falso) y las formas en que recibí/gasté la UTXO.

Respuestas (1)

Debido a que la dirección que está utilizando es una dirección P2SH-P2WPKH como menciona ( sh (wpkh ())), obtiene el resultado

"escritura": cierto,

"es un testigo": falso

Está hablando solo del nivel superior (P2SH), porque es una dirección P2SH, independientemente de lo que codifique el script "dentro". No "ve" el P2WPKH subyacente cuando llama a validateaddress. La única vez isscriptque iswitnessambos son verdaderos es para las direcciones P2WSH. Puede ver el código que crea este RPC isscript/ iswitnesssalida aquí .

Cuando lo gastas, revelas el guión dentro del P2SH. Debido a que es un script P2WPKH, que es OP_0 <keyhash>, ese script se evalúa como tal (usando los datos de clave/firma en el testigo).

¿Es la billetera la que decide qué tipo de dirección usar? las transacciones entrantes a las direcciones que generaré siempre serán P2SH?
Puede elegir qué tipo de dirección generará su billetera. Si genera direcciones P2SH-P2WPKH (como las ha hecho), las transacciones entrantes deben seguir el formato correcto, sí. Sin embargo, técnicamente, si alguien conoce la clave en sí, también puede realizar transacciones en las formas P2PKH y Bech32 de esa clave, y la billetera las aceptará actualmente.
para mi billetera generé 3 direcciones con el comando getnewaddress. Todos los utxo recibidos están en el mismo formato. ¿P2SH-P2WPKH es el formato estándar para getnewaddress?
Es el predeterminado para su versión de bitcoin core, pero puede cambiarlo