Explications sur le Consensus de Preuve de Participation louée

Partager
Explications sur le Consensus de Preuve de Participation louée
Ecoutez cet article
00:00 / 00:00

Algorithme de consensus de preuve de participation louée et le protocole Waves-NG

Auteur: Guy Brandon, contributeur de Waves.

Le réseau Waves fonctionne sur un algorithme de consensus en bail (ou loué - “LPoS”), associé au protocole Waves-NG, permettant un haut degré de scalabilité et de flux des transactions.


Introduction

Le réseau Waves a été lancé en 2016 après une ICO ayant réuni 30 000 BTC, soit environ 16 millions de dollars à l'époque. Le projet développe un écosystème complet de blockchain à destination des activités du monde de l’entreprise, avec une panoplie d'outils couvrant de nombreux besoins, notamment la création facile de jetons de crypto-monnaie personnalisés; de contrats intelligents simples; la réalisation d’échanges peer-to-peer sur une plateforme d’échanges décentralisés intégrée (DEX); et un moyen sûr et pratique d'interagir avec des dApps et des services Web via le plug-in de navigateur Waves Keeper.


La scalabilité

Dès l’origine, Waves déclarait que l’adoption en masse de la blockchain nécessitait une scalabilité certaine, et a donné la priorité au développement de technologies pour traiter les limitations des blockchains existantes. Par exemple, Bitcoin est hautement sécurisé mais relativement lent et ne peut prendre en charge que 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 (ou seconde couche) telles que le réseau  Lightning sont nécessaires à Bitcoin pour atteindre cet objectif. Waves a adopté une approche différente, se concentrant initialement sur une scalabilité de chaîne élevée avant de considérer des applications de second niveau.


Location de fonds

L’algorithme de consensus original de Waves était une simple implémentation Proof of Stake (preuve de participation). L’entièreté des 100 millions de jetons WAVES ont été distribués après l’ICO, et l’offre est fixe: il n’y a pas d’inflation, comme il en existe pour les coins extraits dans les algorithmes de preuve de travail (PoW). Par conséquent, les validateurs de blocs Waves (les forgeurs, même s’ils sont généralement appelés simplement «mineurs» dans l’écosystème Waves) perçoivent des frais de transaction sur les blocs qu’ils traitent, mais pas de récompenses de bloc.

Le système LPoS (Leased Proof of Stake - pour preuve de participation louée) a été entièrement lancé en mai 2017, permettant aux utilisateurs du client Waves lite - ceux qui ne font pas fonctionner de nœud complet - de louer leurs jetons WAVES à des nœuds de minage. Les WAVES loués sont bloquées dans le portefeuille de l'utilisateur louant ses fonds et ne peuvent être ni transférés ni échangés. Néanmoins, les jetons restent sous le contrôle total du titulaire du compte et les contrats de location peuvent être annulés à tout moment. Compte tenu des coûts techniques associés à l’exploitation d’un nœud de minage et de la nécessité d’être en ligne 24h / 24, seule une proportion relativement petite de la communauté Waves fait fonctionner des nœuds (une liste des générateurs de blocs est disponible à l’adresse http://dev.pywaves.org/generators/).

Les jetons WAVES qui sont loués à un nœud minier sont utilisés pour augmenter le “stake” du mineur (ajoutés à ses propres jetons) ce qui augmente ses chances de trouver le prochain bloc. Le système de preuve de participation louée améliore la sécurité du réseau d'au moins deux manières. Premièrement, plus on utilise de WAVES pour sécuriser le réseau, mieux ce sera, car il devient plus difficile pour un attaquant d'accumuler les jetons nécessaires pour mener une attaque à 51%. Deuxièmement, des WAVES peuvent être loué à un nœud à partir de l’adresse de stockage à froid de l’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 de jetons WAVES sur les d'ordinateurs connectés, car les fonds loués ne sont pas transférés au mineur.


Une nouvelle approche du consensus: Waves-NG

Une autre mise à niveau du réseau a eu lieu en décembre 2017, avec le lancement de Waves-NG. Il s’agit 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 de manière rétrospective. Après l'ajout d'un bloc à la blockchain, les mineurs se font 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 les récupère et les valide.

Bien que les protocoles Bitcoin et Bitcoin-NG soient considérés comme des systèmes tolérants aux pannes byzantines (BFT), ce dernier a été proposé en 2015 comme alternative évolutive reposant sur un mécanisme de travail différent. Sur un système Bitcoin-NG, le prochain mineur est choisi à l’avance et ce dernier crée un "bloc clé" vide - qui est le bloc qui sera ajouté à la blockchain. Des petits blocs appelés «microblocs» (composés de quelques transactions chacune) sont ajoutés en temps quasi réel à ce bloc clé. Pour utiliser une analogie quotidienne, cela revient à ajouter plusieurs sacs de course (microblocs) dans 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 à peine, le seul délai réel étant la latence du réseau. Waves a mis à jour cette idée de réseau à preuve de participation en créant le protocole Waves-NG - le premier déploiement de Bitcoin-NG pour une blockchain ouverte et publique.

MassTransfers est un autre atout de cet écosystème. Il permet de regrouper jusqu’à 100 transferts en une seule transaction, moyennant des frais réduits. La limite de 100 txs par MassTransfer a été choisi comme compromis entre, d’un côté, le fait d’augmenter la scalabilité et le confort d’utilisation, et de l’autre côté, une limitation de la capacité à envoyer simultanément de très grands lots de transactions à faible coût. Si davantage de transferts doivent être effectués, plusieurs MassTransfers peuvent être soumis de manière séquentielle.

En d’autres termes, les utilisateurs peuvent simplement choisir un MassTransfer comme une manière différenciée d’envoyer des transactions, 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 simplifie et optimise la réalisation de gros airdrops ou de paiements hebdomadaires à ceux qui louent leurs WAVES à des nœuds de minage. Combinée à Waves-NG, la fonction MassTransfer a permis d’obtenir un débit très élevé sur le réseau.

Un certain nombre de tests de résistance ont été effectués sur le réseau Waves pour évaluer le potentiel de débit du nouveau protocole. En octobre 2018, un important test de résistance a été effectué sur le MainNet. Il a démontré que le protocole public de blockchain ouverte (et pas seulement un TestNet limité et contrôlé) pouvait prendre en charge plus de 6,1 millions de transactions en 24 heures - soit une moyenne de 4 200 tx par minute ou de 71 tx par seconde, avec des débits de pointe atteignant des centaines de transactions par seconde.


Pensées de clôture

Le système de preuve de participation louée a permis aux utilisateurs quotidiens sans expertise technique d’aider à la sécurisation du réseau Waves, en louant leurs WAVES à des nœuds complets sans perdre le contrôle de leurs jetons. En parallèle, Waves-NG a permis d’atteindre des débits allant jusqu'à 100 TPS, ce qui est un ordre de grandeur supérieur à celui de nombreuses blockchains. Les frais de transaction sont bas car il n’est pas nécessaire de payer les mineurs avec des récompenses de bloc pour les dédommager des coûts élevés de l’électricité et du matériel minier, lui aussi très cher.

La scalabilité de la chaîne a été une priorité pour Waves, mais il existe des limites quant au fait que toutes les blockchains puissent é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 dimensionnement ne soient nécessaires. Waves explore actuellement les options pour une solution de redimensionnement de second niveau impliquant des chaînes latérales, permettant à un grand nombre de transactions d'être traitées sur une chaîne parallèle mais finalement sécurisées sur la chaîne de blocs principale de Waves.

Loading