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

$BTC utiliza el modelo UTXO, así que el saldo que muestra la cartera es, en realidad, la suma de muchas salidas no gastadas. Precio actual: 83,228 (24 h +1.93%).

— 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 aparece en tu billetera 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 «vale» de 1 unidad y quieres pagar 0,3, la transacción tendrá dos salidas: 0,3 unidades para la otra persona y el resto, menos la comisión, como cambio que vuelve a tu propia dirección. Muchas billeteras 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, y esa diferencia se la queda el minero que incluye la transacción en un bloque.

— Modelo de cuentas: el saldo se registra directamente —

Ethereum utiliza un 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 cuentas externas, controladas por claves privadas, y las cuentas 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 tendrán que esperar en la cola.

— 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 crear contratos complejos. En el modelo de cuentas, el saldo es fácil de entender y resulta más sencillo escribir contratos, pero las transacciones de una misma cuenta deben esperar en cola. Cardano amplió el modelo UTXO (eUTXO) para permitir que las salidas también incluyan lógica de scripts.

— Unas últimas palabras —

La próxima vez que veas en un explorador de bloques que Bitcoin «volvió a ti», o que una transacción de Ethereum se queda atascada y las siguientes quedan en cola, sabrás que son características de sus respectivos modelos contables, así que no te preocupes. No inviertas dinero prestado: la presión puede llevarte a tomar malas decisiones.

Si me he dejado algo, cuéntamelo en los comentarios.