Unidad 6 · Lección 6.1

Qué es un UTXO

Unidad 6: UTXO · lección 1 de 5

Al terminar esta lección podrás

  • Definir un UTXO y saber cómo se señala uno concreto
  • Entender el conjunto UTXO y cómo lo usa un nodo para parar un doble gasto

En la unidad anterior viste que una transacción gasta salidas anteriores y crea salidas nuevas. Una salida que todavía nadie ha gastado tiene nombre propio: UTXO, del inglés Unspent Transaction Output, salida de transacción no gastada.

Cada UTXO tiene tres cosas. Un importe en sats. Una condición de gasto, que casi siempre dice «quien firme con esta clave». Y una referencia única: el txid de la transacción que la creó y su posición entre las salidas de esa transacción, contando desde cero. La entrada que la gaste la señalará así, por ejemplo txid:1.

Un UTXO solo tiene dos estados: sin gastar o gastado. Mientras no se gasta, existe entero. Cuando una transacción lo gasta, desaparece entero, aunque solo hiciera falta una parte, y en su lugar nacen las salidas nuevas. No hay nada a medias.

Cada nodo completo lleva la lista de todos los UTXOs que existen en este momento: el conjunto UTXO (UTXO set). La cadena de bloques es la historia completa y el conjunto UTXO es la foto de hoy, el estado de Bitcoin. Bitcoin Core lo guarda en disco, en una base de datos que llama chainstate, y tiene en memoria una parte para ir más rápido.

Cuando llega una transacción, el nodo mira sus entradas una a una. ¿Está esa salida en el conjunto? ¿La firma cumple su condición de gasto? Si la salida ya se gastó en un bloque, ya no está en el conjunto y la transacción se rechaza. Así se para un doble gasto sin preguntar a nadie.

Fíjate en lo que no aparece: ni monedas con número de serie, ni cuentas con nombre, ni saldos. Solo salidas con un importe y una cerradura, que se crean y se gastan.

Lee en Bitcoinpedia

Actividad

Ana tiene una salida sin gastar de 300.000 sats. Paga 120.000 a Luis con 600 de comisión. Cuando se confirma, ¿qué salidas salen del conjunto UTXO y cuáles entran? ¿Cuánto vale cada una?

Piénsalo o escríbelo a mano. No guardamos lo que respondas.