Algorithme de consensus de preuve de participation (LPOS) et protocole Waves-NG

Auteur : Guy Brandon, contribution de Waves.

Le réseau Waves utilise l'algorithme de consensus Lease-in-Proof-of-Stake (LPOS), qui, combiné au protocole Waves-NG, permet une évolutivité et un débit de transactions élevés du réseau.


introduire

Le réseau Waves a été lancé en 2016 avec une ICO qui a permis de récolter 30 000 Bitcoins, d'une valeur d'environ 16 millions de dollars. Le projet vise à développer un écosystème blockchain complet pouvant être utilisé pour les processus de transactions commerciales. Il comprend des boîtes à outils couvrant diverses exigences fonctionnelles, notamment la création facile de jetons de monnaie numérique personnalisés, l'écriture directe de contrats intelligents et le décryptage intégré pour le peer-to-to-to-monnaie. -transactions entre pairs. Échanges centralisés (DEX), moyens sécurisés et pratiques d'interagir avec les dApp et services Web fournis par le plug-in de navigateur Waves Keeper.


Évolutivité

Dès le début, Waves a reconnu que l’évolutivité était une nécessité pour la promotion et l’utilisation de la plupart des projets blockchain, et a réalisé que des technologies pertinentes devaient être développées pour résoudre les limites des blockchains existantes. Par exemple, Bitcoin offre une sécurité élevée mais des vitesses de transaction relativement lentes et ne peut prendre en charge qu'environ 7 transactions par seconde (TPS). Le Bitcoin n’est donc pas suffisamment efficace pour devenir une monnaie mondiale. Des solutions basées sur la couche 2 telles que le Lightning Network de Bitcoin sont mises en œuvre pour atteindre cet objectif. Waves adopte une approche différente de cette couche, en se concentrant d'abord sur l'évolutivité en chaîne avant d'envisager les applications de deuxième couche.


solde du bail

L'algorithme de consensus original de Waves est basé sur un simple protocole de preuve de participation. Au total, 100 millions de tokens WAVES ont été distribués après l'ICO, et l'offre est également fixe : comme WAVE est un token « PoW », il n'y a pas d'inflation. Par conséquent, les validateurs de blocs Waves (les faussaires, comme on les appelle souvent « mineurs » dans l'écosystème Waves) reçoivent des frais de transaction pour les blocs qu'ils traitent, mais aucune récompense de bloc supplémentaire.

