Segregated Witness (SegWit) cambia cómo las transacciones de Bitcoin incluyen pruebas de gasto, como firmas. En entradas SegWit, esta información se coloca en una estructura de testigo excluida del identificador tradicional, o txid. Los nodos validadores siguen transmitiendo y verificando los datos; no se eliminan del proceso de verificación.
Identificadores estables y compromisos de bloque
Separar el testigo resuelve formas importantes de maleabilidad, en las que cambiar datos relacionados con la firma podía alterar un identificador sin modificar el pago previsto. La protección depende de las entradas y condiciones de firma; no debe describirse como eliminación de cualquier modificación posible.
Un identificador de transacción con testigo, wtxid, sí incluye esos datos. Los bloques se comprometen criptográficamente con ellos mediante un compromiso de testigo asociado a la transacción coinbase. SegWit se implementó como bifurcación suave.
Peso y efectos prácticos
SegWit introdujo el peso de bloque: los datos que no son de testigo pesan más que los de testigo. Esto puede reducir el tamaño virtual de transacciones adecuadas y mejorar el uso del espacio. Las comisiones reales todavía dependen de la estructura de la transacción y la tarifa vigente.
Identificadores más estables apoyan protocolos que construyen transacciones sobre otras aún no confirmadas, incluidos los canales Lightning. SegWit no vuelve las transacciones privadas, gratuitas ni confirmadas automáticamente.