¿Qué es QTUM? [La guía más completa] – Blockgeeks

Qtum (pronunciado Quantum) ha estado girando muchas cabezas en el espacio criptográfico. La Fundación Qtum está registrada en Singapur y es un proyecto global con un equipo ubicado en Asia, América, África y Europa. La razón detrás de su aumento de popularidad es su USP, que proporciona al EVM de Ethereum el modelo UTXO seguro de Bitcoin. Además de eso, aseguran el consenso con el algoritmo Proof of Stake 3.0 (POS 3.0). En esta guía, analizaremos en profundidad Qtum y veremos por qué los desarrolladores deberían comenzar a experimentar con su plataforma..

Combinando lo mejor de ambos mundos

Las cadenas de bloques más populares del mundo en este momento son Bitcoin y Ethereum. Bitcoin, siendo el que lo inició todo, sigue siendo la cadena de bloques más segura en el espacio. Su modelo UTXO (Salida de transacciones no gastadas) también ayuda en la alta trazabilidad de las transacciones. Esta es la razón por la que Qtum decidió que la cadena de bloques de Bitcoin fuera su base. En el otro lado de la ecuación, tenemos la cadena de bloques Ethereum. Ethereum marcó el comienzo de la era de los contratos inteligentes. De repente, una cadena de bloques ya no era solo una forma elegante de transferir dinero. Ethereum permitió a los desarrolladores de todo el mundo construir sus aplicaciones descentralizadas (dApps) en la parte superior de la cadena. Para incorporar contratos inteligentes, los desarrolladores de Qtum han creado una capa de abstracción llamada “Capa de abstracción de cuentas (AAL)” para permitir que la Máquina virtual Ethereum (EVM) exista en la parte superior de la cadena de bloques UTXO de Qtum. Con esta simple innovación, Qtum ofrece a sus usuarios un mecanismo de contrato inteligente seguro que es interoperable con Bitcoin y Ethereum. Esta es una propuesta muy emocionante tanto para los usuarios habituales como para los desarrolladores, ya que las técnicas de escalabilidad en las que se está trabajando tanto en Bitcoin (Lightning Network) como en Ethereum (Raiden Network, Plasma, etc.) pueden funcionar en Qtum, siempre que la comunidad consiente a ello. Hablando de interoperabilidad, hay dos aspectos más fascinantes que hay que tener en cuenta:

Compatibilidad SegWit

Para obtener una comprensión completa de SegWit, consulte nuestra guía detallada aquí. Para darle una comprensión muy breve, SegWit significa “Testigo segregado”. Antes de la implementación de SegWit, las transacciones de Bitcoin sufrían un problema de escalabilidad ya que eran innecesariamente voluminosas. Los datos de la firma agregaron el volumen adicional. Al implementar SegWit, los datos de la firma se sacaron de los bloques y se mantuvieron en una cadena lateral, en paralelo a la cadena de bloques principal de Bitcoin. Dado que Qtum es compatible con SegWit, puede aprovechar sus beneficios.

Compatibilidad con contratos inteligentes de Ethereum

Qtum utiliza la máquina virtual Ethereum (EVM) para asegurarse de que los contratos inteligentes de Ethereum se ejecuten en Qtum y viceversa. Esta es una funcionalidad increíblemente importante. Ethereum tiene la comunidad de desarrolladores más sólida del mundo. A través de esta funcionalidad, Qtum puede desviar estos desarrolladores a su plataforma. Las dApps de Ethereum también se pueden portar fácilmente a Qtum. Lo que esto también significa es que los desarrolladores pueden usar Solidity, un lenguaje ya establecido, para crear contratos inteligentes en Qtum..

Qtum y UTXO

Para comprender UTXO, debe comprender cómo funcionan las transacciones en Bitcoin (y funcionan de la misma manera para Qtum). Para que un profano comprenda cómo funcionan las UTXO, piense en cómo funcionan las transacciones básicas en efectivo. Suponga que su amigo le debe $ 6. Ella alcanza su bolso y saca un billete de $ 5 y $ 1, y te lo devuelve. 

Ahora, si le debes a alguien $ 8, sacas los $ 5 y $ 1 que tu amigo te había pagado anteriormente y $ 2 que otra persona te había pagado anteriormente..

