GUÍA PILLAR · PROTOCOLO
Qué es un UTXO en Bitcoin y cómo funciona (explicado fácil)
Qué es un UTXO en Bitcoin, en qué se diferencia del modelo de cuentas, cómo se genera cambio, privacidad y ejemplos prácticos. Guía técnica en español.
Resumen rápido
Un UTXO (Unspent Transaction Output) es la unidad real de saldo en Bitcoin. No existen "cuentas" con un número de saldo: lo que existe son monedas digitales específicas (UTXOs) que solo el receptor puede gastar. Tu balance es la suma de los UTXOs que controlas con tu clave privada. Cuando pagas, gastas uno o varios UTXOs completos y la transacción crea outputs nuevos (pago + cambio).
Explicación simple
Bitcoin no funciona como una cuenta bancaria. Funciona como una billetera con billetes físicos. Si tienes un billete de 20 € y quieres pagar 13 €, no te "descuentan" 13 € de un saldo numérico: entregas el billete de 20 € y recibes 7 € de cambio. Bitcoin hace exactamente lo mismo: el billete de 20 € es un UTXO; al pagar lo "gastas" entero, y la transacción genera dos UTXOs nuevos (13 € para el receptor, 7 € para ti).
Tu "balance" en una wallet no es un número guardado en algún sitio: es la suma de todos los UTXOs que tu clave privada puede desbloquear.
Explicación técnica
1. Estructura de un UTXO
Un UTXO tiene tres componentes esenciales:
- Valor en satoshis (1 BTC = 100.000.000 sats).
- Script de bloqueo (scriptPubKey o tapscript): las condiciones que hay que cumplir para gastarlo.
- Referencia a la transacción donde nació (txid + vout).
2. Cómo se gasta un UTXO
Para gastar un UTXO, la transacción debe incluir una entrada que apunte al UTXO y un witness (firma o script) que satisfaga las condiciones. Una vez incluida en un bloque confirmado, el UTXO se elimina del conjunto activo (UTXO set) y se crean los outputs nuevos.
3. UTXO set y validación
Cada nodo mantiene un UTXO set en disco con todos los UTXOs sin gastar. Cuando llega una transacción, el nodo verifica que cada entrada existe en el set y que el witness es válido. Si todo cumple, la transacción se acepta; si no, se rechaza. Este es el mecanismo que impide el doble gasto.
4. Change address y coin selection
Cuando una wallet construye una transacción, ejecuta coin selection: decide qué UTXOs combinar como entradas para alcanzar el monto a enviar + las fees. Casi siempre sobra; ese excedente vuelve a una nueva dirección tuya (change address). Una buena coin selection minimiza fees y mejora privacidad.
5. UTXO y privacidad
Como cada UTXO puede vivir en una dirección distinta, Bitcoin permite estructuralmente más privacidad que un modelo de cuentas. Sin embargo, técnicas como CoinJoin son necesarias para evitar el rastreo por análisis de cadena cuando se mezclan UTXOs de origen identificado.
Ejemplo real: Alice envía 0,3 BTC a Bob
- Alice tiene un UTXO de 1 BTC en su wallet.
- Quiere enviar 0,3 BTC a Bob. La fee estimada es 0,0001 BTC.
- La wallet construye una transacción con:
- Entrada: el UTXO de 1 BTC de Alice.
- Output 1: 0,3 BTC a la dirección de Bob.
- Output 2: 0,6999 BTC a una change address de Alice.
- Alice firma con su clave privada. La firma autoriza gastar el UTXO original.
- La transacción se propaga, se incluye en un bloque y se confirma.
- El UTXO de 1 BTC desaparece. Aparecen dos UTXOs nuevos: uno controlado por Bob, otro por Alice.
Ventajas y desventajas del modelo UTXO
Ventajas
- Privacidad estructural — cada UTXO independiente.
- Paralelización — tx que no comparten UTXOs validables en paralelo.
- Verificación sencilla — basta con consultar el UTXO set.
- Sin estado global mutable — más fácil de razonar formalmente.
Desventajas
- Más complejo conceptualmente para quien viene de cuentas bancarias.
- Coin selection añade complejidad a las wallets.
- Contratos complejos son menos directos que en un modelo de cuentas (mitigado por BitVM y L2).
UTXO vs modelo de cuentas (Ethereum)
| Característica | UTXO (Bitcoin) | Accounts (Ethereum) |
|---|---|---|
| Unidad | Monedas específicas | Saldo numérico |
| Privacidad por defecto | Mayor | Menor |
| Paralelización | Trivial | Compleja |
| Doble gasto | Imposible por construcción | Imposible por nonce |
| Cambio / change | Sí, generado por la wallet | No, descuenta del saldo |
| Smart contracts | Limitados en L1; ricos en L2 | Ricos en L1 (EVM) |
Por qué importa el modelo UTXO
El modelo UTXO es lo que hace posible Lightning Network, los covenants, las construcciones BitVM y la paralelización de la verificación. Sin UTXOs, muchas de las propiedades que definen a Bitcoin —privacidad estructural, paralelización, verificación local— serían más difíciles de construir. Es una de las decisiones de diseño más infravaloradas del protocolo.
Privacidad y UTXO: lo que sí y lo que no
Bitcoin es pseudónimo, no anónimo. Cada UTXO está asociado a una dirección, y las direcciones se pueden conectar entre sí mediante análisis de cadena (clustering por co-spending, change heuristics, timing). Empresas como Chainalysis, Elliptic y CipherTrace ofrecen este servicio a exchanges y reguladores.
El modelo UTXO ofrece ventajas estructurales que un modelo de cuentas no tiene:
- Sin dirección "principal" — Cada UTXO puede vivir en una dirección distinta.
- Sin balance público — A diferencia de Ethereum, no hay un saldo agregado público por usuario.
- Compatible con CoinJoin — Técnica que mezcla UTXOs de varios usuarios para romper trazabilidad (Whirlpool, JoinMarket).
- Compatible con Taproot — Indistinguibilidad entre pago simple y contrato complejo.
Para máxima privacidad, las prácticas recomendadas son: usar una dirección nueva por cada transacción, evitar reutilización, considerar CoinJoin antes de mezclar UTXOs de fuentes distintas y usar wallets que implementen coin selection consciente de privacidad (Sparrow, Bitcoin Core).
Errores comunes con UTXOs
- Reutilizar direcciones — La buena práctica es una dirección por uso. Reutilizar revela patrones y, post-cuántico, expone la pubkey ([BIP-360](/articulos/bip360-resistencia-cuantica)).
- Mezclar UTXOs de KYC y no-KYC — Combinar UTXOs de un exchange con KYC y de fuentes anónimas en una misma tx vincula ambos orígenes.
- Olvidar las dust UTXOs — Pequeñas cantidades pueden costar más en fee que su valor. Las wallets ofrecen consolidación.
- No revisar coin selection — Por defecto las wallets eligen UTXOs sin considerar privacidad. Sparrow y otras permiten control manual.
- Confundir change con direcciones del receptor — La change address es tuya, pero un analista la puede identificar heurísticamente. Taproot ayuda a mitigarlo.
UTXO en contextos avanzados
- Lightning Network — Cada canal Lightning empieza con un UTXO multisig 2-de-2.
- Covenants — Las propuestas OP_CAT y CTV añadirían restricciones a cómo se gastan UTXOs.
- BitVM y Citrea — Usan UTXOs para anclar pruebas y compromisos.
- Taproot Assets — Codifica activos arbitrarios sobre UTXOs Bitcoin.
- Vaults — Esquemas (con covenants) donde un UTXO solo se puede gastar tras un periodo de gracia, permitiendo revertir un robo si se detecta a tiempo.
Glosario semántico interno (entidades clave del modelo UTXO)
- UTXO set — Conjunto de UTXOs no gastados que mantiene cada nodo. ~10 GB en 2026.
- Outpoint — Referencia a un UTXO concreto:
txid:vout. - vout — Índice del output dentro de una transacción.
- scriptPubKey — Las condiciones para gastar un UTXO ("candado").
- scriptSig / witness — Datos que demuestran que cumples las condiciones ("llave").
- Coin selection — Algoritmo que decide qué UTXOs combinar al construir una tx.
- Change address — Dirección donde vuelve el "cambio" de una tx.
- Dust — UTXOs tan pequeños que la fee de gastarlos supera su valor.
- Consolidation — Combinar muchos UTXOs pequeños en uno grande para reducir fees futuras.
- CoinJoin — Técnica para mezclar UTXOs de varios usuarios y romper trazabilidad.
- Address reuse — Práctica desaconsejada: usar la misma dirección para múltiples pagos reduce privacidad.
- P2WPKH, P2TR — Tipos de scriptPubKey modernos. Ver anatomía de una transacción.
- Multisig — UTXO que requiere M-de-N firmas. Con MuSig2 y Taproot son baratos y privados.
Tabla de fuentes validadas
| # | Fuente | Tipo | Año | Dato clave |
|---|---|---|---|---|
| 1 | Bitcoin Whitepaper § 2 "Transactions" | Whitepaper | 2008 | Modelo UTXO original |
| 2 | Bitcoin Wiki — UTXO | Referencia | 2024-2026 | Estructura detallada |
| 3 | BIP-341 (Taproot) | Especificación | 2020 | P2TR outputs |
| 4 | BIP-141 (SegWit) | Especificación | 2015 | Witness vs scriptSig |
| 5 | Bitcoin Core src/consensus/tx_verify.cpp | Código fuente | 2026 | Validación implementada |
Recursos relacionados
- Artículo corto: UTXO
- Qué es Bitcoin
- Proof of Work
- Qué es Taproot
- Qué es Lightning Network
- UTXO en el glosario
- Bitcoin vs Ethereum
- Anatomía de una transacción
- Mapa del stack de Bitcoin
- Qué es blockchain
- Layer 1 vs Layer 2
- Metodología editorial