La magia de UTXO

En uno de nuestros artículos anteriores, hablamos sobre el ataque de “doble gasto”. Un papel importante en la prevención de un ataque de este tipo lo desempeña el modelo de contabilidad de prueba de propiedad: UTXO. Debido a esta estructura de transacciones de construcción, el protocolo Bitcoin le permite rastrear la ubicación de las monedas en cualquier momento.

En el artículo de hoy, nos centraremos en el concepto de UTXO, consideraremos los problemas asociados con este modelo contable y buscaremos posibles soluciones a estos problemas..

Que es un UTXO?

UTXO significa “Salida de transacción no gastada”, en otras palabras, las sobras o “cambio”, recibido después de gastar algunos fondos.

Los nodos de la red Bitcoin mantienen una cadena de bloques que almacena todos los conjuntos UTXO disponibles para gastar. Cada uno de los nodos realiza un seguimiento de todos los UTXO, verificando cada transacción de cada bloque al formar la cadena de bloques. El seguimiento de las monedas no gastadas es mucho más conveniente que el seguimiento de cada transacción por separado.

Cualquier transacción consta de entradas y salidas. Las entradas de una nueva transacción son referencias a las salidas de transacciones anteriores. Al sumar los valores de estos enlaces, se pueden usar en la salida de una transacción recién generada. La salida es donde se almacenan las monedas y las instrucciones para gastarlas..

Al verificar el saldo de su billetera bitcoin, verá la cantidad total almacenada. Pero, de hecho, según el historial de transacciones anteriores, el saldo puede constar de muchas salidas que representan diferentes cantidades. Piense en ello como en los numerosos billetes en su billetera. El saldo de una dirección en un momento dado es la suma de todos los UTXO que la dirección puede gastar actualmente. Los conjuntos de salidas representan UTXO, es decir, un conjunto de salidas con diferentes cantidades en ellos, que representan el saldo.

Usemos un ejemplo para comprender mejor el principio UTXO: 

Si tiene 50 BTC en su cuenta y desea realizar un pago de 0.5 BTC, esto requiere que se forme una transacción, en la que debe haber al menos una entrada y una salida. Digamos que solo hay un UTXO de 50 BTC. No es posible dividir el UTXO; por tanto, se utilizan 50 BTC como entrada. Al enviar una firma, confirmamos nuestra propiedad de esa entrada. Como resultado, se crean dos salidas con denominaciones de 0.5 y 49.5 BTC. Un cambio de 49.5 BTC se envía de vuelta a la billetera del propietario y se convierte en un nuevo UTXO, y se envía 0.5 BTC a la dirección del destinatario. Vale la pena señalar que la tarifa de transacción se deduce del cambio de UTXO.

Características importantes del uso del modelo de salida de transacciones:


  • Las transacciones se realizan “consumiendo” UTXO existentes y creando otras nuevas en su lugar;
  • Las nuevas UTXO solo se pueden crear mediante transacciones;
  • Los UTXO usados ​​se “gastan” y se consumen solo una vez.

UTXO es una de las formas de registrar y guardar el estado de la cadena de bloques, registrando evidencia de propiedad de la moneda por parte de alguien en la red. Blockchain basado en UTXO es un tipo de protocolo blockchain. El principio de salidas no gastadas se utiliza en las cadenas de bloques de todas las bifurcaciones de Bitcoin, así como en las cadenas de bloques de muchas otras monedas como Monero, Cardano y Komodo. Hyperledger Fabric utiliza un modelo UTXO modificado.

Otra forma de organizar la cadena de bloques es el “Modelo de cuenta”, que se utiliza en la cadena de bloques Ethereum. Este enfoque se implementa a través de la contabilidad local de tokens en los nodos y no en las transacciones en sí..

Problemas y soluciones del modelo UTXO

Polvo de criptomonedas

El polvo de criptomonedas es un término que se refiere a montos en BTC que no exceden las tarifas de transacción..

El problema del polvo de criptomonedas se volvió relevante durante el rally de Bitcoin a su histórico ATH en 2017. Almacenar una cantidad considerable de UTXO no rentables no tiene sentido, ya que gastarlos cuesta más de lo que valen..

