Waves es un proyecto blockchain centrado en ofrecer una alta escalabilidad gracias a su protocolos LPoS y opciones avanzadas para el desarrollo de dApps y smarts contracts que aprovechen todo el potencial que puede ofrecer esta plataforma.
Waves es un interesante proyecto que busca crear una plataforma integrada de tecnología blockchain especialmente centrada en permitir que las empresas y startups puedan crecer y financiar sus proyectos.
Esta visión de Waves le ha valido ganarse una grandiosa comunidad y perfilarse al mismo tiempo como uno de los proyectos blockchain más valiosos en todo el mundo. Pero ¿Qué es exactamente Waves? ¿Cómo funciona?
Historia de Waves
La historia de Waves se inició en 2016 cuando Sasha Ivanov, presentó su proyecto al mundo y preparó una ICO (Oferta Inicial de Monedas) para financiar el desarrollo de su proyecto. La ICO de Waves comenzó el 12 de abril de 2016 y concluyó el 31 de mayo de 2016, tras la cual recaudó nada menos que 30.000 BTC (unos 12 millones de dólares en ese momento).
El lanzamiento inicial de la red se realizó el 10 de junio de 2016, y aunque con una funcionalidad bastante básica, Waves demostró un potencial enorme gracias a su gran modularidad y el uso de lenguaje de programación Scala. Sí bien el lanzamiento apresurado de su mainnet disminuyó su impacto en la comunidad, quedó claro que el proyecto iba en serio, y ganó confianza entre sus tokenholders, especialmente aquellos que invirtieron en la ICO del proyecto.
En ese punto, Ivanov comenzó a buscar más apoyos para el desarrollo de Waves, y fue así como en 2017 se sumaron dos gigantes a su proyecto: Microsoft y Deloitte. La llegada de estas empresas impulsó el desarrollo de Waves, en especial, de sus capacidades de despliegue de redes privadas, seguridad a nivel de red y programación de smart contracts. De hecho, parte de ese trabajo de colaboración se pudo ver plasmado en la creación del protocolo de consenso Waves-NG (un protocolo basado en PoS), la generación de su versión de software Node 1.0 (liberada en 2018), y la llegada de smart contracts avanzados que dieron origen a WavesDEX (ahora Waves Exchange) y la generación de otras dApps.
¿Cómo funciona Waves?
En primer lugar, Waves es un proyecto blockchain que está escrito en lenguaje de programación Scala y que utiliza un protocolo de consenso basado en PoS, denominado LPoS o Waves-NG. El uso del lenguaje Scala en Waves responde a la necesidad de utilizar un lenguaje de programación seguro y extensible. Mientras que el uso de un algoritmo de consenso basado en PoS, responde a la necesidad de ofrecer velocidad y escalabilidad en su ejecución.
Sin embargo, hay muchos más elementos que hacen que Waves funcione y que detallaremos a continuación…
Prueba de Participación Arrendada (LPoS), el protocolo de consenso de la red
Waves utiliza una variante propia del protocolo de consenso de Proof of Stake (PoS – Prueba de Participación), conocido como LPoS o Prueba de Participación Arrendada (Leased Proof of Stake). El objetivo de LPoS es brindar escalabilidad y velocidad a la validación de transacciones en la red. La diferencia es que tu staking puedes hacerlo por medio de leasing o arrendamiento a un nodo completo que esté corriendo en la red, con el fin de obtener ganancias por dicha tarea.
En todo caso, para ejecutar un nodo completo con capacidad de validación necesitas realizar un staking de 10.000 tokens WAVES, pero en caso de que no tengas dicha cantidad puedes arrendar tus tokens y colocarlos en un pool para obtener ganancias por el depósito de los tokens.
dApps y Smart Contracts en Waves
En Waves los contratos inteligentes o smart contracts son parte fundamental de las posibilidades de esta red. Sin embargo, en Waves existen grandes diferencias entre sus smart contracts y los de plataformas como Ethereum o EOS. En primer lugar, los smart contracts de Waves no son Turing Completo, es decir, no son capaces de crear todo tipo de programas que puedas imaginar. Esto que puede ser visto como una debilidad, es de hecho, su mayor fortaleza, ya que los smart contracts de Waves son extremadamente seguros. Y si bien, existe la intención de ofrecer un soporte Turing Completo, Waves de momento se mantiene con la primera opción.
Para programar dichos smart contracts se utiliza el lenguaje de programación Ride, creado específicamente para tal fin. Su principal ventaja es que su sintaxis es parecida al lenguaje F#, y está diseñado para ser seguro por defecto. Esto significa que errores o hackeos como los que vemos en Ethereum u otras plataformas, son difíciles de ver en Waves. Y, la mayor muestra de ello lo podemos ver en otras criptomonedas que llevan esa aproximación, como el caso de Bitcoin.
Un punto adicional de contar con smart contracts es que Waves puede crear tokens (fungibles y no-fungibles) y dApps ajustadas a las necesidades de los desarrolladores. De hecho, se pueden crear tokens de forma muy fácil, incluso con el cliente ligero oficial para smartphones iOS y Android. La creación de un smart contracts para un token, por ejemplo, está prácticamente automatizada y tiene un coste muy bajo, de solo 1 Wave (unos 13 US$, para enero 2022). Estas facilidades han hecho que Wave tenga en su ecosistema más de 107 millones de tokens en circulación, con una capitalización de 2.000 millones de dólares.
Por otro lado, Waves apuesta por la creación de dApps seguras y de forma muy sencilla, algo impulsado por su lenguaje de programación Ride, y una comunidad centrada en ofrecer un espacio de desarrollo seguro para todos.
Tokenomics dentro de Waves
El token nativo de la plataforma es el token WAVES. Inicialmente este token tenía un suministro fijo de 100 millones de tokens, todos creados en el lanzamiento. Sin embargo, en octubre de 2019, Waves hizo la transición hacia una política monetaria inflacionaria, totalmente gobernada por los titulares de tokens. La recompensa inicial del bloque se ha fijado en 6 WAVES. Cada 100.000 bloques (aproximadamente 70 días), los mineros tienen una ventana de 10.000 bloques para votar si aumentar o disminuir la recompensa del bloque en 0,5 WAVES o dejarla sin cambios.
De esta manera, la inflación de Waves es completamente controlada por los generadores de tokens dentro de la plataforma. Esto tiene como punto positivo, que la emisión de tokens no es centralizada. Además, no obedece a complejas fórmulas económicas y, al mismo tiempo, se puede ajustar la emisión para hacerla mayor o menor. Todo ello con el fin de impulsar ciclos de revalorización del token.
Gobernanza y desarrollo sobre el protocolo
Otro aspecto importante en el funcionamiento de Waves está vinculado a la gobernanza de Waves. En este sentido han apostado por un sistema parecido al de Bitcoin y Ethereum. Por ejemplo, para presentar una mejora al software, los usuarios o colaboradores pueden presentar una propuesta de mejora (Waves Enhancement Proposals – WEP). Estas propuestas se someten a un debate de la comunidad y, una vez que se ha llegado a un consenso, el equipo del proyecto Waves puede fusionar los cambios aprobados en el repositorio GitHub de Waves Node.
Sin embargo, los cambios del protocolo no se activan una vez fusionados, ya que al menos el 80% de los validadores de la red deben aceptar primero los cambios y descargar el nuevo código para iniciar la actualización. Una vez que los validadores votan a favor de una actualización, las nuevas funciones de la red pasan a estar disponibles para todos los usuarios y desarrolladores de la red. Este sistema se parece mucho a las actualizaciones activadas por los mineros o MASF de Bitcoin
Otros elementos dentro de Waves
Otro punto importante en el funcionamiento de Waves es su apuesta de Plataform-as-a-Service (PaaS), en las que Waves ofrece herramientas integrales a sus usuarios con las que pueden facilitar su trabajo. En tal caso, Waves cuenta con estas herramientas:
- Waves Exchange es un intercambio diseñado especialmente para integrarse de forma nativa a la plataforma. Este exchange permite que cualquier usuario pueda enviar tokens y ransformarlos en otros de una manera muy fácil sin salir del ecosistema. Además, está estrechamente ligado a la Waves Wallet, un monedero donde puedes mantener criptomonedas como Bitcoin o Ethereum, e intercambiarlas por tokens Waves de forma nativa.
- Waves Keeper es una extensión para navegador que permite a los usuarios gestionar sus propias claves privadas. En un entorno seguro, los usuarios pueden utilizar sus fondos en WAVES para interactuar con los servicios basados en web y las aplicaciones descentralizadas (dApps) construidas bajo esta plataforma.
- Además, Waves cuenta con un conjunto de herramientas PaaS que permiten desplegar servicios en otras plataformas. Por ejemplo, es posible desplegar funcionalidades privadas mediante Waves dentro de una nube Microsoft Azure y desarrollar de forma interna funcionalidades que exploten las capacidades de Waves de forma privada. Esto resulta especialmente útil para empresas que quieren utilizar la tecnología blockchain sin depender de una red pública.
Ventajas y desventajas de Waves
Ventajas
- Es altamente versátil y tiene un conjunto de herramientas de desarrollo muy completo.
- Una alta integración de servicios en su software oficial.
- Uso de Scala y Ride como lenguajes de programación seguros por defecto para el desarrollo de su core y smart contracts.
- Transacciones económicas y veloces gracias al uso de LPoS.
- Uso de criptografía probada y segura, como lo es el caso de EdDSA con la curva Curve25519-ED25519.
- Sistema basado en cuentas que facilita enormemente la gestión de direcciones y tokens asociados. Incluso tiene la capacidad de usar «alias» en lugar de una dirección para las transacciones.
- Completa capacidad para crear tokens tanto fungibles como no-fungibles.
Desventajas
- La falta de smart contracts del tipo Turing Completo puede alejar a desarrolladores que no conozcan en profundidad el potencial de la plataforma.
- Resulta costoso el despliegue de un nodo completo dentro de la red (10 mil WAVES, aprox. 130.000 dólares).
- El modelo de Waves-NG basado en LPoS, tiene una escalabilidad limitada (unas 100 TX/segundo), y también presenta debilidades estructurales que le impiden escalar apropiadament