Consensus de la preuve d’enjeu louée

10 min Niveau 9

Le réseau Waves a été lancé en 2016 après une ICO qui a permis de lever 30 000 BTC - environ 16 millions de dollars à l'époque. Le projet développe un écosystème blockchain complet destiné à être utilisé dans les processus d'entreprise, avec une boîte à outils étendue couvrant divers besoins - notamment la création facile de jetons de crypto-monnaies personnalisés ; des contrats intelligents simples ; des échanges pair-à-pair sur une bourse décentralisée intégrée (DEX) ; et un moyen sûr et pratique d'interagir avec les dApps et les services Web grâce au plug-in de navigateur Waves Keeper.

Évolutivité

Dès le départ, Waves a reconnu que l'évolutivité serait nécessaire pour une adoption massive des blockchains, et a donné la priorité au développement d'une technologie permettant de remédier aux limites des blockchains existantes. Par exemple, Bitcoin est hautement sécurisé mais relativement lent, et ne peut supporter qu'environ 7 transactions par seconde (TPS). En tant que tel, le bitcoin n'est pas assez efficace pour être utilisé comme monnaie courante dans le monde entier. Des solutions de second niveau telles que le Lightning Network sont nécessaires pour que le Bitcoin puisse remplir cette fonction. Waves a adopté une approche différente, en se concentrant d'abord sur l'extensibilité élevée de la chaîne avant d'envisager des applications de second niveau.

Leasing d'équilibre

L'algorithme de consensus original de Waves était une simple mise en œuvre de Proof of Stake. Les 100 millions de jetons WAVES ont tous été distribués après l'ICO, et l'offre est fixe : il n'y a pas d'inflation, comme c'est le cas avec les pièces minées PoW. Par conséquent, les validateurs de blocs Waves (forgeurs, bien qu'ils soient généralement appelés simplement "mineurs" dans l'écosystème Waves) reçoivent des frais de transaction sur les blocs qu'ils traitent, mais pas de récompenses de bloc.

Le système de preuve d'enjeu loué (LPoS - Leased Proof of Stake) a été entièrement lancé en mai 2017, permettant aux utilisateurs du client Waves lite - ceux qui n'ont pas exécuté un nœud complet - de louer leurs jetons WAVES à des nœuds miniers. Les WAVES loués sont bloqués dans le compte de l'utilisateur et ne peuvent pas être transférés ou échangés. Néanmoins, les jetons restent sous le contrôle total du titulaire du compte et les locations peuvent être annulées à tout moment. Compte tenu des frais techniques liés à l'exploitation d'un nœud minier et de la nécessité d'être en ligne 24 heures sur 24, 7 jours sur 7, seule une proportion relativement faible de la communauté Waves exploite des nœuds.

​​Les jetons WAVES qui sont loués à un nœud minier sont utilisés pour augmenter le poids de l'enjeu du mineur, ce qui augmente les chances de ce mineur de trouver le prochain bloc. Le système de preuve d'enjeu loué améliore la sécurité du réseau d'au moins deux façons. Premièrement, plus les WAVES sont utilisés pour sécuriser le réseau, mieux c'est, car il devient plus difficile pour un attaquant d'accumuler les jetons nécessaires pour mener une attaque à 51%. Deuxièmement, les WAVES peuvent être loués à un nœud à partir de l'adresse de stockage à froid d'un utilisateur, mais le nœud lui-même - qui reste en ligne - peut n'avoir qu'un solde minimal. Cela réduit considérablement le risque de piratage des jetons WAVES à partir d'ordinateurs qui sont en ligne, puisque les fonds loués ne sont pas transférés au mineur.

Une nouvelle approche du consensus : Waves-NG

Une nouvelle mise à niveau du réseau a eu lieu en décembre 2017, avec le lancement de Waves-NG. Il s'agissait d'un nouveau protocole basé sur la proposition Bitcoin-NG du professeur d'informatique de Cornell, Emin Gün Sirer.

Le protocole Bitcoin original choisit chaque mineur rétrospectivement. Après l'ajout d'un bloc à la blockchain, les mineurs sont en concurrence pour trouver un hachage valide pour le bloc suivant, en fonction de l'état actuel de la blockchain. Pendant ce temps, les transactions nouvellement générées vont dans le pool de mémoire (mempool), où elles resteront en attente jusqu'à ce qu'un mineur finisse par les collecter et les valider.

