¿Qué es el consenso Leased Proof of Stake (LPoS) de Waves?
Con su protocolo Waves-NG, la red Waves ha logrado alta escalabilidad y rendimiento de transacciones. La red emplea un algoritmo de consenso Leased Proof of Stake (LPoS) para conseguirlo.
Fundamentos
La red Waves, que ofrece un ecosistema blockchain integral para su uso en procesos empresariales, se lanzó en 2016. Se desarrolló tras recaudar 30.000 BTC mediante una ICO que valía aproximadamente 16 millones de dólares en ese momento. La red ofrece un conjunto diverso de herramientas que satisfacen distintas necesidades, como la creación de tokens de criptomoneda personalizados, el desarrollo de contratos inteligentes y el comercio peer-to-peer en un exchange descentralizado integrado. El complemento de navegador Waves Keeper también ofrece un medio seguro y cómodo de interactuar con dApps y servicios web.
Escalabilidad
Al reconocer la necesidad de escalabilidad para facilitar la adopción masiva de la tecnología blockchain, Waves priorizó el desarrollo de tecnología que abordara las limitaciones de las blockchains existentes. Un ejemplo de esas limitaciones es la velocidad relativamente lenta de procesamiento de transacciones de Bitcoin, que solo puede manejar alrededor de 7 transacciones por segundo, a pesar de su alto nivel de seguridad.
En consecuencia, Bitcoin no es una solución eficiente para el uso global cotidiano. Se necesitan soluciones de segunda capa, como Lightning Network, para que Bitcoin cumpla ese papel. Waves, en cambio, tomó un enfoque distinto, priorizando inicialmente una alta escalabilidad on-chain en lugar de aplicaciones de segunda capa.
Arrendamiento de saldo
Inicialmente, Waves implementó un algoritmo sencillo de Proof of Stake, distribuyendo los 100 millones de tokens WAVES tras la ICO. A diferencia de las monedas minadas por PoW, los tokens WAVES tienen un suministro fijo y no existe inflación. Como resultado, los validadores de bloques reciben únicamente las comisiones por transacción por procesar bloques y no recompensas por bloque.
En mayo de 2017 se lanzó completamente el sistema Leased Proof of Stake (LPoS), que permite a los usuarios del cliente lite de Waves arrendar sus tokens WAVES a nodos mineros. Los tokens arrendados quedan bloqueados en la cuenta del usuario, prohibiendo transferencias o intercambios, aunque el titular de la cuenta conserva el control total sobre ellos y puede finalizar el arrendamiento en cualquier momento. Dado que operar un nodo minero implica una gran carga técnica y la necesidad de permanecer en línea 24/7, solo una pequeña proporción de la comunidad Waves opera nodos.
Cuando los tokens WAVES se arriendan a un nodo minero, aumenta el peso de participación del minero, mejorando sus probabilidades de descubrir el siguiente bloque. El sistema Leased Proof of Stake aporta dos beneficios clave que refuerzan la seguridad de la red. En primer lugar, una mayor cantidad de tokens WAVES arrendados aumenta la seguridad de la red al elevar las barreras para llevar a cabo un ataque del 51%. En segundo lugar, los tokens WAVES arrendados pueden asignarse desde la dirección de almacenamiento en frío de un usuario a un nodo que tenga solo un saldo reducido pero permanezca en línea. Esto disminuye significativamente las posibilidades de que los tokens WAVES sean hackeados desde un equipo conectado, ya que los fondos arrendados no se transfieren al minero.
Waves-NG: Un nuevo enfoque de consenso
En diciembre de 2017, la red Waves recibió una mejora significativa con la implementación de Waves-NG, basada en una propuesta del profesor de informática de Cornell Emin Gün Sirer conocida como Bitcoin-NG. El protocolo tradicional de Bitcoin elige a un minero de forma retrospectiva después de que se ha añadido un bloque a la cadena de bloques, y los mineros compiten entonces para encontrar un hash válido para el siguiente bloque basado en el estado actual de la cadena. Mientras tanto, las transacciones recién generadas permanecen pendientes en el mempool hasta que un minero las valide.
Sistema tolerante a fallos bizantinos
En 2015 se propuso Bitcoin-NG como un sistema tolerante a fallos bizantinos (BFT) que ofrece escalabilidad. Waves adaptó esta idea para una red proof-of-stake, creando el protocolo Waves-NG, que se lanzó en diciembre de 2017. Waves-NG es la primera implementación de Bitcoin-NG para una blockchain pública abierta. A diferencia del protocolo original de Bitcoin, Waves-NG selecciona al siguiente minero por adelantado, que crea un 'key block' vacío. Luego se añaden microbloques, que consisten en pocas transacciones cada uno, en tiempo real a ese key block, lo que permite añadir transacciones a la cadena en cuestión de segundos, siendo la latencia de la red la única demora real. El protocolo permite un mayor rendimiento y tiempos de confirmación más rápidos, manteniendo propiedades BFT.
MassTransfers
La función MassTransfers es otra adición reciente al ecosistema Waves. Permite a los usuarios incluir hasta 100 transferencias en una sola transacción, lo que se traduce en comisiones reducidas. La razón por la que 100 transferencias es el límite para MassTransfers es que equilibra la necesidad de mayor capacidad y comodidad con la necesidad de evitar el envío de lotes muy grandes de transacciones de bajo coste de una sola vez. Si un usuario necesita hacer más transferencias, puede hacerlo enviando múltiples MassTransfers de manera secuencial.
Los usuarios pueden simplemente seleccionar MassTransfer como un tipo distinto de 'Enviar transacción', lo que les permite incluir hasta 100 destinatarios de una sola vez. Además, las direcciones de los destinatarios pueden incluirse mediante JSON o cargarse desde un archivo CSV, lo que facilita realizar airdrops o pagos semanales a los arrendadores de WAVES. La combinación de Waves-NG y la función MassTransfer permite un alto rendimiento en la red.
Pruebas de estrés
La red Waves ha sido sometida a varias pruebas de estrés para evaluar su capacidad de rendimiento. Una prueba de estrés significativa se realizó en MainNet en octubre de 2018. Esta prueba mostró que el protocolo de la blockchain pública (no simplemente una TestNet limitada y controlada) pudo manejar más de 6,1 millones de transacciones en 24 horas, con un promedio de 4.200 transacciones por minuto o 71 transacciones por segundo. El rendimiento máximo incluso alcanzó cientos de transacciones por segundo.
Conclusión
Waves prioriza la escalabilidad on-chain manteniendo bajas las comisiones gracias al sistema Leased Proof-of-Stake. Esto permite que usuarios cotidianos ayuden a asegurar la red arrendando WAVES a nodos completos. Además, Waves-NG posibilita un alto rendimiento de hasta 100 TPS, que es un orden de magnitud superior al de muchas blockchains. Sin embargo, existen límites para la escalabilidad on-chain debido a restricciones de almacenamiento y ancho de banda.
Los desarrolladores creen que el enfoque actual puede optimizarse para soportar hasta 1.000 TPS antes de que sean necesarias soluciones de escalado adicionales. Mientras tanto, Waves explora opciones para una solución de escalado de segunda capa que implique sidechains, las cuales pueden procesar un gran número de transacciones en paralelo pero finalmente asegurarlas en la blockchain principal de Waves.