Así es como funcionan las transacciones en Bitcoin. Las salidas de una transacción anterior se convierten en entradas de una transacción futura. Por lo tanto, tenga esto en cuenta y veamos cómo funcionan las transacciones de Bitcoin..

Entrada de transacción

Supongamos que Alice necesita enviar algunos Bitcoins a Bob. Para hacer esta transacción, la billetera de Alice hará que las salidas de sus transacciones anteriores sean la entrada de la nueva transacción..

Entonces, supongamos que Alice necesita extraer bitcoins de las siguientes transacciones que llamaremos TX (0), TX (1) y TX (2). Estas tres transacciones se sumarán juntas y eso le dará la transacción de entrada que llamaremos TX (Entrada).

Diagramáticamente, se verá así:

que es qtum

Entonces, eso es todo desde el lado de entrada, veamos cómo se verá el lado de salida.

Salida de transacción

La salida básicamente tendrá la cantidad de bitcoins que Bob poseerá después de la transacción y cualquier cambio restante que quede, que luego se envía de vuelta a Alice. Este cambio luego se convierte en su valor de entrada para una transacción futura.

Una representación pictórica del lado de salida se ve así:

que es qtum

Ahora, esta es una transacción sencilla que tiene solo una salida (aparte del CAMBIO), algunas transacciones son posibles con múltiples salidas.

Entonces, ¿por qué Qtum adoptó el modelo UTXO? Hay dos razones principales:

  • En primer lugar, utilizar un modelo de transacción maduro, estable y seguro que se comprenda ampliamente de la cadena de bloques de Bitcoin..
  • En segundo lugar, el modelo UTXO ayudó en la implementación de la Verificación de Pago Simple (SPV). SPV permitirá que un nodo ligero interactúe con contratos inteligentes y verifique transacciones. Los nodos ligeros son nodos que solo descargan una parte de la cadena de bloques en lugar de la cadena de bloques completa..

Qtum y EVM

Como se mencionó anteriormente, Ethereum marcó el comienzo de la era de los contratos inteligentes. Los contratos inteligentes son acuerdos automatizados y autoejecutables entre dos o más partes, que no requieren intermediarios legales. Eso suena bastante asombroso, ¿verdad??

Sin embargo, ¿dónde ejecutas exactamente estos contratos? Los contratos inteligentes se pueden ejecutar en uno de los dos siguientes sistemas:

  • Maquinas virtuales: Ethereum usa esto.
  • Estibador: La tela usa esto.

Comparemos estos dos y determinemos cuál contribuye a un mejor ecosistema. Por simplicidad, vamos a comparar Ethereum (máquina virtual) con Fabric (Docker).

que es qtum

Por lo tanto, las máquinas virtuales proporcionan un entorno mejor determinista, terminable y aislado para contratos inteligentes. EVM integra un mecanismo de gas para evitar bucles infinitos y spam (la ejecución termina cuando la llamada del contrato se queda sin gas). ¿Quieres saber más sobre el gas?? haga clic aquí.

Conexión de UTXO y EVM

Dado que UTXO y EVM son conceptos muy diferentes, ¿cómo logró QTUM conectarlos en su plataforma? Mediante la adición de la capa abstracta de cuenta (AAL). AAL actúa como una capa de interfaz entre UTXO y EVM. La belleza de AAL es que no se limita solo a EVM. Cualquier máquina virtual que sea compatible con AAL puede ejecutarse sobre AAL. 

Entonces, antes de aventurarnos más en AAL, entendamos qué significa abstracción.

Abstracción significa que cualquiera puede usar cualquier sistema o protocolo sin conocer completamente los entresijos y todos los detalles técnicos. P.ej. Cuando usa su iPhone, no necesita ser un programador o un ingeniero para operarlo. Simplemente presiona en la pantalla para activar una aplicación, o presiona el botón de llamada para llamar a alguien. No necesita saber cómo al presionar ciertas aplicaciones se activa el circuito dentro del teléfono o cómo se programaron ciertas aplicaciones. La abstracción hace que una tecnología sofisticada sea accesible para las masas al ocultar las complejidades.

Para las plataformas de contratos inteligentes y las dApps, la abstracción es prácticamente el santo grial. Si la adopción masiva es realmente el objetivo, las dApps deben ejecutarse de manera similar a una aplicación normal. De manera similar, Qtum debería integrar EVM y UTXO de manera que sea sencillo para los usuarios y desarrolladores interactuar con él.. 

