El proyecto Qtum es un proyecto blockchain del tipo híbrido que se construye al unir la tecnología de Bitcoin y Ethereum.
Esto es posible porque Qtum usa el modelo de transacciones UTXO de Bitcoin, junto al sistema de cuentas de Ethereum. Y, al mismo tiempo, incluye un sistema capaz de ejecutar smart contracts. La idea detrás de esta fusión tecnológica es aprovechar lo mejor de ambos mundos y crear con ello una nueva red con capacidades únicas. En tal sentido, Qtum es un proyecto único por seguir este proceso, y no solo eso: ha demostrado ser un proyecto con creciente relevancia en la comunidad cripto.
Origen e historia de Qtum
Los desarrolladores de Qtum son Patrick Dai, Jordan Earls y Neil Mahi, quienes en 2016 unieron esfuerzos para iniciar este proyecto. Como era común en esa época, estos compañeros decidieron crear una ICO (Oferta Inicial de Monedas). El objetivo era recaudar una financiación que les ayudará a alcanzar las metas que deseaban con el proyecto Qtum. Fue así como 19 de marzo de 2017, comenzó la ICO de Qtum, la cual finalizó cinco días después, con un total acumulado de 15,5 millones de dólares recaudados.
Los términos de la ICO eran sencillos, lo recaudado se transformaría en 100 millones de tokens Qtum que serían repartidos de la siguiente forma:
- 51% se asignó a los inversores de la ICO (51 millones de tokens).
- 8,0% se asignó a inversores ángeles del proyecto (8 millones de tokens).
- 12% se distribuiría gradualmente entre los miembros del equipo de Qtum durante un período de cuatro años (12 millones de tokens).
- 9,0% se asignó a un presupuesto de marketing y se liberaría durante un período de dos años (9 millones de tokens).
- 20% se reservó para el desarrollo y se liberará gradualmente (20 millones de toknes).
Adicional a esto, el proyecto estableció que el máximo de tokens sería de 107.822.406 token Qtum, lo que dejaba claro la naturaleza limitada y deflacionaria del sistema. Con esto aclarado, el proyecto comenzó su fase de diseño en manos de la Fundación Qtum, quienes se encargaron de coordinar el trabajo entre los desarrolladores, inversores y comunidad.
El trabajo rindió sus frutos el 25 de junio de 2017, cuando finalmente Qtum puso en funcionamiento la mainnet de este proyecto, comenzando con la asignación de tokens y el inicio de su sistema de generación de bloques usando Proof of Stake, el protocolo elegido para este proyecto.
¿Cómo funciona Qtum?
Ahora bien, una de las cosas más llamativas de Qtum es su construcción híbrida usando el modelo de UTXO (derivado de Bitcoin) y de Cuentas (derivado de Ethereum). Esto hace que la plataforma Qtum tenga un funcionamiento bastante partícular que estudiaremos a continuación.
Uniendo lo mejor de Bitcoin y Ethereum
En primer lugar, Qtum busca ser una red con un nivel de seguridad lo más cercano a Bitcoin, especialmente aquellas relacionadas con su modelo de transacciones UTXO, pero al mismo tiempo, contar con capacidades de cuentas y smart contracts como las de Ethereum. Dicho de esta forma puede sonar fácil, pero la verdad es que lleva a complejidades bastante importantes.
En primer lugar, el modelo UTXO, si bien ha demostrado ser muy seguro y útil para tener un libro de contabilidad ordenado, tiene serias limitaciones en la implementación de smart contracts avanzados y la realización de ciertas operaciones avanzadas con tokens (como el hecho de crear tokens distintos que puedan asociarse a una dirección, algo que las colored coins hacían de una forma bastante rudimentaria). Sin embargo, desde Qtum decidieron que estas dificultades podrían ser superadas por medio de una capa de abstracción, que sirviera de puente entre el sistema de cuenta (permitiendo la creación de estas estructuras) y el sistema UTXO imperante en la blockchain de Qtum.
El resultado de esta apuesta fue la construcción de Account Abstraction Layer o Capa de Abstracción de Cuentas (AAL). La AAL sería el intérprete entre las UTXO de la blockchain de Qtum, y su modelo de cuentas necesario para aplicar todas las funcionalidades avanzadas de smart contracts que el equipo deseaba dentro del proyecto.
Enfrentando un problema de escalabilidad que no muchos conocen
Pero ¿Por qué este diseño tan dispar en el diseño de Qtum? Pues bien, la razón para esto es que, si bien el modelo de cuentas es efectivo para permitir modos avanzados de control, también tiene un problema grave: tiene más limitaciones de escalabilidad y seguridad que el modelo UTXO, debido a su mayor complejidad. Por ejemplo, las transacciones de Ethereum y su validación están limitadas por las capacidades de Gas que pueda ser incluido en un bloque.
Pero, una limitación que suele pasarse por alto es el tamaño de las transacciones y su peso total dentro de la red P2P de Ethereum (tanto en ancho de banda como en almacenamiento). Recordemos que cada TX en Ethereum tiene dos pesos: uno en Gas (el costo computacional de esa TX en la EVM) y uno en bytes que representa la información que se traslada, procesa y almacena en la red Ethereum.
Esto nos lleva al siguiente dato: un bloque promedio en Ethereum ocupa unos 90 KB de datos, muy lejos de los 1,4 MB de los bloques de Bitcoin. Puede sonar que esto es una ventaja para Ethereum, pero la verdad es que no es así. Para entender esto debemos recordar que en promedio un bloque de ETH tarda unos 20 segundos en producirse, por lo que en 10 minutos se producen unos 30 bloques. Sabiendo esto, calcular cuántos datos (en KB) se generan en Ethereum cada 10 minutos (el mismo tiempo que en promedio tarda un bloque de Bitcoin), solo debemos seguir esta formulación:
Total KB ETH = 90 KB * 30 = 2700 Kb (2,7 MB)
Esto es casi 2 veces más que el promedio de bloques de Bitcoin (1,4 MB), y sabiendo que Ethereum es capaz de lograr con esto un promedio de 12 TPS, vemos claramente el problema, ya que Bitcoin con SegWit es capaz de tener un 33% de rendimiento con el mismo espacio (16 TPS). Si bien, ambas escalabilidades son pequeñas, Ethereum tiene otro problema con esto y su modelo de cuentas: un crecimiento desmesurado en su blockchain, algo que se hace patente cuando comparamos los casi 8 TB de datos de la blockchain de Ethereum, contra las menos de 360 GB de datos de la blockchain de Bitcoin, estos últimos acumulados en un periodo de tiempo mucho más largo.
Los desarrolladores de Qtum entendieron este problema y su solución es crear un modelo híbrido que habilite el potencial del modelo de cuentas pero que on-chain mantenga el modelo UTXO, mucho más sencillo y escalable en términos de almacenamiento de datos y procesamiento de datos.
Proof of Stake, optimizando aún más la red Qtum
Lo anterior es una muestra de porqué los desarrolladores de Qtum se decidieron por su modelo híbrido, apostando por un formato on-chain de transacciones usando UTXO, una alabanza a la tecnología de Bitcoin. Sin embargo, no todo es bueno dentro de esta blockchain, ya que su protocolo de consenso PoW es conocido por su limitada escalabilidad y por su alto consumo energético. Así que, para solucionar este otro detalle, los desarrolladores de Qtum decidieron reemplazar este protocolo por Proof of Stake, generando con ello una red de funcionamiento mucho más rápido y eficiente a nivel energético. De hecho, el protocolo elegido exactamente es el MPoS (Mutualized Proof of Stake).
Como resultado de este modelo de funcionamiento a nivel de consenso, Qtum tiene dos propiedades muy interesantes:
- En primer lugar, el stake de Qtum no tiene un mínimo. Es decir, el staking que puedes realizar en un nodo generador puede ser el que desees. Por supuesto, mientras mayor tu staking mayor tu posibilidad de ser el validador del próximo bloque. Esto podría ser considerado un problema de seguridad a no ser por la existencia de la segunda particular propiedad de este sistema.
Un nodo puede generar un bloque y recibir la recompensa por el mismo. Pero, la recompensa no estará disponible para su uso hasta que no se cumpla el criterio de madurez de esas nuevas monedas. Este es el conocido «Coinbase Maturity» de Bitcoin, haciéndose presente en Qtum. De hecho, las recompensas de un bloque recién generado se dividen en dos partes: una que es recibida de forma inmediata, y la otra que se desbloquea una vez se alcanzan a generar 500 bloques adicionales en la red.
Token QTUM, sus inicios y su llegada al mainnet de Qtum
La primera emisión de tokens QTUM curiosamente se realizó como token ERC-20 tras la ICO del proyecto. Sin embargo, con la llegada de la red mainnet de Qtum, el token paso a ser nativo y todos sus tenedores recibieron sus cantidades asignadas. La existencia de tokens QTUM está limitada a 107.822.406 tokens, los cuales serán liberados hasta el año 2045. El modelo de Qtum para la generación de tokens sigue un modelo de halving parecido a Bitcoin. De hecho, el primer halving de Qtum tuvo lugar el 1 diciembre de 2021, y llevó la recompensa de bloque de Qtum desde los 4 QTUM hasta las 2 QTUM, y desde aquí cada 4 años tendrá lugar otro halving para reducir aún más la emisión hasta llegar a 0 en 2045.
Adicional a esto, Qtum cuenta también con un equivalente a los tokens ERC-20 que son conocidos como QRC-20. Estos tokens pueden ser usados para DApps y para compatibilidad de aplicaciones trasladadas desde Ethereum a esta red.
Smart contracts sobre x86 y EVM
Una de las características más llamativas de Qtum es que sus smart contracts tienen dos posibilidades. La primera es que pueden ser compatibles con EVM, teniendo Qtum una VM totalmente compatible con esta especificación. Y su segunda posibilidad es programar estos smart contracts usando lenguajes de programación C, C++, Rust y Python. Estos luego son compilados y transformados en código x86, más específicamente i686.
Esto significa dos cosas:
- Las DApps desarrolladas para EVM son totalmente funcionales en Qtum, con algunos pequeños cambios.
- Si deseas crear DApps nativas para Qtum, puedes usar los SDK del proyecto para generar código x86. Esto te permitirá aprovechar al máximo el hardware de los nodos que ejecutan la red. Esto último significa que los smart contracts serán mucho más rápidos y contarán con mayor versatilidad.
Gobernanza de QTUM
Qtum tiene implementado un sistema de gobernanza on-chain que recibe el nombre de Protocolo de Gobernanza Descentralizada (DGP). DGP permite que los participantes de la red puedan votar para aprobar distintos ajustes o cambios que se realizan dentro de la red Qtum. Una de las ventajas de DGP, es que sus cambios se pueden aplicar en la red por medio de soft forks. Esto deja de lado el uso de hard forks y sus peligros. Esto es posible, porque DGP actúa a nivel de contratos de sistemas, los cuales tienen el control sobre las distintas funcionalidades de Qtum. Además, al ser Qtum una red PoS, cualquier staker puede emitir un voto, lo que denota un alto nivel de descentralización.