RenVM, es una de las creaciones de Ren Protocol, esta es una maquina virtual que se ejecuta sobre un protocolo de segunda capa construido sobre Ethereum y, que tiene como finalidad, permitir la creación de tokens anclados controlados por una infraestructura completamente descentralizada.
Uno de los proyectos que más revuelo ha causado en el mundo DeFi de Bitcoin es Ren Protocol, y todo ello gracias al lanzamiento de su token RenBTC y el corazón de todo su funcionamiento, la máquina virtual RenVM.
Pero, ¿Qué es exactamente RenVM? Y ¿Es realmente RenVM una construcción segura y descentralizada? Pues bien esto y muchos más detalles los conocerás a continuación.
RenVM, una VM para llevar a Bitcoin al ecosistema DeFi
RenVM, es una máquina virtual que sirve de base para el funcionamiento del llamado Ren Protocol. Este es un protocolo que tiene como objetivo crear mecanismos de interoperabilidad blockchain entre varias criptomonedas y el ecosistema DeFi en Ethereum. Todo esto mientras se garantizan los siguientes principios:
- Descentralización
- Seguridad
- Privacidad
- Velocidad en sus operaciones
Para lograr esto, RenVM está construida sobre una estructura de smart contracts sobre Ethereum que interactúan con los llamados Darknodes. Estos Darknodes no son más nodos descentralizados que se encargan de hacer posible la interoperabilidad blockchain gozando de los principios antes mencionados. Para lograr esto, los Darknodes hacen uso de una serie de potentes tecnologías criptográficas como lo son la Compartición de Secretos Shamir (Shamir’s Secret Sharing o SSS), sistemas computación multipartita segura (sMPC) y el algoritmo de consenso de alta velocidad, Hyperdrive. Hablamos de un conjunto de herramientas diseñadas para ofrecer un ambiente de trabajo que cumpla con los objetivos planteados por los desarrolladores de Ren Protocol.
Origen de RenVM
Ahora bien, el desarrollo de RenVM no es algo que definitivamente se pueda hacer de la noche a la mañana. La travesía para el desarrollo de RenVM comenzó el 24 de noviembre de 2017, cuando se estableció en Singapur, la compañía Ren cuyos fundadores son Taiyang Zhang y Loong Wang. Para el 2 de febrero, Ren comenzaba la que sería la ICO para su financiación, una ICO que tendría solo una duración de 24 horas, y en la cual se logró recaudar un total de 34 millones de $ USD.
Desde ese momento, el equipo de desarrollo de Ren comenzó su arduo trabajo para crear toda la estructura de RenVM. Un trabajo que terminó exitosamente el 27 de mayo de 2020 con el lanzamiento oficial de su mainnet. Con ello demostraron el potencial de una tecnología capaz de unir diversas blockchain de forma sencilla y rápida con el ecosistema DeFi de Ethereum.
¿Cómo funciona RenVM?
A grandes rasgos, el funcionamiento de RenVM no se diferencia de sistemas como wBTC, donde el usuario ingresa su bitcoin y a cambio se le ofrece un token ERC-20 que tiene el mismo valor que su BTC bloqueado. Es decir, si bloqueas 1 BTC, el protocolo wBTC te devolverá 1 wBTC, que tiene el mismo valor y que te permitirá entrar al ecosistema DeFi de Ethereum al ser un token ERC-20.
Sin embargo, este parecido termina ahí, porque la forma en como RenVM logra esto, es completamente distinta, y comenzaremos a detallar la misma a continuación.
Darknodes, los nodos de ejecución de RenVM
En primer lugar, el bloqueo de fondos de RenVM depende de los Darknodes. Estos Darknodes, son un conjunto de nodos que forman parte de la enorme red que hace funcionar a la RenVM. De esta forma, estos nodos forman una red de pares (P2P) que permiten la ejecución de smart contracts y además ofrecen poder computacional y almacenamiento para las distintas acciones de RenVM.
La creación de los Darknodes permite crear una infraestructura de procesamiento descentralizado que facilita la interacción de otras blockchains con la blockchain de Ethereum. En pocas palabras, los Darknodes son los responsables de ejecutar todo lo necesario para la actividad cross-chain que realiza la RenVM.
Dado el importante papel de los Darknodes, estos cuentan con una serie de protecciones. En primer lugar, su puesta en marcha requiere de realizar un staking importante de más de 100 mil token Ren. Adicionalmente, el supply completo de tokens Ren está limitado a mil millones de tokens REN, por lo que el máximo de Darknodes posibles es de 10 mil nodos. Esta protección está pensada para evitar que alguien pueda tomar el control de la red de Darknodes y manipular la misma.
Sin embargo, la principal función de los Darknodes tiene que ver precisamente con su papel en la custodia descentralizada de fondos en las operaciones cross-chains. Pensémoslo un poco, en sistema como wBTC, la custodia del BTC bloqueado está en manos de un custodio centralizado (BitGo en este caso). Esto puede considerarse un punto único de falla, puesto que un robo en BitGo pondría en peligro nuestro dinero.
Para hacer frente a este problema de forma descentralizada, RenVM usa los Darknodes para realizar dicha custodia. Esto es posible gracias al sistema de computación multipartita segura (sMPC) y el esquema de Shamir’s Secret Sharing que usa el sistema. El sistema sMPC permite crear y ejecutar scripts que sean completamente privados dentro del sistema. Es decir, nadie fuera del creador del script o transacción puede ver la información ejecutada por el Darknode y la RenVM. Esto posibilita, por ejemplo, mantener la custodia de Bitcoin y otras criptomonedas en sus respectivas cadenas, mientras que el sistema relaciona dichas monedas a una cantidad equivalente de tokens ERC-20 dentro de Ethereum, una relación que puede deshacerse sin problemas aplicando el proceso inverso.
Por supuesto esto crea un problema ¿Cómo se controlan las llaves privadas del sistema para la custodia en cadena de las criptomonedas aportadas por el usuario? En este punto, el Shamir’s Secret Sharing nos da la respuesta al dividir este acceso entre varios participantes. Así los smart contracts de RenVM son capaces de mantener la custodia de los tokens en sus respectivas blockchain, dividir ese acceso entre los Darknodes y el usuario que ha introducido esos tokens al sistema. Y como toda esta información está cifrada por el sMPC es prácticamente imposible vulnerar el sistema para robar fondos del mismo.
Este esquema de funcionamiento:
- Permite que el usuario pueda almacenar sus criptomonedas en una dirección on-chain de su propia criptomoneda. Es decir, sus criptomonedas NUNCA pasan a manos de un tercero, solo están bloqueadas en una dirección de esa blockchain, cuyas claves privadas están divididas entre la RenVM y el usuario.
- Como las criptomonedas nunca dejan la blockchain, las operaciones suelen ser muy rápidas, y cuentan con la seguridad nativa de esa misma criptomoneda. Esto hace que esas transacciones puedan ser tomadas como válidas incluso estando en la mempool o con una sola confirmación de la red blockchain.
- Dada la importancia de las llaves privadas para manejar esas criptomonedas bloqueadas, esta se divide usando el Shamir’s Secret Sharing, con lo que el control de acceso queda dividido entre la red de Darknodes y el usuario. La activación de acceso a estos tokens está limitado a escenarios muy bien limitados, lo que mejora la seguridad del sistema.
- Como línea final de seguridad, los smart contracts o scripts ejecutados por los Darknodes y la RenVM son protegidos por un esquema de computación multipartita segura (sMPC). De esta manera, los nodos pueden ejecutar el script pero no pueden revelar información sensible del mismo.
zkSNARKS, el secreto del algoritmo de computación multipartita de RenVM
Ahora bien, sabemos que Ren siempre ha apuntado a tener un sistema altamente seguro y privado, y pensando en ese objetivo, han optado por usar las conocidas pruebas zk-SNARKs para su sistema de computación multipartita segura (sMPC).
La elección de las zk-SNARKS responde a tener un algoritmo altamente probado, seguro y centrado en la privacidad. De esta manera, el sistema sMPC de Ren, llamado zk-COMPUTE, el cual es el encargado de proteger nuestras operaciones en la red de Darknodes, puede garantizarnos que nadie podrá ver la información de nuestras operaciones, brindando seguridad a las mismas.
Por otro lado, zk-COMPUTE cumple con otra condición importante, y es que es una función criptográfica sencilla, altamente tolerante a errores, y que unida al protocolo de consenso Hyperdrive, garantiza una alta escalabilidad en la red.
Hyperdrive, un protocolo de consenso de alta velocidad
Por otro lado, debido a la naturaleza de múltiple interacción de RenVM, la red que forman los Darknodes debe contar con un protocolo de consenso rápido, seguro y a pruebas de errores. La elección en ese sentido del equipo de desarrollo de Ren, es tomar el protocolo Tendermint y ajustarlos a sus necesidades, creando con ello el protocolo Hyperdrive.
Hyperdrive es un protocolo de consenso tolerante a errores bizantinos que permite la interacción de grandes redes de forma segura. Al estar basado en Tendermint, este protocolo funciona en base a los principios de un protocolo gossip de alta velocidad y baja latencia, lo que brinda una enorme escalabilidad a su red, lo que resulta ideal para crear redes de interacción cross-chain como el caso de RenVM.
Hyperdrive asume la existencia de una red de igual a igual que puede transmitir mensajes a todos los pares y un dispositivo de almacenamiento que puede conservar los datos en el disco, pero no especifica cómo se implementan estas funcionalidades.
¿Cuánto sabes, criptonauta?
¿Puede realmente RenVM crear tokens anclados con funcionamiento descentralizado?¡CIERTO!
La razón de existencia de RenVM es precisamente permitir la creación de tokens anclados (como RenBTC) cuyo funcionamiento y custodia sea descentralizados. Esto al contrario de lo que pasa con wBTC, donde el control y custodia recae en BitGo, Kyber y otras empresas relacionadas. Para lograr la descentralización, RenVM recurre a los protocolos de conocimiento cero (ZKP), computación multipartita (MPC) y demás técnicas que garantizan la completada automatización de los procesos de custodia y control de las monedas que están representadas dentro de sus sistemas.
Pros y Contras de RenVM
Ahora que conocemos las partes más vitales de RenVM y su papel dentro del sistema, es tiempo de reconocer cuales son los pros y contra de este protocolo.
Pros
En primer lugar, RenVM es efectivamente una solución muy descentralizada para la interacción cross-chain entre Ethereum y otras redes soportadas, como Bitcoin, Bitcoin Cash o ZCash. Este primer punto nos permite crear tokens ERC-20 que representan 1:1 cada uno de las criptomonedas ya mencionadas. Con ello se busca ofrecer la posibilidad a sus tenedores de participar en el mundo DeFi de Ethereum.
Otro punto fuerte de este sistema es su privacidad y alto nivel de seguridad. El uso de pruebas zk-SNARKS, Shamir’s Secret Sharing y sMPC nos dice que el equipo de desarrollo de RenVM se ha tomado la seguridad y la privacidad como parte medular del protocolo. No solo eso, RenVM es incluso capaz de ejecutar DEX de criptomonedas completamente anónimos, los llamados Dark Pools. Una muestra de que el proyecto cumple con este punto en su totalidad.
Además, el uso de protocolos como Tendermint, la limitación en el números de nodos, la extensibilidad del protocolo permiten augurar un crecimiento y desarrollo de este sistema en los años por venir. Todo esto asegura que el sistema podrá hacer frente a un número mayor de usuarios de criptomonedas, sin que ellos signifiquen algún peligro para la infraestructura o problemas de escalabilidad asociados a su velocidad de procesamiento de operaciones.
Su capacidad de integración con DApps es muy potente al contar con librerías diseñadas para este fin. Esto significa que su extensibilidad e integración nativa con otras DApps potencia sus capacidades de uso y brinda a los usuarios interacción directa con este RenVM.
Contras
Uno de los problemas que RenVM no soluciona está relacionado con la debilidad de los smart contracts en Ethereum. RenVM representa los distintos tokens soportados en su plataforma como token ERC-20. Hecho esto, se crean puentes que permiten la interacción entre RenVM y estos tokens para que los usuarios puedan generarlos, usarlos y quemarlos según lo requiera. El hecho de necesitar a los smarts contracts de Ethereum para hacer esto hace que se abra un punto de fallo, puesto que cualquier fallo o error en esos smart contracts podría llevar al robo o pérdida de tokens de sus usuarios. Por supuesto, esto no ha ocurrido hasta la fecha, pero es un punto de constante revisión y que hay que tener en cuenta.
Por otro lado, de momento, RenVM tiene un alcance de interoperabilidad bastante limitado. Las criptomonedas soportadas de momento por la plataforma son BTC, BCH y ZEC. De momento, el equipo promete ampliar estas funcionalidades en sucesivas actualizaciones del protocolo.