Le système Leaseable Proof-of-Stake (LPoS) a été entièrement lancé en mai 2017 et le protocole permet aux utilisateurs du client Waves Lite (ceux qui n'exécutent pas un nœud complet) de louer leurs jetons WAVES à des nœuds miniers. Les WAVES loués sont verrouillés dans le compte de l'utilisateur et ne peuvent être ni transférés ni échangés. De plus, les jetons restent entièrement contrôlés par le titulaire du compte et peuvent être annulés à tout moment après l'expiration du bail. Compte tenu des frais techniques associés à l'exécution d'un nœud de minage et à la présence en ligne 24h/24 et 7j/7, il existe relativement peu de communautés Waves exécutant des nœuds de minage (une liste de générateurs de blocs peut être trouvée sur https://dev.pywaves.org/generators/ Check) .

Les jetons WAVES loués aux nœuds miniers peuvent être utilisés pour augmenter le poids du mineur et, à son tour, augmenter ses chances de découvrir le bloc suivant. Un système de preuve de participation loué améliore la sécurité du réseau d'au moins deux manières. Premièrement, plus il y a de jetons WAVES utilisés pour protéger le réseau, mieux c'est, car il sera plus difficile pour un attaquant d'accumuler le nombre de jetons nécessaires pour effectuer une attaque à 51 %. Deuxièmement, les jetons WAVES sont loués aux nœuds miniers à partir des portefeuilles froids des utilisateurs, mais les nœuds eux-mêmes (ceux qui restent en ligne) peuvent n'avoir qu'un petit solde. Étant donné que les fonds loués ne sont pas transférés aux mineurs, cela peut réduire considérablement le risque d'attaques contre les jetons WAVES stockés en ligne.


Une nouvelle méthode de consensus : Waves-NG

En décembre 2017, WAVES a encore amélioré le réseau et lancé le protocole de consensus Waves-NG. Il s'agit d'un nouveau protocole basé sur le schéma Bitcoin NG, inventé par Emin Gün Sirer, professeur d'informatique à Cornell.

Les mineurs sélectionnés par le protocole Bitcoin original sont traçables. Une fois qu'un bloc est ajouté à la blockchain, les mineurs se font concurrence pour trouver une valeur de hachage valide pour le bloc suivant en fonction de l'état actuel de la blockchain. Dans le même temps, les transactions nouvellement générées sont placées dans le pool de mémoire, où elles resteront en attente jusqu'à ce qu'un mineur les collecte et les vérifie.

Bien que Bitcoin et le protocole Bitcoin NG soient tous deux considérés comme des systèmes byzantins à tolérance de pannes (BFT), ce dernier a été proposé en 2015 comme alternative évolutive à un mécanisme de travail différent. Dans le système Bitcoin-NG, le prochain mineur est présélectionné, qui crée un "bloc clé" vide - ce bloc est finalement ajouté à la blockchain. Les petits blocs sont appelés « microblocs » (constitués de plusieurs transactions) et ils sont ajoutés à ce bloc clé en temps quasi réel. En utilisant une analogie avec la vie quotidienne, cela revient à ajouter quelques sacs de courses (micro-blocs) à un panier (bloc clé), puis à pousser le panier complet vers la caisse (ajouté au réseau blockchain). Cela signifie que les transactions peuvent être ajoutées à la blockchain en quelques secondes, et le seul retard qui peut survenir est celui du réseau. Waves a mis à niveau le mécanisme de preuve de participation pour créer le protocole Waves-NG, ce qui était également la première fois que le protocole Bitcoin NG était configuré dans une blockchain publique ouverte.

D'autres améliorations de l'écosystème sont obtenues grâce aux « MassTransfers ». Il permet d'exécuter jusqu'à 100 virements en une seule transaction et réduit les frais de traitement. D'une part, afin d'équilibrer l'expansion de la capacité et la commodité, MassTransfer limite chaque MassTransfer à seulement 100 txs. D'autre part, il limite également la possibilité d'envoyer un grand nombre de transactions à faible coût en même temps. Si un plus grand nombre de transactions de transfert est requis, plusieurs transactions de transfert MassTransfers peuvent être soumises en séquence.

En d’autres termes, les utilisateurs peuvent simplement choisir MassTransfer comme moyen alternatif « d’envoyer des transactions », ce qui leur permet d’ajouter jusqu’à 100 bénéficiaires en une seule transaction. De plus, l'adresse du destinataire peut être fournie via JSON ou téléchargée à l'aide d'un fichier CSV, ce qui permet d'effectuer directement et efficacement de gros parachutages ou des paiements hebdomadaires aux utilisateurs qui louent des jetons WAVES aux nœuds miniers. Combinée à Waves-NG, la fonctionnalité MassTransfer permet des débits extrêmement élevés sur le réseau.

Pour évaluer le débit potentiel du nouveau protocole, un certain nombre de tests de résistance ont été effectués sur le réseau Waves. En octobre 2018, un test de résistance à grand volume a été réalisé sur MainNet. Le test montre qu'un protocole de blockchain public (pas seulement le TestNet limité et contrôlé) peut prendre en charge plus de 6,1 millions de transactions en 24 heures à une moyenne de 4 200 tx par minute ou 71 tx par seconde, avec un débit maximal pouvant atteindre des centaines de transactions. .


Résumer

Lease Proof of Stake (LPOS) permet aux utilisateurs ordinaires sans expertise technique d'aider à protéger le réseau Waves et de louer WAVES à des nœuds complets tout en contrôlant les jetons WAVES. Dans le même temps, Waves-NG atteint un débit allant jusqu'à 100 TPS, ce qui est un ordre de grandeur supérieur à celui de nombreuses blockchains. Puisqu’il n’est pas nécessaire de payer des récompenses financières aux mineurs et que ces derniers n’ont pas besoin de supporter des factures d’électricité élevées et du matériel coûteux, les frais de transaction sont très faibles.

Pour Waves, l’évolutivité en chaîne a toujours été une priorité, mais n’importe quelle blockchain peut évoluer de cette façon en raison de l’espace de stockage et de la bande passante requis. Les développeurs de Waves estiment que la solution actuelle peut être optimisée avant de mettre en œuvre davantage une solution évolutive et la capacité de prendre en charge des transactions jusqu'à 1 000 TPS. Waves explore actuellement des solutions de mise à l'échelle de deuxième couche impliquant des sidechains, qui pourraient prendre en charge le traitement de gros volumes de transactions sur des chaînes parallèles et, à terme, permettre une protection sur le réseau principal Waves.