¿Qué son las UTXO de Bitcoin? Así funcionan
Esto que estoy a punto de contarte son los detalles que marcan la diferencia.
Conocimiento del que te puedes aprovechar para tener más privacidad, por ejemplo.
O incluso para evitar que nadie te pueda robar tus fondos con un token scam.
Este tipo de cosas diferencian a la gente que entiende y la que no.
Es algo tan simple que la mayoría de la gente lo pasa por encima.
Vamos a hablar de cómo se hace una transacción Bitcoin en comparación con Ethereum.
Y tu dirás: pues vaya, una transacción es una transacción, no se que me vas a contar.
Lo cierto es que Bitcoin y Ethereum funcionan de una forma muy diferente.
Y entender esta diferencia te ayudará.
Vamos a ello.
Índice
Bitcoin y UTXO
Cuando Satoshi creó Bitcoin y se paró a pensar cómo hacer las transacciones se encontró un problema.
Cómo evitar que alguien pueda decir que ha enviado monedas pero en realidad no lo ha hecho.
Es como si envías una foto por email. En realidad no mandas la foto, si no una copia de la foto.
Pues lo mismo con el dinero/valor por internet. El problema era cómo evitar que la gente duplique su dinero.
Este es el problema del double spending. Y Satoshi fue el primero en solucionarlo.
La solución fue la Blockchain. Bloques encadenados que son confirmados por mineros.
Y una pieza clave de esto fue el tipo de transacción que Satoshi inventó: UTXO.
Te aviso, es fácil de entender cómo funciona UTXO, pero es algo raro.
UTXO significa Unspent Transaction Output. Algo así como «transacción no gastada«.
Cada pago que recibes en tu cartera es una transacción no gastada.
Y si sumas todas las UTXO obtienes el saldo de tu cartera de Bitcoin.
Esto significa que tu cartera de Bitcoin está compuesta de muchas UTXO.
Es decir, transacciones que has recibido y no has gastado = Tu balance.
Lo curioso es que a la hora de pagar funciona igual.
Si has recibido un pago de 0,01BTC y otro de 0,05BTC tienes dos UXTO.
Y si quieres hacer un pago de 0,02BTC gastaras tu primera UTXO y parte de la otra.
Te quedarías con una UTXO de 0,04BTC (ya que gastaste la 1ra UTXO y parte de la 2da).
Esto tiene varias implicaciones. Veamos.
Cuidado con las UTXO
Si no te importa nada tu privacidad en la blockchain, te va a dar igual esto.
Pero si te importa aunque solo sea un poco, es importante que conozcas esto.
Muchas wallets de Bitcoin cambian de dirección cada vez que recibes un pago.
Todos los pagos van a una misma cuenta, pero por privacidad la dirección pública cambia.
Esto es bueno, porque si le das tu dirección a alguien no podrá ver tu balance.
Ya que donde recibiste las transacciones previas son otras direcciones.
Todo esto dentro de la misma wallet, es un puntazo.
Pero hay una forma de joderlo todo: Mezclando UTXOs.
Te pongo en situación. Tienes una wallet de Bitcoin que está compuesta de varias direcciones públicas.
Has recibido pagos en distintas direcciones ya que tu wallet crea nuevas al recibir pagos.
Cada pago recibido en cada una de esas direcciones es una UTXO.
Hasta aquí todo bien, de cara a la blockchain nadie puede relacionar tus direcciones públicas entre sí para sacar todo tu balance.
Ahora es cuando la privacidad se pierda: Haces una transacción que involucra más de una UTXO.
Como he dicho antes, si tienes que hacer un pago de 0.2BTC pero no has recibido un pago mayor a esa cantidad, se usarán 2 UTXO.
Al usar 2 UTXO, se utilizarán 2 direcciones públicas distintas.
Una en la que se ha recibido la 1ra transacción (por ejemplo de 0,1BTC) y otra dirección donde haya más BTC hasta poder pagar los 0.2BTC del pago.
Resumiendo, en la blockchain aparecerá que esas 2 direcciones públicas han hecho un pago conjunto.
Por lo tanto se sabrá que ambas direcciones pertenecen a una misma persona.
Si buscabas privacidad, ya te la has cargado.
De hecho por esto mismo arrestaron a un hacker que robó BTC.
Tenía los BTC robados en una dirección y al enviar BTC a un exchange se mezclaron 2 UTXOs.
Y una de esas UTXOs era de la dirección pública que contenía los BTC robados.
Simplemente la policía llamó al exchange y pidió los datos de esa persona que había depositado BTC. Y a la cárcel.
No creo que ninguno de nosotros sea un hacker, pero la privacidad nunca viene mal.
Vamos que mejor pasarse de precavido.
También te puede interesar:
Ethereum no usa UTXO, es distinto
Ethereum es mucho más simple. Ahí no hay UTXOs que valgan.
Simplemente es tengo 1ETH y si luego me pagan 2ETH, se hace una suma total y tienes 3ETH.
En ese caso no tendrías 2 UTXOs, si no un simple balance total de 3ETH.
En Ethereum o blockchains que son compatibles con la EVM esto no pasa.
Y tampoco es común ver carteras que creen direcciones públicas nuevas cada vez que recibes un pago.
Ethereum es simple en esto y si quieres privacidad crea una cartera nueva, usa un mixer o pasa los fondos por un exchange sin KYC.