Algoritmo de consenso de arrendamiento de prueba de participación (LPOS) y protocolo Waves-NG

Autor: Guy Brandon, aportado por Waves.

La red Waves utiliza el algoritmo de consenso Lease-in-Proof-of-Stake (LPOS), que combinado con el protocolo Waves-NG permite una alta escalabilidad y rendimiento de transacciones de la red.


introducir

La red Waves se lanzó en 2016 con una ICO que recaudó 30.000 Bitcoin, por un valor aproximado de 16 millones de dólares. El proyecto tiene como objetivo desarrollar un ecosistema blockchain integral que pueda usarse para procesos de transacciones comerciales. Incluye kits de herramientas que cubren diversos requisitos funcionales, incluida la creación sencilla de tokens de moneda digital personalizados, la escritura directa de contratos inteligentes y el descifrado integrado para peer-to. -Transacciones entre pares (DEX), formas seguras y convenientes de interactuar con dApps y servicios web proporcionados por el complemento del navegador Waves Keeper.


Escalabilidad

Desde el principio, Waves reconoció que la escalabilidad es una necesidad para la promoción y el uso de la mayoría de los proyectos blockchain, y se dio cuenta de que es necesario desarrollar tecnologías relevantes para resolver las limitaciones de las blockchains existentes. Por ejemplo, Bitcoin tiene alta seguridad pero velocidades de transacción relativamente lentas y solo puede admitir alrededor de 7 transacciones por segundo (TPS). Por tanto, Bitcoin no es lo suficientemente eficiente como para convertirse en una moneda global. Para lograr este objetivo se implementan soluciones basadas en Capa 2, como Lightning Network de Bitcoin. Waves adopta un enfoque diferente para esta capa, centrándose primero en la escalabilidad en cadena antes de considerar las aplicaciones de la segunda capa.


saldo de arrendamiento

El algoritmo de consenso original de Waves se basa en un protocolo simple de prueba de participación. Se distribuyeron un total de 100 millones de tokens WAVES después de la ICO, y la oferta también es fija: como WAVE es un token "PoW", no hay inflación. Por lo tanto, los validadores de bloques de Waves (falsificadores, como a menudo se les llama "mineros" en el ecosistema de Waves) reciben tarifas de transacción de los bloques que procesan, pero no recompensas de bloques adicionales.