Entonces, para comprender mejor cómo funciona AAL, veamos cómo funciona una transacción simple de Bitcoin a nivel de código. Durante una transacción, su billetera ejecutará los siguientes códigos de operación en su máquina. Esto básicamente indica al software que verifique si la clave pública de la transacción coincide con la firma o no:

que es qtum

La columna “Script” tiene un montón de palabras clave que se denominan códigos de operación. Las transacciones de Bitcoin se escriben mediante la combinación de estos códigos de operación. La AAL agrega tres códigos de operación más a la lista original de Bitcoin para permitir el soporte de contratos inteligentes.

  • OP_CREATE: se utiliza para crear nuevos contratos inteligentes. 
  • OP_CALL: se utiliza para ejecutar código dentro de un contrato inteligente existente.
  • OP_SPEND: se usa para gastar el valor en un contrato inteligente.

Entonces, ¿cómo se procesan estos códigos de operación? Vamos a ver.

  • El software del validador analiza el script en las transacciones de Qtum.
  • Cuando se encuentran con uno de estos tres códigos de operación, los dejan a un lado para que los procesen los EVM.
  • Las transacciones del contrato de EVM luego se procesan en una “Lista de transacciones de contrato esperadas” especial, que es ejecutada por nodos de validación.
  • Estas transacciones luego se ejecutan contra el EVM, y la salida resultante se convierte en un Qtum tx gastable. 
  • Si, durante la ejecución de un contrato, el contrato llama a otro contrato con un valor, esa transacción también se convierte en un Qtum tx explícito y se adjunta al bloque actual..

El tamaño de Qtum UTXO se puede administrar bastante bien ya que las transacciones OP_CREATE, OP_CALL y OP_SPEND son todas gastables. Cuando un contrato se autodestruye, la transacción OP_CREATE se gasta, lo que la elimina del grupo UTXO..

Si eres un desarrollador de solidez, entonces será bastante sencillo para ti comenzar a codificar en Qtum, ya que ya aprovecha el EVM. Si está interesado, le recomendamos que comience con su guía completa para desarrolladores.

Sin embargo, como se mencionó anteriormente, EVM no es la única máquina virtual disponible en Qtum para la ejecución de contratos inteligentes. El equipo de Qtum está desarrollando una máquina virtual de contratos inteligentes x86 para Qtum. Esta VM x86 permitirá a los desarrolladores la flexibilidad de codificar contratos inteligentes en lenguajes de programación populares como Rust y otros. 

Qtum y prueba de participación (POS)

Como ya se mencionó varias veces, Qtum usa un modelo de consenso POS. Muchas de las blockchains modernas han optado por un modelo POS por las ventajas que tiene sobre el modelo clásico POW. POW o prueba de trabajo fue el modelo de consenso introducido por Bitcoin, en el que los nodos especializados llamados mineros resuelven acertijos criptográficamente difíciles utilizando ASIC. 

Los problemas con la prueba de trabajo.

  • La prueba de trabajo es un proceso extremadamente ineficiente debido a la gran cantidad de poder y energía que consume..
  • Las personas y organizaciones que pueden permitirse ASIC más rápidos y potentes generalmente tienen más posibilidades de minar que las demás. Esto significa que la minería de Bitcoin no está tan descentralizada como queremos..
  • Dado que la minería de prisioneros de guerra consume recursos del mundo real, es muy perjudicial para el medio ambiente.

La prueba de participación, por otro lado, hace que el proceso de minería sea completamente virtual. Vamos a ofrecerle una breve descripción general de cómo funciona el POS:

  • Los validadores / mineros bloquean algunas de sus monedas como participación.
  • Después de eso, comenzarán a validar los bloques. Es decir, cuando descubren un bloque que creen que se puede agregar a la cadena, lo validarán apostando una o más UTXO para 500 confirmaciones…
  • Si el bloque se agrega, los validadores obtendrán una recompensa en bloque, donde la frecuencia de las recompensas en bloque es proporcional a la cantidad apostada por ese validador..

Los diferentes proyectos utilizan diferentes variaciones del algoritmo POS. Ethereum usará el protocolo Casper, mientras que Algorand usa POS puro. Luego hay proyectos como EOS que usan POS delegado