Bien que les protocoles Bitcoin et Bitcoin-NG soient tous deux considérés comme des systèmes à tolérance de panne byzantine (BFT - Byzantine Fault Tolerant), ce dernier a été proposé en 2015 comme une alternative évolutive basée sur un mécanisme de fonctionnement différent. Sur un système Bitcoin-NG, le prochain mineur est choisi à l'avance et ce mineur crée un "bloc clé" vide - qui est le bloc qui sera finalement ajouté à la blockchain. De petits blocs appelés "microblocs" (composés de quelques transactions chacun) sont ajoutés en temps quasi réel à ce bloc clé. Pour utiliser une analogie de tous les jours, c'est comme si l'on ajoutait plusieurs sacs de courses (microblocs) à un chariot (bloc-clé), avant que le chariot complet ne soit finalement amené à la caisse (ajouté à la blockchain). Cela signifie que les transactions peuvent être ajoutées à la blockchain en quelques secondes seulement, le seul véritable délai étant la latence du réseau. Waves a mis à jour cette idée pour un réseau de preuve d'enjeu, créant le protocole Waves-NG - le premier déploiement de Bitcoin-NG pour une blockchain ouverte et publique.

L'écosystème s'est enrichi de transferts de masse. Ceux-ci permettent de regrouper jusqu'à 100 transferts en une seule transaction, avec des frais réduits. La limite de 100 txs par MassTransfert a été choisie comme un compromis entre l'ajout d'une capacité et d'une commodité importantes, d'une part, et la limitation de la possibilité d'envoyer de très grands lots de transactions à faible coût en une seule fois, d'autre part. Si davantage de transferts doivent être effectués, plusieurs MassTransfers peuvent être soumis séquentiellement.

En d'autres termes, les utilisateurs peuvent simplement choisir un transfert de masse comme un type différent de "transaction d'envoi", ce qui leur permet d'inclure jusqu'à 100 destinataires dans une seule transaction. De plus, les adresses des destinataires peuvent être fournies via JSON ou téléchargées à partir d'un fichier CSV, ce qui permet d'effectuer des largages importants ou de verser des paiements hebdomadaires à ceux qui louent leurs WAVES à des nœuds miniers de manière simple et efficace. Combinée à Waves-NG, la fonction MassTransfer a permis d'atteindre un taux de débit très élevé sur le réseau.

Un certain nombre de tests de stress ont été réalisés sur le réseau Waves pour évaluer le potentiel de débit du nouveau protocole. En octobre 2018, un test de stress majeur a été réalisé sur MainNet. Celui-ci a démontré que le protocole blockchain public et ouvert (et non simplement un TestNet limité et contrôlé) pouvait prendre en charge plus de 6,1 millions de transactions sur une période de 24 heures, soit une moyenne de 4 200 tx par minute ou 71 tx par seconde, les pics de débit atteignant des centaines de transactions par seconde.

Conclusion

Le système de preuve d'acceptation louée a permis aux utilisateurs quotidiens sans expertise technique de contribuer à sécuriser le réseau Waves, en louant leurs WAVES à des nœuds complets sans perdre le contrôle de leurs jetons. Parallèlement, Waves-NG a permis un débit allant jusqu'à 100 TPS, soit un ordre de grandeur supérieur à celui de nombreuses blockchains. Les frais sont faibles car il n'est pas nécessaire de payer les mineurs avec des récompenses de bloc pour les compenser des coûts élevés d'électricité et du matériel coûteux.

L'évolutivité de la chaîne a été une priorité pour Waves, mais il existe des limites à la capacité de toute chaîne de blocs à évoluer de cette manière, en raison du stockage et de la bande passante nécessaires. Les développeurs de Waves estiment que l'approche actuelle peut être optimisée pour prendre en charge jusqu'à 1 000 TPS avant que d'autres solutions de mise à l'échelle ne soient nécessaires. Waves étudie actuellement les options d'une solution de mise à l'échelle de deuxième niveau impliquant des chaînes latérales, permettant de traiter un grand nombre de transactions sur une chaîne parallèle, mais finalement sécurisée sur la blockchain principale de Waves.

logo discord

Besoin d'aide ?

Rejoignez notre communauté officielle et ne restez plus seul à bloquer sur un problème !

En savoir plus