Descripción general
Un UTXO (Salida de Transacción No Gastada) es el bloque de construcción fundamental del sistema contable de Bitcoin. A diferencia de los sistemas bancarios tradicionales que rastrean saldos de cuenta, Bitcoin rastrea fragmentos discretos de valor — cada UTXO representa una cantidad específica de bitcoin bloqueada por una condición de gasto. Para enviar bitcoin, una billetera selecciona uno o más UTXOs como entradas, los desbloquea satisfaciendo sus condiciones, y crea nuevos UTXOs como salidas.
El modelo UTXO
Modelo basado en cuentas (bancos): Modelo UTXO (Bitcoin):
┌─────────────────────┐ ┌─────────────────────────┐
│ Alice: $500 │ │ UTXO 1: 0.3 BTC → Alice │
│ Bob: $300 │ │ UTXO 2: 0.15 BTC → Alice│
│ │ │ UTXO 3: 0.5 BTC → Bob │
│ (saldo único) │ │ (monedas discretas) │
└─────────────────────┘ └─────────────────────────┘
Saldo de Alice = suma de sus UTXOs = 0.45 BTC
Ciclo de vida de un UTXO
- Creación: Un UTXO se crea como salida de una transacción, bloqueando una cantidad específica de bitcoin en un script (por ejemplo, requiriendo la firma de Alice).
- Existencia: El UTXO se encuentra en el conjunto UTXO, disponible para ser gastado.
- Gasto: Cuando Alice crea una nueva transacción, referencia el UTXO como entrada y proporciona los datos (firma, etc.) para satisfacer su condición de gasto.
- Destrucción: Una vez gastado, el UTXO se elimina del conjunto UTXO. Ya no existe; los nuevos UTXOs creados por la transacción de gasto toman su lugar.
Un UTXO solo puede ser gastado en su totalidad — no hay manera de gastar un UTXO parcialmente. Si Alice tiene un UTXO de 0.3 BTC y quiere enviar 0.1 BTC, su transacción crea dos salidas: 0.1 BTC para el destinatario y aproximadamente 0.2 BTC de vuelta para ella como cambio (menos la comisión de transacción).
Por qué importa el modelo UTXO
- Paralelismo: Los UTXOs pueden validarse independientemente, permitiendo una verificación paralela eficiente.
- Privacidad: Cada UTXO puede usar una dirección diferente, haciendo más difícil vincular transacciones.
- Verificación determinista: Cada nodo completo puede verificar independientemente que ningún UTXO sea gastado dos veces.
- Sin estado global: No hay "saldos de cuenta" que corromper — el conjunto UTXO es el estado completo.
Casos límite
- Polvo: Los UTXOs muy pequeños pueden costar más en comisiones gastarlos de lo que valen, haciéndolos efectivamente imposibles de gastar.
- Saturación de UTXOs: Crear muchos UTXOs pequeños aumenta el tamaño del conjunto UTXO que todos los nodos deben almacenar en memoria, lo que tiene costos para la red.
- Selección de monedas: Las billeteras deben elegir qué UTXOs gastar, equilibrando eficiencia de comisiones, privacidad y gestión de UTXOs.