Qtum usa POS versión 3 o POSv3, que está diseñado para cadenas de bloques basadas en UTXO. Veamos las versiones anteriores antes de llegar a POSv3.

POSv1:

“Coin age” es un término que se utiliza para describir cuánto tiempo no se ha gastado un UTXO en la cadena de bloques. POSv1 depende en gran medida de la antigüedad de las monedas. Cuanto mayor es la edad de la moneda, más se reduce la dificultad. Sin embargo, el problema con este enfoque fue que la gente simplemente dejó de gastar sus monedas. Las personas solo abrían su billetera solo cuando la necesitaban para apostar. Si una moneda fuera lo suficientemente vieja, produciría casi instantáneamente nuevos bloques de estaca.. 

POSv2:

Esta versión mejora la versión anterior al erradicar el concepto de edad de las monedas del consenso. Otro cambio significativo que hicieron entre una gran cantidad de actualizaciones fue utilizar un mecanismo modificador de participación completamente diferente de v1. Este modificador de participación incluía el tiempo de bloqueo anterior. Tenga eso en cuenta, cuando hablemos de v3.

POSv3: 

El tiempo de bloqueo incluido en POSv2 puede hacerlo vulnerable a un ataque de “corto alcance” en el que era posible extraer una cadena de bloques alternativa mediante la iteración de los tiempos de bloqueo anteriores. Cambios como estos hacen que POSv3 sea una versión mucho mejor de POSv2. 

POSv2 también utilizó tiempos de bloque y transacción para determinar la edad de un UTXO, que es diferente a la edad de las monedas. POSv3 determina la edad de un UTXO al juzgar su profundidad en la cadena de bloques (por ejemplo, confirmaciones). 

NOTA: Qtum agregó recientemente soporte para OP_RETURN opcode que permite que un vout contenga la clave pública para firmar el bloque sin requerir un script completo de pago a clave pública. Esto significa que un proveedor de dApp puede pagar el gas para los nuevos usuarios de dApp, lo que permite una incorporación más fácil..

Profundizando en POSv3 

En un sistema POW, se agrega un nonce aleatorio al hash del encabezado del bloque y el resultado se vuelve a agregar al hash. Este hash, a su vez, debería ser menor que la dificultad general de la red. Solo entonces, el bloque se agrega a la cadena de bloques principal..

Por otro lado, POSv3 tiene un hash de kernel, que se compone de varios datos que no se pueden modificar fácilmente en el bloque actual. Aquí hay algunas características más que deben tenerse en cuenta sobre el sistema POS de Qtum: 

  • La segunda transacción en cada bloque se denomina “transacción de coinstake”, mientras que la primera transacción es una transacción de coinbase vacía.
  • Cada bloque debe tener al menos una transacción de participación.
  • La marca de tiempo del bloque debe tener los cuatro bits inferiores configurados en 0 para que el tiempo de bloque solo se pueda representar en intervalos de 16 segundos.
  • Solo una vez cada 500 bloques (aproximadamente 18 horas) se puede usar un UTXO para producir una transacción de participación..

Ahora veamos de qué se construye el Kernel Hash de POSv3:

  • El modificador de participación del bloque anterior, que es un hash de la transacción anterior en bloques de PoS y el modificador de participación del bloque anterior..
  • La marca de tiempo de la transacción anterior. 
  • El hash de la transacción anterior.
  • El número de salida de la salida anterior (esta es la salida de la transacción que gasta la transacción de apuesta).
  • El tiempo de bloque actual donde los cuatro bits inferiores se establecen en 0. Esta característica particular cambia durante el proceso de replanteo.

NOTA: Una transacción anterior es el UTXO que se utiliza para crear una transacción de participación. La única forma de cambiar el hash del kernel actual es cambiar el UTXO que está utilizando para crear el bloque o cambiar el tiempo de bloqueo actual.

Ahora que sabemos cómo funciona POSv3 de Qtum, veamos cómo mitiga el mayor defecto de POS: el problema de nada en juego..

¿Cuál es el problema de “nada en juego”?

Considere la siguiente situación:

que es qtum

En el diagrama de arriba, tenemos la cadena principal (azul), que ha sido minada hasta el bloque # 53. Sin embargo, hay una rama paralela que se origina en el bloque # 50 (rojo). ¿Qué pasará si algunos mineros malintencionados se juntan y siguen minando en la cadena roja hasta que supere a la azul? Todas las transacciones que hayan tenido lugar en los bloques azules 51, 52 y 53 serán inmediatamente nulas y sin efecto..

