127 / 691WIT

Datos witness

Witness data contiene pruebas para gastar entradas SegWit. Forma parte de la transacción aunque el cálculo original de txid lo excluya.

Witness es un campo de elementos de pila para cada entrada. Su significado depende de la versión y condición de la salida gastada; no es automáticamente un script ejecutable por separado.

Cada entrada tiene su lista de elementos en la serialización witness. La firma verifica un mensaje definido por la versión de script correspondiente; tener datos no demuestra validez. [BIP 141 — Segregated Witness] [BIP 143 — SegWit signature hashing]

txid se calcula con la serialización original sin witness. wtxid incluye la serialización completa con witness; sin witness los identificadores coinciden. [BIP 141 — Segregated Witness]

El programa witness es una condición versionada en la salida gastada. Witness se aporta en la transacción posterior que la gasta; no es el mismo campo ni un respaldo del conjunto UTXO. [BIP 141 — Segregated Witness]

SegWit nativo versión 0 exige scriptSig vacío. En la forma encapsulada en P2SH, scriptSig introduce el programa witness; la prueba de gasto permanece en witness. [BIP 141 — Segregated Witness]

P2WPKH aporta firma y clave pública. En P2WSH el último elemento es witnessScript, cuyo hash debe coincidir con el programa; los elementos anteriores forman la pila inicial. [BIP 141 — Segregated Witness] [BIP 143 — SegWit signature hashing]

Tras retirar annex si existe, Taproot distingue un solo elemento de firma para la ruta de clave y una ruta de script con script y bloque de control. Las reglas de versión cero no se trasladan mecánicamente a versión 1. [BIP 341 — Taproot]

BIP 141 compromete witness mediante un árbol wtxid y un compromiso en coinbase. Coinbase usa wtxid cero en ese árbol; el compromiso combina la raíz con un valor reservado de 32 bytes. [BIP 141 — Segregated Witness]

Cambiar solo witness no cambia txid. La separación no garantiza inmutabilidad de todos los demás campos o combinaciones de entradas; la prueba alterada debe seguir validándose. [BIP 141 — Segregated Witness] [Bitcoin Core — Segregated Witness benefits]

Los bytes añadidos por serialización witness aportan 1 WU frente a 4 WU del byte base. Un Full Node aún los necesita para la validación pertinente; no son datos gratuitos fuera de cadena. [BIP 141 — Segregated Witness] [Bitcoin Core v29.0 — Script interpreter]

Witness puede revelar públicamente firma, clave pública o rama de script utilizada. No es almacenamiento cifrado, no está destinado a guardar claves privadas ni sustituye Seed Phrase o respaldos de cartera. [BIP 341 — Taproot] [Bitcoin Developer Reference — Transactions]

Para obtener la imagen más completa, lee esta entrada junto con SegWit, Peso de bloque, Bitcoin Script, Taproot. También enlazan con esta entrada Byte virtual, Peso de bloque.

DOC · 001BIP 141 — Segregated WitnessEspecificaciónDOC · 002BIP 143 — SegWit signature hashingEspecificaciónDOC · 003BIP 341 — TaprootEspecificaciónDOC · 004Bitcoin Developer Reference — TransactionsDocumentaciónDOC · 005Bitcoin Core v29.0 — Script interpreterDocumentaciónDOC · 006Bitcoin Core — Segregated Witness benefitsDocumentación
Fuentes primero · No es asesoramiento financiero