¿Qué es el conjunto UTXO en Bitcoin?

Disponible como podcast
Comparte el artículo:

Bitcoin se basa en parte en una base de datos que registra todas las transacciones, conocida como «cadena de bloques». Este término es ahora famoso, pero ¿sabías que hay otra base de datos que es igual de importante para el funcionamiento de los nodos de Bitcoin? Este elemento mucho menos conocido es el conjunto UTXO.

En este artículo, te invito a descubrir qué es el conjunto UTXO y su papel en el funcionamiento de Bitcoin. También estudiaremos por qué su evolución podría suponer una amenaza para la estabilidad de Bitcoin a medio plazo, así como qué soluciones se están barajando para abordar este problema.

¿Qué es un UTXO en Bitcoin?

UN TUXO (Salida de transacciones no utilizadas) es el resultado de una transacción de Bitcoin que aún no se ha gastado. Concretamente, se trata de piezas de bitcoins más o menos grandes que posee un usuario y que están disponibles para ser utilizadas en una transacción futura.

Cada UTXO representa una cantidad determinada de bitcoins y está protegido por un script que define las condiciones en las que se puede gastar. Estas condiciones generalmente requieren una firma obtenida con una clave privada que posea el propietario legítimo.

En pocas palabras, el UTXO de Bitcoin es lo que significa el billete en el euro. Bitcoin es la unidad de cuenta utilizada en Bitcoin, y UTXO es el medio que permite representar estas unidades de cuenta.

¿Cómo funciona una transacción de Bitcoin?

Una transacción consiste en transferir bitcoins de un conjunto de entradas (Insumos) a un conjunto de salidas (Salidas).

Las entradas de una transacción corresponden a las UTXOs de transacciones anteriores, que se consumen durante esta nueva transacción. Un script de firma (Guiones IG) se usa para desbloquear cada UTXO de las entradas cumpliendo las condiciones de gasto definidas al crear el UTXO.

A cambio, la transacción crea nuevos UTXO en las salidas. Cada salida asocia una cantidad de bitcoins a una nueva condición de gasto (Clave ScriptPub), con frecuencia utilizando una dirección de recepción. Estas UTXO recién creadas estarán entonces disponibles para ser utilizadas como entradas en transacciones futuras.

¿Qué es el set UTXO?

El conjunto UTXO representa todos los UTXO existentes en un momento dado en Bitcoin. En otras palabras, es una lista exhaustiva de todos los bitcoins que están disponibles para ser gastados. Por lo tanto, si sumamos las cantidades de todos los UTXO presentes en el conjunto UTXO, obtenemos la oferta monetaria total en circulación en Bitcoin.

Cada nodo de la red mantiene su propio conjunto UTXO completo a nivel local, en paralelo con la cadena de bloques. Este conjunto UTXO se actualiza constantemente a medida que se integran nuevas transacciones en bloques.

Cuando un usuario de la red envía una nueva transacción, cada nodo verifica que las UTXO utilizadas como entradas estén presentes en su conjunto de UTXO. Esto garantiza que los bitcoins gastados existan realmente y no se hayan consumido ya en otra transacción. Si el UTXO es legítimo, se acepta la transacción; de lo contrario, se rechaza para evitar el doble gasto.

Una vez que se valida la transacción, el nodo actualiza su conjunto de UTXO: elimina los UTXO utilizados como entradas y agrega los nuevos UTXO creados como salidas. Como resultado, el conjunto UTXO se actualiza constantemente para reflejar las monedas de bitcoin disponibles.

En el cliente mayoritario Bitcoin Core, el conjunto UTXO se guarda en el archivo»Chainstate».

➤ Obtenga más información sobre cómo funciona un nodo de Bitcoin.

¿Por qué la evolución del set UTXO podría convertirse en un problema?

UTXO está creciendo de forma continua y rápida en Bitcoin. Debido a numerosos factores externos e internos al sistema, la proporción promedio de UTXO creadas por UTXO consumidas es muy desequilibrada. Esta expansión se debe, en parte, al aumento del precio de Bitcoin, que fomenta el uso de UTXOs más pequeños, aumentando así su número total. El aumento de la adopción también está impulsando una mayor necesidad de UTXO.

También existe la estructura clásica de las transacciones de pago de Bitcoin, normalmente una entrada para dos salidas, que crea dos UTXO para una sola consumida. Por último, el CIOH (Heurística común de propiedad de entradas), plantea un problema de confidencialidad a la hora de consolidar varios UTXO y constituye un obstáculo adicional para reducir su número. Por lo tanto, UTXO and knots está destinada a un crecimiento natural e inevitable.

Los desarrolladores de Bitcoin Core conocen este problema desde hace varios años. La actualización de SegWit de 2017 también introdujo un incentivo económico para la consolidación al reducir las tarifas de las transacciones que consumen más entradas y generan menos salidas. Sin embargo, esta medida no fue suficiente para detener el fenómeno.

