Algoritmo de consenso de prueba de participación arrendada y protocolo Waves-NG 

Autores: Guy Brandon, colaborador de Waves.

La red Waves se ejecuta en el algoritmo de consenso de prueba de participación (LPoS) arrendado en combinación con el protocolo Waves-NG, que proporciona un alto grado de escalabilidad y rendimiento de transacciones.


Prefacio

La red Waves se lanzó en 2016 después de una ICO que recaudó 30.000 BTC, unos 16 millones de dólares en ese momento. El proyecto está desarrollando un ecosistema blockchain integral para soluciones comerciales con una amplia gama de herramientas que cubren una variedad de necesidades, incluida la creación sencilla de tokens personalizados, contratos inteligentes, comercio entre pares en un intercambio descentralizado (DEX) integrado. así como un medio seguro y conveniente para interactuar con dApps y servicios web utilizando el complemento del navegador Waves Keeper.


Escalabilidad

Desde los inicios de Waves, la empresa reconoció que para la adopción masiva de la tecnología blockchain sería necesario mejorar la escalabilidad y priorizó el desarrollo de tecnología para abordar las limitaciones de las cadenas de bloques existentes. Por ejemplo, Bitcoin es muy seguro, pero es relativamente lento y solo puede admitir unas 7 transacciones por segundo (TPS). Por lo tanto, Bitcoin no es lo suficientemente poderoso como para usarse como moneda cotidiana. Se necesita una solución de capa 2 como Lightning Network para que Bitcoin logre esto. Waves adoptó un enfoque diferente, que inicialmente se centró en la alta escalabilidad de la cadena antes de considerar aplicaciones de capa 2.


Arrendamiento de saldo

El algoritmo de consenso original en Waves era una implementación simple de Prueba de participación. Los 100 millones de tokens WAVES se distribuyeron después de la ICO y su oferta total es fija, sin inflación, como ocurre con las monedas PoW. Por lo tanto, los validadores de Waves (falsificadores, aunque generalmente se les llama "mineros") son recompensados ​​con el pago de tarifas de bloque en lugar de recompensas. 

