Te cuento un error que cometí: al principio no entendía nada de esto.

Aunque ambos registran «quién tiene cuántas monedas», Bitcoin y Ethereum utilizan métodos completamente distintos: Bitcoin registra «billetes» sin gastar, mientras que Ethereum registra el saldo de cada cuenta. Entender esta diferencia ayuda a explicar muchos fenómenos que a primera vista parecen extraños.

$BTC utiliza el modelo UTXO; el saldo que muestra el monedero es, en realidad, la suma de varias salidas no gastadas. Actual: 75,182.06 (24 h +0.46%).

▍UTXO: billetes sin gastar

Bitcoin utiliza el modelo UTXO (salidas de transacciones no gastadas). Puedes imaginar cada UTXO como un billete de valor variable: cada transacción gasta varios billetes antiguos y crea varios nuevos para los destinatarios.

El saldo que muestra tu monedero se calcula sumando todos los UTXO que te pertenecen. En la cadena no existe un número llamado «saldo».

▍Cambio y comisiones

Un UTXO solo se puede gastar entero. Por ejemplo, si tienes un «billete» de 1 unidad y quieres pagar 0,3, la transacción crea dos salidas: 0,3 unidades para la otra persona y el resto, descontada la comisión, como cambio que vuelve a una dirección tuya. Muchos monederos envían el cambio a una dirección nueva, así que en el explorador de bloques verás que «el dinero volvió a ti».

La comisión de una transacción de Bitcoin no se indica por separado: equivale a la suma de todas las entradas menos la suma de todas las salidas. Esa diferencia se la queda el minero que incluye la transacción en un bloque.

▍Modelo de cuentas: registrar directamente el saldo

Ethereum utiliza el modelo de cuentas y registra directamente en la cadena el saldo de cada cuenta. Una transferencia resta fondos de una cuenta y los añade a otra, de forma muy parecida a una cuenta bancaria. Ethereum tiene dos tipos de cuentas: las externas, controladas por una clave privada, y las de contrato, controladas por código.

Para evitar que una misma transacción se ejecute dos veces, cada cuenta externa tiene un nonce, que aumenta en 1 con cada transacción. Las transacciones deben ejecutarse en orden de nonce. Por eso, si una transacción anterior se queda atascada, las siguientes también se quedan esperando.

▍Cada modelo tiene sus ventajas y desventajas

En el modelo UTXO, las transacciones independientes se pueden validar en paralelo, y usar direcciones nuevas para recibir el cambio también favorece la privacidad. Sin embargo, no es tan práctico para escribir contratos complejos. En el modelo de cuentas, los saldos son fáciles de entender y resulta sencillo escribir contratos, pero las transacciones de una misma cuenta deben esperar en cola. Cardano amplió el modelo UTXO (eUTXO) para que las salidas también puedan incluir lógica de scripts.

▍Resumen

La próxima vez que veas en un explorador de bloques que Bitcoin «volvió a ti», o que una transacción de Ethereum se quedó atascada y todas las siguientes están esperando, sabrás que son características propias de estos dos métodos de contabilidad y no tendrás que preocuparte. No pongas todos tus fondos en un solo proyecto.

Si te ha resultado útil, guárdalo para volver a consultarlo más adelante.