Qu’est-ce que le Proof-Of-Stake ?
28 mars, 2022
8 min
Le développement technologique a apporté de nouveaux mécanismes de consensus sur les blockchains, le Proof-of-Stake est désormais largement utilisé comme alternative au Proof-of-Work.
Comment fonctionne le consensus dans une blockchain
La technologie blockchain est un registre de transactions distribué, immuable, transparent et sécurisé qui ne nécessite pas de confiance. Sa décentralisation vient du fait que toute personne peut participer activement au développement, à la maintenance et à la sécurité de cet immense registre.
Toutes ces caractéristiques sont possibles grâce à un mécanisme de consensus, c’est-à-dire un algorithme qui permet à tous les composants de l’ensemble du réseau de s’accorder sur les informations à enregistrer sur la blockchain elle-même. Le mécanisme de consensus est extrêmement important car même si les individus ne se connaissent pas directement, ils peuvent compter sur le fonctionnement de l’infrastructure en elle-même, alors que normalement, dans un système centralisé, ils auraient besoin soit d’intermédiaires, soit d’une garantie pour échanger de la valeur.
Le mécanisme de consensus d’une blockchain est encodé dans le protocole et détermine les processus spécifiques par lesquels un consensus est atteint sur ce réseau particulier. Les processus et les mécanismes déterminent ensuite la rapidité, le niveau de décentralisation, la sécurité et l’évolutivité de la solution unique.
Pour cela, il existe de nombreuses variantes différentes du Proof-of-Stake, mais nous couvrirons le modèle le plus courant auquel la plupart des blockchains se réfèrent.
La naissance du Proof-of-Stake (POS)
Le Proof-of-Stake (PoS), qui peut se traduire en français par « preuve d’enjeu », est née comme une alternative au Proof-of-Work (PoW), bien plus ancien, en ce qui concerne particulièrement l’efficacité énergétique, car il est pas nécessaire pour le PoS d’utiliser du matériel et de la puissance de calcul pour valider les transactions et générer de nouveaux blocs.
Le concept a été proposé et imaginé en juillet 2011 sur le célèbre forum BitcoinTalk, à tel point qu’il a également suscité l’intérêt de Vitalik Buterin et des développeurs d’Ethereum. Au départ, bien que fascinante, l’idée de Proof-of-Stake semblait presque impossible à réaliser car elle était extrêmement complexe compte tenu de la technologie encore immature. Le lancement d’Ethereum a en fait eu lieu à l’aide de la PoW et ce n’est que dans les années suivantes que ce nouveau mécanisme proposé a été réellement développé et mis en œuvre avec succès (par d’autres blockchains). Le premier white paper technique décrivant une véritable solution Proof-of-Stake a été publié l’année suivante par Sunny King et Scott Nadal.
La proposition sur le forum visait à résoudre plusieurs problèmes potentiels :
- Rapidité – le nouveau mécanisme aurait accéléré la validation des transactions et donc augmenté l’évolutivité du réseau ;
- Confiance – le système pourrait améliorer la question de la confiance entre les validateurs en les sélectionnant pour leur qualité ;
- La faiblesse du matériel – l’idée était d’éliminer le matériel nécessaire pour miner avec la PoW car, en tant que composant physique, il est exposé à des interdictions ou des saisies potentielles par les autorités et les gouvernements ;
- Une plus grande démocratisation – l’objectif était que tous les détenteurs d’une crypto puissent participer activement aux choix de développement et à l’avancement du projet, par le biais d’un vote ;
Le cœur de l’ensemble du protocole serait le staking des coins, c’est-à-dire que les utilisateurs souhaitant devenir des valideurs devraient déposer et lier leurs coins dans des smart contracts spéciaux.
Comment fonctionne le Proof-of-Stake
Les protagonistes de ce mécanisme ne sont pas les mineurs, mais les validateurs. Ils n’utilisent pas de matériel à haute puissance de calcul, mais simplement un nœud dans le réseau et des tokens qu’ils bloquent en garantie.
Lorsque les validateurs aspirants bloquent leurs cryptos en staking, ils les envoient à une adresse spécifique et elles sont « gelées » à l’aide d’un smart contract.
Le choix des validateurs de blocs est basé sur des critères différents selon le protocole. Il y a généralement une composante aléatoire et dans la plupart des cas, la probabilité d’être choisi dépend de la quantité de cryptomonnaies mises en staking. Le fonctionnement n’est pas très différent de celui du tirage au sort des billets gagnants dans les loteries : plus on a de billets, plus on a de chances d’être tiré au sort ; de même, plus on a de cryptos en staking, plus on a de chances d’être sélectionné pour la prochaine génération de blocs.
Une fois les validateurs déterminés, la génération du bloc suivant a lieu, et les validateurs qui ne sont pas choisis deviennent généralement des attestateurs, c’est-à-dire des groupes de validateurs qui apposent un « cachet de validité » sur le nouveau bloc proposé précédemment. La dernière étape est plus pratique, en effet enfin le nouveau bloc peut être correctement inséré dans la blockchain. Le bloc suivant nécessitera le même processus, donc le validateur sera différent à chaque fois.
Le respect des règles, l’incitation
L’un des problèmes qui pourraient potentiellement affecter n’importe quelle blockchain est l’attaque à 51 %.
51% Attack
Lorsqu’un groupe de mineurs ou de validateurs est en mesure de prendre le contrôle de la majorité du réseau d’une blockchain dans le but de contrôler l’enregistrement des transactions et la valeur.
Il s’agit également d’un problème potentiel avec les blockchains PoS, bien qu’il soit plus difficile à se produire. Pour manipuler la validation, contrairement au PoW il n’est pas nécessaire de posséder 51 % de la puissance de calcul, mais 51 % de tous les coins ou tokens en circulation.
Pour éviter cette situation, des incitations sont prévues pour que chacun se comporte de la manière la plus correcte et la plus légitime possible. En fait, si quelqu’un essayait de générer des blocs invalides, il perdrait immédiatement la totalité du montant mis en staking par ce que l’on appelle le slashing. Dans la plupart des cas, les cryptos seraient brûlées, c’est-à-dire qu’elles se retrouveraient dans un portefeuille ad-hoc dont personne ne possède la clé privée. En d’autres termes, elles seraient inutilisables à jamais.
Tout le système d’incitations en faveur de la sécurité du réseau a été pensé et conçu en s’inspirant de la théorie des jeux, de manière à rendre plus pratique le respect des règles que la tentative de les contourner. Cette fonctionnalité n’est pas spécifique aux blockchains basées sur PoS, mais le slashing n’est efficace que là où existe le concept de staking.
Variantes du Proof-of-Stake
Au fil du temps, les développeurs de divers projets ont tenté d’adapter le mécanisme PoS aux besoins de leurs blockchains, principalement dans le but de rendre le consensus plus évolutif et plus décentralisé. Certaines variantes aux caractéristiques uniques ont donc été créées :
- Delegated Proof-of-Stake (DPoS) – DPoS) – comme le suggère l’acronyme lui-même, les utilisateurs délèguent leurs tokens à des validateurs « sélectionnés », ceux-ci vérifient les transactions et s’occupent de la création de nouveaux blocs. Les blockchains comme Eos.io utilisent ce mécanisme de consensus ;
- Liquid Proof-of-Stake (LPoS) – ceux qui n’ont pas assez de tokens ou de ressources pour devenir des validateurs peuvent déléguer ceux dont ils disposent à des validateurs. La particularité du LPoS par rapport au DPoS est que ceux qui délèguent ne sont pas obligés de garder les cryptos bloquées pour recevoir des récompenses mais peuvent continuer à les utiliser. En cas de fraude, le délégant ne perd pas les cryptos alors que les valideurs à qui le stake est délégué les perdent. Cette fonctionnalité rend le réseau plus démocratique car de cette manière, tout le monde peut participer au réseau, peu importe si le nombre minimum de pièces n’est pas atteint pour effectuer le staking. Tezos (XTZ) est un projet qui utilise le LPoS ;
- Pure Proof-of-Stake (PPoS) – conçue par l’équipe de développement d’Algorand, basée sur la fonction inventée par Silvio Micali (VRF), cette version du PoS diffère par l’anonymat des validateurs et le haut niveau d’aléatoire et de décentralisation. En effet, la validation d’un même bloc passe par 3 groupes de participants différents, dont la vie privée est totalement protégée, même si le processus est totalement vérifiable.
- Nominated Proof-of-Stake (NPoS) – les délégants (appelés ici les nominateurs) choisissent les validateurs non pas au hasard mais selon un critère de réputation. Les nominateurs ont tendance à choisir des validateurs qui adoptent habituellement toutes les pratiques de sécurité et qui font des choix positifs pour le réseau. Pour les élire, les nominateurs doivent bloquer leurs cryptos, ce qui garantit que le choix des validateurs se fait de manière judicieuse. Polkadot (DOT) utilise ce type de consensus.
Le Proof-of-Stake est proposée comme l’une des solutions à la consommation d’énergie du mining mais en pratique, il offre d’autres avantages tangibles dans la gestion du consensus sur les blockchains, grâce à sa plus grande adaptabilité aux besoins et caractéristiques spécifiques des projets individuels.