Las cadenas de bloques POW son vulnerables a este ataque del 51% porque el poder de hash se puede alquilar a corto plazo.

Supongamos que la minera maliciosa Alice quiere minar en la cadena roja. Incluso si le dedica todo su poder de hachís, no conseguirá que ningún otro minero se una a ella en la nueva cadena. Todos los demás seguirán extrayendo en la cadena azul porque es más rentable y sin riesgos explotar en la cadena más larga..

POW es fácil de montar un ataque del 51% con el poder de hash alquilado. Por lo tanto, las divisiones de cadena son problemáticas para todos menos para la cadena de bloques POW más grande (bitcoin).

Sin embargo, las cosas se ven un poco diferentes cuando trae POS. Si es un validador, simplemente puede poner su dinero tanto en la cadena roja como en la cadena azul sin temor a sufrir repercusiones. Pase lo que pase, siempre ganará y no tendrá nada que perder, a pesar de lo maliciosas que sean sus acciones. Sin embargo, la cadena roja tendría que apostar con una mayor cantidad de monedas (peso de la red) para tener éxito y, a diferencia de POW, donde un atacante puede alquilar poder de hash, POS requiere la propiedad real de la moneda..

Esto se conoce como el problema de “nada en juego”..

El protocolo Casper de Ethereum mitiga esto mediante el uso de un mecanismo de castigo. Básicamente, los validadores maliciosos son castigados con una reducción de su participación. Qtum planea proporcionar una solución diferente al problema de nada en juego y nunca castigará a los apostadores que se porten mal más que expulsarlos de la red. Creen que ningún software puede perfeccionarse, por lo que el riesgo de que un error provoque que el staker se comporte mal y pierda millones de dólares es inaceptable para ellos. Los siguientes puntos deben tenerse en cuenta para comprender la mitigación de Qtum del problema de nada en juego:

  • Uso de puntos de control y vencimiento de confirmación 500 para transacciones de participación. 
  • Pondrán algunos de los datos en la cadena de bloques de Bitcoin que luego se pueden verificar a través de SPV. Esto asegura que un atacante no pueda mentir sobre cuándo se creó un bloque en particular..

Además, debe tenerse en cuenta que Qtum siente que el problema de nada en juego es un poco exagerado, especialmente con respecto a su sistema porque:

  • Puede resultar muy costoso construir la configuración para el ataque..
  • Incluso cuando todo está configurado, el resto de los nodos aún deben seguir su ejemplo, lo cual es una posibilidad remota.
  • Cualquiera puede detectarlo fácilmente comprobando los recursos centralizados fuera de la cadena, como los exploradores de bloques..
  • Los puntos de control se pueden agregar al código a un ritmo más frecuente para realizar lanzamientos más rápidos. Esto asegurará que estas cadenas maliciosas de nada en juego nunca tengan una cantidad significativa de poder..

Protocolo de gobernanza descentralizada

Otra característica de Qtum es el DGP (Protocolo de gobierno descentralizado) introducido para modificar los parámetros de la cadena de bloques de forma rápida y sin problemas sin la necesidad de un hard fork. DGP se construye utilizando tecnología de contrato inteligente y puede ajustar el tamaño del bloque (hasta 32 MB) y cambiar las cantidades de gas para varias operaciones de contrato inteligente.

Por lo tanto, el tamaño del bloque y los parámetros de gas se pueden cambiar a través de un proceso de gobernanza en la red sin que sea necesario descargar un nuevo software, y no es necesario tomar acciones por parte de las partes interesadas de la red y los operadores de nodos. Las bifurcaciones duras seguirán siendo necesarias para cambios en el consenso o nuevas máquinas virtuales, por ejemplo.

Conclusión

Qtum es uno de los proyectos más emocionantes del espacio. Al combinar UTXO, EVM y POS, Qtum proporciona una plataforma única, segura e innatamente escalable. Debido a su conexión con EVM, Qtum puede atraer fácilmente a la ya vibrante comunidad de desarrolladores de solidez y darles la opción de portar sus dApps a su plataforma. Será muy interesante ver cómo crece este proyecto en un futuro próximo.

Mike Owergreen Administrator
Sorry! The Author has not filled his profile.
follow me