El problema de este crecimiento es que mantener el conjunto UTXO requiere cada vez más RAM. Para que los nodos puedan validar las transacciones de manera efectiva, una parte del conjunto UTXO debe almacenarse en la RAM, ya que esto permite una verificación rápida. Este problema también afecta al tiempo de sincronización inicial (OFERTA), es decir, el tiempo necesario para descargar y validar toda la cadena de bloques cuando se lanza un nuevo nodo.

A medida que aumenta el tamaño de la UTXO, también aumenta el requisito de RAM. Sin embargo, el aumento de la capacidad RAM de los ordenadores (ley de Moore) no sigue la misma curva que el crecimiento del conjunto UTXO. Si esta tendencia continúa, operar un nodo de Bitcoin será cada vez más caro en términos de hardware.

Este aumento en los requisitos de hardware para ejecutar un nodo podría afectar a la descentralización y la seguridad de la red Bitcoin. Si el costo de mantenimiento de un nodo aumenta, menos personas podrán hacerlo, lo que reducirá la cantidad de nodos y disminuirá la distribución y la solidez de la red. El tamaño de la UTXO es, por lo tanto, un gran desafío para la viabilidad de Bitcoin a medio plazo.

¿Cuáles son las soluciones para el aumento del tamaño del set UTXO?

La solución que parece estar surgiendo para resolver este problema del creciente tamaño del conjunto UTXO en Bitcoin es Utreexo.

Utreexo es una solución inventada por Tadge Dryja (quien también es el cocreador de Lightning Network) para comprimir el conjunto UTXO mediante un acumulador basado en árboles de Merkle. El UTXO clásico, que contiene todos los UTXO, requiere mucho espacio de almacenamiento. Con Utreexo, esta restricción se alivia, ya que los nodos de Bitcoin ya no guardan todos los UTXOs, sino solo unas pocas huellas criptográficas. Esto reduce drásticamente los requisitos de RAM y almacenamiento.

Cuando un usuario hace que una transacción sea compatible con Utreexo, proporciona tanto la prueba de posesión de las UTXO utilizadas como las rutas Merkle asociadas. A continuación, el nodo comprueba esta evidencia para asegurarse de que las UTXO existen en general en función de su huella criptográfica, sin tener que almacenar todos los datos.

Utreexo se puede implementar de dos maneras. La primera es generalizar su uso para que todas las transacciones contengan esta evidencia. Sin embargo, esto aumentaría el tamaño de los bloques, lo que afectaría las necesidades de ancho de banda y almacenamiento. El segundo método se basa en»Nodos puente»: nodos completos que también almacenan el conjunto UTXO completo y proporcionan la evidencia necesaria para los nodos de Utreexo. Utreexo sería entonces una opción para los usuarios que no pueden pagar un nodo completo. En ambos casos, existe un compromiso, ya sea en términos de los recursos necesarios o de la dependencia de los nodos puente.

➤ Descubre qué es Mempool en un nodo de Bitcoin.

Conclusión

El conjunto UTXO es una gran lista de todas las piezas de bitcoin que existen en un momento dado, que mantiene cada nodo. Desempeña un papel importante en el funcionamiento de Bitcoin, pero su crecimiento rápido y casi natural planteará desafíos para el futuro. Si el tamaño de la UTXO sigue aumentando, el coste de funcionamiento de un nodo podría resultar prohibitivo para algunos usuarios.

Utreexo ofrece una solución al reducir los requisitos de RAM mediante el uso de acumuladores criptográficos. Sin embargo, este protocolo implica necesariamente concesiones, ya sea en cuanto al tamaño de los bloques o en términos de dependencia de los nodos puente. Es posible que surjan otras soluciones en el futuro, pero es seguro que se tratará de un debate técnico que habrá que abordar en los próximos años.

Disponible como podcast

Resumen

Comparte el artículo:

Puede que te gusten estos artículos

Bitstack SAS, una empresa inscrita en el Registro Mercantil y Mercantil de Aix-en-Provence con el número 899 125 090, que opera con el nombre comercial Bitstack, está registrada como agente de Xpollens, una institución de dinero electrónico aprobada por la ACPR (CIB 16528, RCS Nanterre núm. 501586341, 110 Avenue de France 75013 París), ante la Autoridad de Control y Resolución Prudencial («ACPR») en virtud del número 747088 y aprobado como proveedor de servicios de criptoactivos («PSCA») por la Autorité des Marchés Financiers («AMF») como intercambio de criptoactivos por fondos, el intercambio de criptoactivos para otros criptoactivos, la ejecución de órdenes sobre criptoactivos en nombre de los clientes, la custodia y administración de los criptoactivos en nombre de los clientes y la prestación de servicios de transferencia de criptoactivos en nombre de los clientes con el número A2025-003, cuya oficina central se encuentra en 100 Impasse des Houillères 13590 Meyreuil.

Invertir en activos digitales implica el riesgo de pérdida parcial o total del capital invertido.
El rendimiento pasado no garantiza el rendimiento futuro.
DESCARGAR
Bitstack