Los desarrolladores están tratando de resolver el problema del polvo criptográfico en diferentes niveles. Binance se convirtió en el primer intercambio en permitir la conversión de polvo de criptomonedas para tokens BNB.

El polvo de criptomonedas también se puede usar para hacer coincidir diferentes direcciones que pertenecen a un solo propietario. Dado que las entradas no se combinan al realizar una transacción, los atacantes pueden enviar polvo criptográfico para mezclarlo con otros UTXO y hacer coincidir diferentes direcciones de víctimas..

Almacenamiento de UTXO

Dado que la cadena de bloques almacena todos los conjuntos UTXO presentes en la red, cuanto mayor es el número de dichos conjuntos, más espacio ocupan..

Los nodos completos almacenan una base de datos de transacciones no gastadas en RAM, y con un aumento en la cantidad de datos almacenados, el costo de mantener un nodo solo aumenta. Una de las opciones discutidas para resolver el problema de almacenar transacciones no gastadas es transferir parte de los datos almacenados a dispositivos HDD o SSD.

Implementación de testigos separados

La base de datos UTXO es mantenida y verificada por todos los nodos de la red para verificar la validez de las transacciones. Para una operación de red más rápida, dicha verificación debe llevarse a cabo lo antes posible. Es por este motivo que la base de datos se guarda en RAM. Con el aumento en la cantidad de usuarios y la cantidad de billeteras, el volumen de datos UTXO crece, lo que conduce al problema del escalado de la red. Para aumentar la privacidad o para respaldar los canales de pago de Lightning Network, los usuarios crean múltiples registros UTXO.

Una de las mejoras después de la introducción de SegWit fue reducir el crecimiento de UTXO mediante la creación de registros UTXO que no afectan su volumen. Con este enfoque, es preferible utilizar transacciones con menor impacto en UTXO debido a comisiones más bajas..

Solución UTreeXo

A medida que han aumentado los recursos necesarios para mantener un nodo completo, los usuarios cambian cada vez más a los denominados “clientes ligeros” y nodos de terceros para supervisar la red. Los clientes ligeros no almacenan la base de datos UTXO y no verifican las transacciones, pero usan SPV, que significa “Verificación de pago simplificada”. Este método de verificación fue descrito en el Libro Blanco de Bitcoin por el propio Satoshi Nakamoto. Debido a una serie de importantes fallas de privacidad, el uso de clientes SPV es inseguro en comparación con los nodos completos. El problema de mantener los nodos completos se puede resolver implementando el protocolo uTreeXo

El protocolo uTreeXo es un acumulador dinámico que reduce el tamaño de UTXO en la cadena de bloques a varios kilobytes. La solución uTreeXo permite que los nodos completos eviten almacenar todos los datos de blockchain y realizar un seguimiento del conjunto de todos los UTXO. En cambio, los acumuladores proporcionarán evidencia de que los datos son correctos.

Con la introducción del protocolo uTreeXo, será posible ejecutar nodos completos en dispositivos móviles.

Conclusión

El modelo UTXO, que apareció junto con Bitcoin, simplificó el método de contabilización de fondos e impulsó el desarrollo de soluciones en el campo de lograr la privacidad en las transacciones. Al mezclar diferentes UTXO, un usuario puede utilizar diferentes direcciones para realizar transacciones, lo que complica los métodos para establecer enlaces entre direcciones..

El modelo UTXO tradicional tiene una serie de limitaciones cuando se usa en contratos inteligentes, pero los desarrolladores de Cardano describieron el concepto UTXO extendido (EUTXO): un modelo UTXO extendido para introducir contratos inteligentes en su red..

A pesar de las deficiencias existentes, este enfoque es uno de los más utilizados en blockchains de otras criptomonedas, y el trabajo intensivo para resolver estas deficiencias solo aumentará la popularidad del modelo UTXO en otros sistemas de blockchain..

Mike Owergreen Administrator
Sorry! The Author has not filled his profile.
follow me
Like this post? Please share to your friends:
Adblock
detector
map