¿Qué es RenVM?

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:

  1. Descentralización
  2. Seguridad
  3. Privacidad
  4. 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:

  1. 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.
  2. 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.
  3. 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.
  4. 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.