Descripción General
Una entrada de transacción es una referencia a una salida de transacción anterior no gastada (UTXO) que el remitente está consumiendo en una nueva transacción. Cada entrada identifica qué UTXO se está gastando y proporciona prueba criptográfica (típicamente una firma digital) de que el gastador está autorizado para hacerlo. Una transacción puede tener una o muchas entradas, y el valor combinado de todas las entradas debe ser mayor o igual a la suma de todas las salidas más la comisión de transacción.
Estructura de la Entrada
Entrada de Transacción (txin):
┌──────────────────────────────────────────────────────┐
│ │
│ Hash TX Anterior (32 bytes) │
│ → Identifica la transacción que contiene el UTXO │
│ │
│ Índice de Salida (4 bytes) │
│ → Qué salida de esa transacción (indexada desde 0)│
│ │
│ ScriptSig / Testigo (variable) │
│ → Prueba de autorización para gastar │
│ → Contiene firma + clave pública (legacy) │
│ → O datos testigo (SegWit) │
│ │
│ Número de Secuencia (4 bytes) │
│ → Usado para señalización RBF y timelocks │
│ │
└──────────────────────────────────────────────────────┘
Cómo Funcionan las Entradas
Transacción Anterior (txid: abc123...):
┌──────────────────────────────┐
│ Salida 0: 0,5 BTC → Alice │ ← Este UTXO existe
│ Salida 1: 0,3 BTC → Bob │
└──────────────────────────────┘
Nueva Transacción (Alice gasta sus 0,5 BTC):
┌──────────────────────────────────────────┐
│ Entrada 0: │
│ tx_previo: abc123... │
│ índice_salida: 0 │
│ scriptSig: <firma de Alice> │
│ <clave pública de Alice> │
│ │
│ Salida 0: 0,45 BTC → Carol (pago) │
│ Salida 1: 0,04 BTC → Alice (cambio) │
│ │
│ Comisión implícita: 0,01 BTC (0,5 - 0,49)│
└──────────────────────────────────────────┘
Autorización de Entrada
El método de prueba de autorización depende del tipo de script del UTXO que se gasta:
| Tipo de Script | Método de Autorización |
|---|---|
| P2PKH | Firma + Clave Pública en ScriptSig |
| P2SH | Script de canje + firmas en ScriptSig |
| P2WPKH | Firma + Clave Pública en datos testigo |
| P2WSH | Script testigo + firmas en testigo |
| P2TR | Firma Schnorr (ruta clave) o script (ruta script) en testigo |
Múltiples Entradas
Las transacciones frecuentemente tienen múltiples entradas para reunir suficiente valor para el pago deseado:
Entrada 0: 0,1 BTC (de tx aaa...) ─┐
Entrada 1: 0,2 BTC (de tx bbb...) ─┤─► Total: 0,5 BTC
Entrada 2: 0,2 BTC (de tx ccc...) ─┘
Salida 0: 0,45 BTC (pago)
Salida 1: 0,04 BTC (cambio)
Comisión: 0,01 BTC
El Número de Secuencia
El campo de número de secuencia de 4 bytes en cada entrada cumple múltiples propósitos:
- Señalización RBF: Un número de secuencia por debajo de 0xFFFFFFFE señala que la transacción es reemplazable (Replace-By-Fee de opt-in)
- Timelocks relativos: Codifica la edad mínima del UTXO referenciado antes de que pueda ser gastado (BIP68)
- Habilitación de nLockTime: Un número de secuencia por debajo de 0xFFFFFFFF habilita el campo nLockTime de la transacción
Conceptos Erróneos Comunes
- Las entradas no contienen bitcoin. Son referencias a UTXOs que contienen bitcoin. La entrada "desbloquea" el UTXO satisfaciendo sus condiciones de gasto.
- Un UTXO solo puede gastarse una vez. Una vez referenciado como entrada en una transacción confirmada, ese UTXO se consume completamente. Cualquier valor sobrante debe enviarse explícitamente de vuelta como una salida de cambio.
- Más entradas significan comisiones más altas. Cada entrada aumenta el tamaño de la transacción, aumentando la comisión requerida. Por eso la gestión de UTXO y la consolidación importan.