La pure preuve d'enjeu (PPoS)
Le PPoS n'aura plus aucun mystère pour vous !
Last updated
Le PPoS n'aura plus aucun mystère pour vous !
Last updated
Algorand utilise un algorithme de consensus novateur et unique appelé en français la pure preuve d'enjeu ("Pure Proof of Stake" en anglais ou plus simplement PPoS).
Pour rappel un algorithme de consensus est un ensemble de règle qui régit le fonctionnement d'une blockchain, afin que tous les acteurs d'un réseau se mettent d'accord sur la création d'un nouveau bloc.
Le PPoS utilisé par Algorand est une variante de la traditionnelle Preuve d'enjeu (PoS) utilisé notamment par Ethereum 2.0.
Ce consensus est conçu pour être sécurisé, évolutif et efficace. C'est d'ailleurs ce mécanisme qui permet à Algorand de résoudre le célèbre trilemme des blockchains.
Le concept du trilemme des blockchains a été imaginé par Vitalik Buterin, le fondateur d'Ethereum. Il permet de définir les trois axes principaux qui interviennent dans le cadre du développement d’une blockchain.
D’après Vitalik Buterin, une blockchain ne peut pas être développée sur ces 3 axes en même temps. Le plus souvent, deux axes sont privilégiés et le dernier représente ainsi le point faible de la blockchain.
C’est-à-dire que si par exemple une blockchain privilégie la sécurité et la décentralisation, elle aura du mal à adapter son réseau à un grand nombre de personnes. Si à l'inverse elle choisit de tout miser sur la scalabilité et la sécurité, elle devient moins décentralisée. Enfin, une blockchain qui privilégierait la décentralisation et la scalabilité le ferait au détriment de sa sécurité.
Les trois aspects du trilemme des blockchains sont:
La sécurité: Les blockchains sont conçues pour être inviolables et résistantes à la fraude. La sécurité est souvent assurée par des algorithmes de cryptographie qui protègent les données et les transactions sur la blockchain. Plus une blockchain est sécurisée, moins elle est susceptible d’être piratée ou altérée.
La décentralisation: Les blockchains décentralisées sont conçues pour être gérées par un réseau de participants plutôt que par une seule entité centrale. Cela signifie que chaque participant a un rôle à jouer dans la validation des transactions et dans la gestion de la blockchain. Les blockchains décentralisées sont considérées comme plus résistantes aux attaques malveillantes, car elles ne dépendent pas d’une seule entité pour maintenir leur sécurité.
La scalabilité: Les blockchains doivent être capables de traiter un grand nombre de transactions en un temps relativement court. Plus une blockchain est rapide, plus elle est adaptée aux applications nécessitant un traitement rapide des transferts de capitaux.
Pour résoudre ce trilemme, il est donc nécessaire de pouvoir trouver un compromis qui permettrait de développer efficacement les 3 points en même temps afin que la blockchain n’ait pas de point faible.
C'est exactement ce que fait le PPoS et qui permet à Algorand de résoudre ce trilemme.
Sources: Journal Du Coin / Cryptoast
Une des particularités d'Algorand est que le mécanisme de consensus qu'elle utilise, c'est à-dire la pure preuve d'enjeu (PPoS), est un processus qui est lui-même basé sur le Byzantine Consensus, aussi appelé en français « problème des généraux Byzantins ».
Cela signifie que le système peut tolérer un certain nombre d'utilisateurs malveillants tant que les utilisateurs honnêtes respectant le protocole représentent plus de 2/3 des participants totaux.
Le "problème des généraux byzantins" est une technique utilisée par d'autres blockchains, mais son fonctionnement sur Algorand est poussé un peu plus loin.
Avant de continuer, il est important de comprendre en quoi consiste ce fameux problème.
Il s'agit d'évaluer la fiabilité des transmissions d'un interlocuteur à l'autre lorsque plusieurs de ces derniers doivent transférer une même information. La problématique est la suivante : comment obtenir un consensus sur la bonne information tout en ayant des traîtres diffusant une mauvaise information ?
La métaphore est la suivante:
Des généraux de l'armée byzantine encerclent une ville ennemie. Ils doivent communiquer via des messages afin de coordonner leur attaque.
Cependant, il est possible que certains généraux soient des traîtres qui cherchent à semer la zizanie au sein des troupes en diffusant une mauvaise information.
Il faut donc trouver une solution qui permettrait de diffuser le bon message à la majorité des généraux tout en identifiant les traîtres.
C'est le même problème que l'on peut transposer avec la blockchain ou l'informatique et que l'on appelle parfois « la tolérance aux pannes ».
Il a été établi qu'afin qu'un consensus soit trouvé pour solutionner ce problème, au moins 2/3 des généraux doivent être des généraux loyaux, ce qui laisse la possibilité d'avoir 1/3 de traîtres.
Le consensus est du même ordre dans le milieu informatique.
Le consensus PPoS nécessite 3 étapes afin de proposer, confirmer et écrire le bloc dans la blockchain. Ce protocole est très rapide et nécessite une puissance de calcul minimale par nœud, ce qui lui permet de finaliser efficacement les transactions (en 3.3 secondes !).
Tout utilisateur possédant au minimum 0.1 ALGO et exécutant un noeud de participation peut être choisi de façon aléatoire afin de participer au consensus.
À l'apparition d'un nouveau bloc, une nouvelle seed va déterminer de façon aléatoire et imprévisible quels utilisateurs vont participer à l'élaboration du prochain consensus.
Un calcul automatique est opéré par une fonction aléatoire vérifiable (VRF) grâce à la clé secrète obtenue par les participants sélectionnés. Le calcul VRF va produire une preuve de sécurité que n'importe quel utilisateur pourra utiliser pour vérifier le résultat, et ainsi s'assurer que ce sont les bons participants qui vont permettre la création du nouveau bloc.
Notons que les utilisateurs choisis pour participer au protocole le sont en fonction du nombre de jetons ALGO en leur possession. Pour faire une métaphore, c'est comme si chaque ALGO équivalait à un ticket de loterie. Plus un utilisateur possède de tickets, plus il a de chance de participer à la création d'un nouveau bloc.
La sélection pour la participation à l'élaboration des nouveaux blocs à l'aide de la VRF est effectuée de façon secrète, sans aucune communication auprès des utilisateurs.
De cette manière, un utilisateur malveillant ne saura jamais qui cibler. Et le temps qu'il apprenne quel utilisateur a pu être choisi, il sera trop tard, ce dernier aura déjà accompli sa tâche au sein du protocole.
L’utilité de cette phase est de filtrer les propositions, jusqu’à ce qu’il n’en reste qu’une seule permettant ainsi de garantir la certification d’un seul et unique bloc.
Chaque nœud du réseau recevra de nombreux messages de proposition des autres nœuds. Les nœuds vérifieront la signature du message, puis valideront la sélection en utilisant la preuve VRF et compareront ensuite le hashage de chaque preuve VRF validée pour déterminer laquelle est la plus basse afin de la propager sur l’ensemble du réseau.
Ce processus se poursuit pendant une durée déterminée pour permettre aux votes de se propager dans le réseau.
Chaque nœud exécutera ensuite le VRF pour chaque compte participant qu'il gère pour voir s'ils ont été choisis pour participer au comité de soft vote (vote doux). Si un compte est choisi, il aura un vote pondéré basé sur le nombre d'ALGO qu'il possède, et ces votes seront ensuite propagés sur le réseau.
Un nouveau comité est sélectionné aléatoirement pour chaque étape du processus et chaque étape a une taille de comité différente.
Un nombre minimal de votes est nécessaire pour passer à l'étape suivante et doit correspondre à un certain pourcentage de la taille du comité. Ces votes seront reçus des autres nœuds du réseau et chaque nœud validera la preuve VRF.
Une fois que le nombre minimal est atteint, le processus passe à l'étape de certification du vote.
Un nouveau comité vérifie la proposition de bloc qui a été votée lors de l'étape précédente pour assurer qu’il n’y a pas de problème.
S'il est valide, le nouveau comité vote à nouveau pour certifier le bloc. Cette étape se déroule de manière similaire au soft vote (vote doux).
Lorsque le nombre minimal requis de validation de ces votes est atteint, ceci déclenche la fin du tour et incite le nœud à créer un certificat pour le bloc et à l’écrire sur la blockchain.
À ce moment-là, un nouveau tour est lancé et le processus recommence.
Sources: Algorand Protocol PDF / CoinAcademy / Cryptoast
L'objectif principal du PPoS est de démocratiser le processus de création de blocs en permettant à toute personne détenant un solde minimal de 0.1 ALGO (0.04$ au cours du 27/01/25) de pouvoir proposer et valider des blocs sur la blockchain, au contraire d'Ethereum par exemple où l'exigence minimale est de 32 ETH (102,000$ au cours du 27/01/25).
Le gros problème de la PoS c'est qu'elle requiert des validateurs qui vont engager leurs propres jetons de façon à gagner des récompenses et cela engendre plusieurs problématiques.
La première c'est que le plus riche deviendra encore plus riche, c'est-à-dire que par définition le protocole va récompenser davantage les personnes qui ont le plus de jetons engagés, laissant de côté les autres.
La deuxième, et non des moindres, c'est que ce n'est pas sécurisé car il est très facile pour des personnes malveillantes de savoir qui cibler en prévision d'attaquer le réseau.
Au contraire, avec le PPoS d'Algorand, toutes les personnes disposant d'au minimum 0.1 ALGO peuvent potentiellement participer au consensus car elles ont chacune la même chance d'être sélectionnée pour proposer ou valider un bloc, ce qui rend impossible pour une personne malveillante de savoir qui cibler.