El sistema Leased Proof of Stake (LPoS) se lanzó por completo en mayo de 2017, lo que permite a los usuarios del cliente Waves lite, aquellos que no pueden ejecutar un nodo completo, alquilar sus tokens WAVES para nodos de minería. Los tokens alquilados están bloqueados en la cuenta del usuario y no se pueden transferir ni intercambiar. Sin embargo, permanecen bajo el control total de su propietario y el alquiler puede cancelarse en cualquier momento. Dada la sobrecarga técnica asociada con la ejecución de un nodo de minería y la necesidad de estar en línea las 24 horas del día, los 7 días de la semana, solo una porción relativamente pequeña de la comunidad de Waves los ejecuta (puede encontrar una lista de validadores en https://dev.pywaves.org/ generadores/). 

Los tokens WAVES alquilados se utilizan para aumentar la participación del minero, lo que a su vez aumenta las posibilidades de que encuentre el siguiente bloque. El sistema Leased Proof of Stake mejora la seguridad de la red al menos de dos maneras. En primer lugar, cuanto más WAVES se utilicen en la red, mejor, ya que a un atacante le resultará más difícil acumular los tokens necesarios para un ataque del 51%. En segundo lugar, WAVES se puede arrendar a un nodo desde la billetera fría de un usuario, pero el nodo en sí, que permanece conectado a la red, solo debe tener un saldo mínimo. Esto reduce significativamente el riesgo de que los tokens WAVES sean pirateados desde computadoras conectadas a la red, ya que los fondos arrendados no se transfieren al minero.


Un nuevo enfoque para el consenso con Waves-NG

En diciembre de 2017 se produjo una nueva actualización de la red con el lanzamiento de Waves-NG. Se trataba de un nuevo protocolo basado en Bitcoin-NG creado por el profesor de TI de Cornell, Emin Gün Sirer.

El protocolo original de Bitcoin selecciona a cada minero de forma retrospectiva. Después de agregar un bloque a la cadena de bloques, los mineros compiten entre ellos para encontrar un hash válido para el siguiente bloque según el estado actual de la cadena. Mientras tanto, las transacciones recién creadas van al mempool, donde permanecerán pendientes mientras uno de los mineros las recopila y verifica. 

Aunque tanto Bitcoin como Bitcoin-NG se consideran un sistema de Tareas Generales Bizantinas (BFT), este último se propuso en 2015 como una alternativa para mejorar la escalabilidad basada en un mecanismo de trabajo diferente. En el sistema Bitcoin-NG, el próximo minero se elige de antemano y crea un bloque de claves vacío; este es el bloque que eventualmente se agregará a la cadena de bloques. A este bloque de claves se agregan pequeños bloques llamados microbloques (que constan de múltiples transacciones). En un ejemplo cotidiano, esto sería como agregar algunas bolsas de compras (microbloques) a un carrito (bloque de llaves) antes de que se llene y finalmente llegue a la caja (agregarlo a la cadena de bloques). Esto significa que las transacciones se pueden agregar a la cadena de bloques en solo unos segundos, con la única latencia real asociada a la red. Waves ha actualizado la prueba de participación, creando el protocolo Waves-NG, esta es la primera interpretación de Bitcoin-NG para una cadena de bloques pública y abierta.

Otra incorporación al ecosistema fue MassTransfers. Esto le permite agrupar hasta 100 transferencias en una sola transacción con una comisión reducida. El límite de 100 TPS para MassTransfer se eligió como un compromiso entre capacidad significativa y conveniencia, y limitando la capacidad de enviar lotes muy grandes de transacciones de bajo costo. Si es necesario realizar más transferencias, se pueden implementar múltiples MassTransfers de forma secuencial.

En otras palabras, los usuarios pueden simplemente seleccionar MassTransfer como otro tipo de envío de transacciones, lo que les permite incluir hasta 100 destinatarios en una sola transferencia. Además, las direcciones de los destinatarios se pueden proporcionar en archivos JSON o CSV, lo que lo hace simple y efectivo para realizar grandes lanzamientos aéreos o pagos semanales a quienes alquilan sus WAVES a nodos de minería. Cuando se combina con Waves-NG, MassTransfer proporciona un rendimiento de red muy alto.

Se realizaron una serie de pruebas en la red Waves para evaluar el rendimiento del nuevo protocolo. En octubre de 2018 se llevó a cabo una prueba de estrés de la red principal. Esto demostró que el protocolo público y abierto de blockchain podría soportar más de 6,1 millones de transacciones por día y un promedio de 4200 TPS por minuto o 71 TPS por segundo, con un rendimiento máximo que alcanza más de 100 transacciones por segundo.


Conclusión

El sistema Leased Proof-of-Stake permitió a los usuarios comunes ayudar a proteger la red Waves transfiriendo sus tokens WAVES a los nodos sin perder el control sobre ellos. Al mismo tiempo, Waves-NG proporciona un rendimiento de hasta 100 TPS, que es un orden de magnitud mayor que muchas cadenas de bloques. Las transacciones también son más baratas porque no hay necesidad de pagar a los mineros una recompensa en bloque para compensar sus costos de electricidad y equipos costosos.

La escalabilidad de la cadena es una prioridad para Waves, pero existen ciertas limitaciones para otras redes blockchain con el mismo enfoque debido a la cantidad de memoria y ancho de banda requeridos. Los desarrolladores de Waves creen que se puede optimizar para admitir hasta 1000 TPS antes de que se requieran soluciones adicionales. Actualmente, Waves está analizando varias opciones para escalar la segunda capa, que incluye una cadena lateral, que le permitirá procesar una gran cantidad de transacciones en una cadena paralela y eventualmente asegurarla con la cadena principal.