UTXO vs. Modelo de Cuentas: ¿Cuál es la mejor alternativa?

UTXO vs. Modelo de Cuentas: ¿Cuál es la mejor alternativa?

"

Los modelos de contabilidad son la forma en la que se organizan los registros contables dentro de una cadena de bloques. En este artículo profundizaremos en el funcionamiento de los dos modelos más importantes: UTXO y Modelo de Cuentas.

El Modelo UTXO

UTXO viene del inglés unspent transaction output, que puede traducirse como transacción de salida no gastada. A continuación veremos qué significa esto, pero primero es importante saber que este es el primer modelo de contabilidad utilizado por una criptomoneda. Bajo este modelo funciona Bitcoin.

Al tratarse de un modelo de contabilidad, hace referencia a la forma en la que se llevan a cabo los registros contables dentro de la cadena de bloques. En este caso, el modelo funciona utilizando como base las transacciones individuales.

Cada transacción cuenta con una entrada o input(de dónde vienen los fondos) y una salida o output (hacia donde van los fondos). Una transacción de salida no gastada (UTXO), es el resultado de una transacción previa. Y es el comienzo de una próxima transacción.

Este funcionamiento le otorga a la red una trazabilidad muy importante, ya que toda UTXO proviene de una transacción previa. También es fundamental para verificar la validez de las transacciones, ya que una UTXO nunca podrá contar con un mayor saldo que el input desde donde vino.

Para una mejor comprensión de este modelo, resulta muy clara la analogía con el dinero en efectivo. Podemos pensar cada UTXO como un billete diferente. Los billetes vienen con una denominación específica, no pueden cambiar a voluntad. Las UTXO tampoco, y al utilizarse tienen que consumirse por completo.

Cuando realizamos una compra en un kiosko, para pagar $60 hay que utilizar o bien diversas combinaciones de billetes, o un billete de $100 y obtener cambio. Con las UTXO pasa algo muy similar.

Además, cuando queremos conocer nuestro saldo total, tenemos que contar todos los billetes de los que tengamos posesión, ese será nuestro saldo. Aquí sucede lo mismo, el “saldo” que vemos es el conjunto de las UTXO que nuestra billetera tiene a disposición para gastar en futuras transacciones.

Las dos diferencias que tiene la analogía con el efectivo es que, por un lado, en cada transacción, una pequeña cantidad del “cambio” va a pagar la comisión del minero. Por otro lado, los billetes tienen denominaciones determinadas, mientras que una UTXO puede ser de cualquier monto.

El Modelo de Cuentas

A diferencia del modelo anterior, en el Modelo de Cuentas, sí existen los balances, y su funcionamiento se asimila más al de las cuentas bancarias, en donde cada usuario cuenta con el suyo propio.

Esto es, que en este sistema, hay un registro constante del estado de cuenta de todos los participantes de la red. Esto es así para poder llevar un registro de todos los ingresos y egresos de las diferentes cuentas.

Tal y como funciona en un banco, cada usuario cuenta con un balance, y al transferir un monto a otro usuario, los balances de ambos son tenidos en cuenta para llevar adelante la transacción y poder dar cuenta del nuevo estado de registro.

Este es un diseño que otorga mayor flexibilidad a la hora de ejecutar transacciones, lo que dio como resultado el éxito en ser la primera forma eficiente de crear contratos inteligentes.

En este tipo de modelo, del cual Ethereum es el máximo exponente, existen dos tipos de cuentas, las que son controladas por los usuarios a través de claves privadas, y las que son controladas por los contratos inteligentes.

Además, permite un considerable ahorro de memoria a la hora de la verificación de transacciones. Esto es debido a que requieren procesar menos información ya que siempre producirán un solo output.

Pero al necesitar conocer constantemente el estado global de la red, en este tipo de modelo resulta más compleja la ejecución de transacciones en paralelo. Por este motivo, se vuelve muy importante el orden en el que se ejecutan las transacciones.

Además, el resultado de la transacción no puede conocerse de antemano, como sí sucede en el modelo UTXO, en donde sí se conoce cuál será el output antes de que la transacción se ejecute.

Ambos modelos tienen ventajas y desventajas, por lo que lo concreto es que no puede decirse que uno sea sustancialmente superior al otro. Más bien se adaptan mejor a diferentes propósitos, que dependen de las funciones que cada red priorice.

"