El sistema Leaseable Proof-of-Stake (LPoS) se lanzó por completo en mayo de 2017, y el protocolo permite a los usuarios con el cliente Waves lite (aquellos que no ejecutan un nodo completo) arrendar sus tokens WAVES a nodos de minería. Los WAVES alquilados están bloqueados en la cuenta del usuario y no se pueden transferir ni comercializar. Además, los tokens siguen estando totalmente controlados por el titular de la cuenta y pueden cancelarse en cualquier momento después de que expire el contrato de arrendamiento. Teniendo en cuenta la sobrecarga técnica asociada con la ejecución de un nodo de minería y estar en línea las 24 horas del día, los 7 días de la semana, hay relativamente pocas comunidades de Waves que ejecutan nodos de minería (puede encontrar una lista de generadores de bloques en https://dev.pywaves.org/generators/ Check). .

Los tokens WAVES alquilados a nodos mineros se pueden utilizar para aumentar el peso del minero y, a su vez, aumentar sus posibilidades de descubrir el siguiente bloque. Un sistema de prueba de participación alquilado mejora la seguridad de la red al menos de dos maneras. En primer lugar, cuantos más tokens WAVES se utilicen para proteger la red, mejor, ya que a un atacante le resultará más difícil acumular la cantidad de tokens necesarios para realizar un ataque del 51%. En segundo lugar, los tokens WAVES se alquilan a nodos de minería desde las billeteras frías de los usuarios, pero los propios nodos (los que permanecen en línea) pueden tener solo un pequeño saldo. Dado que los fondos arrendados no se transfieren a los mineros, esto puede reducir significativamente el riesgo de ataques a los tokens WAVES almacenados en línea.


Un nuevo método de consenso: Waves-NG

En diciembre de 2017, WAVES actualizó aún más la red y lanzó el protocolo de consenso Waves-NG. Este es un nuevo protocolo basado en el esquema Bitcoin NG, inventado por el profesor de TI de Cornell, Emin Gün Sirer.

Los mineros seleccionados por el protocolo Bitcoin original son rastreables. Después de agregar un bloque a la cadena de bloques, los mineros compiten entre sí para encontrar un valor hash válido para el siguiente bloque según el estado actual de la cadena de bloques. Al mismo tiempo, las transacciones recién generadas se colocan en el mempool, donde permanecerán pendientes hasta que un minero las recopile y verifique.

Si bien tanto Bitcoin como el protocolo Bitcoin NG se consideran sistemas bizantinos tolerantes a fallas (BFT), este último se propuso en 2015 como una alternativa escalable a un mecanismo de trabajo diferente. En el sistema Bitcoin-NG, se preselecciona el siguiente minero, quien crea un "bloque de claves" vacío; este bloque finalmente se agrega a la cadena de bloques. Los bloques pequeños se denominan "microbloques" (que constan de varias transacciones) y se agregan a este bloque clave casi en tiempo real. Usando una analogía de la vida diaria, esto es como agregar algunas bolsas de compras (microbloques) a un carrito de compras (bloque de llaves) y luego empujar el carrito completo a la caja (agregado a la red blockchain). Esto significa que las transacciones se pueden agregar a la cadena de bloques en segundos y el único retraso que puede ocurrir es el de la red. Waves actualizó el mecanismo de prueba de participación para crear el protocolo Waves-NG, que también fue la primera vez que el protocolo Bitcoin NG se configuró en una cadena de bloques pública abierta.

Se logran más mejoras en el ecosistema a través de "MassTransfers". Permite ejecutar hasta 100 transferencias en una sola transacción y reduce las tarifas de procesamiento. Por un lado, para equilibrar la expansión de la capacidad y la conveniencia, MassTransfer limita cada MassTransfer a solo 100 tx. Por otro lado, también limita la capacidad de enviar una gran cantidad de transacciones de bajo costo al mismo tiempo. Si se requiere una cantidad mayor de transacciones de transferencia, se pueden enviar múltiples transacciones de transferencia de MassTransfers en secuencia.

En otras palabras, los usuarios pueden simplemente elegir MassTransfer como una forma alternativa de "enviar transacciones", lo que les permite agregar hasta 100 beneficiarios en una sola transacción. Además, la dirección del destinatario se puede proporcionar a través de JSON o cargarse mediante un archivo CSV, lo que permite realizar de manera directa y eficiente grandes lanzamientos aéreos o pagos semanales a los usuarios que alquilan tokens WAVES a nodos de minería. Combinada con Waves-NG, la función MassTransfer permite tasas de rendimiento extremadamente altas en la red.

Para evaluar el rendimiento potencial del nuevo protocolo, se realizaron una serie de pruebas de estrés en la red Waves. En octubre de 2018, se realizó una prueba de estrés de gran volumen en MainNet. La prueba muestra que un protocolo público de blockchain (no solo el limitado y controlado TestNet) puede admitir más de 6,1 millones de transacciones en 24 horas a un promedio de 4200 txs por minuto o 71 txs por segundo, con un rendimiento máximo de hasta cientos de transacciones. .


Resumir

Lease Proof of Stake (LPOS) permite a los usuarios comunes sin experiencia técnica ayudar a proteger la red Waves y alquilar WAVES a nodos completos mientras controlan los tokens WAVES. Al mismo tiempo, Waves-NG alcanza un rendimiento de hasta 100 TPS, que es un orden de magnitud superior al de muchas cadenas de bloques. Dado que no hay necesidad de pagar recompensas financieras a los mineros, y estos últimos no necesitan pagar altas facturas de electricidad ni hardware costoso, las tarifas de transacción son muy bajas.

Para Waves, la escalabilidad en cadena siempre ha sido una prioridad, pero cualquier cadena de bloques puede escalar de esta manera debido al espacio de almacenamiento y al ancho de banda necesarios. Los desarrolladores de Waves creen que la solución actual se puede optimizar antes de implementar más una solución escalable y la capacidad de admitir transacciones de hasta 1000 TPS. Actualmente, Waves está explorando soluciones de escalamiento de segunda capa que involucran cadenas laterales, que podrían admitir el procesamiento de grandes volúmenes de transacciones en cadenas paralelas y, en última instancia, permitir la protección en la red principal de Waves.