Bitcoin et Ethereum sont les 2 mastodontes du monde des cryptomonnaies, occupant ensemble plus de la moitié du marché en termes de capitalisation (environ 56% au moment de la rédaction de cet article, comme le montre la Figure 1). Bitcoin a souvent été au coeur de nombreuses polémiques quant à sa consommation énergétique considérable dûe à son algorithme de consensus : le Proof of Work (en français : la preuve de travail). Ethereum a quant à lui bien plus fait figure de bon élève, en particulier depuis sa migration vers un autre algorithme de consensus : le Proof of Stake (en français : la preuve d'enjeu). Cette migration a permis de réduire la consommation énergétique du réseau de plus de 99,99%. Mais alors, cet algorithme est-il meilleur que le Proof of Work ? Serait-il même l'algorithme de consensus idéal ?
Figure 1 : Dominance du marché des cryptomonnaies (source :
Global Cryptocurrency Market Charts | CoinMarketCap)
Le Proof of Stake (PoS) est un algorithme de consensus alternatif au fameux Proof of Work (PoW), permettant d'aboutir à un consensus distribué, et donc de sécuriser la blockchain en empêchant notamment la double dépense. Diverses implémentations de cet algorithme existent, néanmoins les fondamentaux restent les mêmes. Nous nous penchons dans cet article sur le PoS d'Ethereum.
Dans le PoW, un ensemble de noeuds (appelés mineurs) réalisent de nombreux calculs pour trouver la solution à un problème : le mineur qui trouve cette solution peut alors proposer un nouveau bloc, et se voit récompenser d'une certaine quantité du jeton de la blockchain pour son travail effectué. Dans l'implémentation de Bitcoin, la difficulté du problème est ajustée de telle sorte qu'un bloc soit créé approximativement toutes les 10 minutes.
Le mode de fonctionnement du PoS est bien différent de celui du Proof of Work. Dans cet algorithme, les validateurs mettent en enjeu (stake) une partie de leur capital, c'est-à-dire qu'ils le bloquent pendant une certaine durée et ne peuvent (temporairement) plus les retirer. À tour de rôle, et à intervalle régulier, l'un de ces validateurs (appelé forger) est sélectionné de manière aléatoire (ou plutôt pseudo-aléatoire, car leur probabilité d'être élu est notamment proportionnelle à la taille de leur mise) afin de proposer un nouveau bloc. Un autre ensemble de validateurs (appelés attestors) est également tiré au sort dans le but d'attester la validité du nouveau bloc proposé : en cas de comportement malhonnête de la part du forger (proposition d'un bloc frauduleux, déconnexion du réseau lors de la validation...), ce dernier peut alors perdre une partie (voire même l'entièreté) de sa mise ainsi que son droit de participation. Le même sort sera appliqué à un attestor qui certifierait la validité d'un bloc frauduleux. Cette sanction vise à encourager les validateurs à agir de manière de honnête, car comme pour le PoW, le forger proposant un nouveau bloc se voit récompensé (en récupérant tous les frais de transactions du bloc). Pour qu'un bloc soit accepté et ajouté à la chaîne, plus de deux tiers des 127 attestors doivent avoir attesté sa validité.
Figure 2 : Processus de création de nouveaux blocs (source : Proof of Stake in Blockchain | by Techskill Brew | Medium).
Les blockchains qui implémentent le PoS utilisent des combinaisons de critères de sélection différents en fonction de ce qu'elles pensent être le mieux pour le réseau et ses utilisateurs. Cela permet d'éviter à certains noeuds d'être choisis plus souvent que d'autres, afin notamment de ne pas favoriser les gros joueurs. Ces critères peuvent par exemple inclure :
Contrairement au PoW de Bitcoin où la difficulté de minage s'ajuste pour aboutir à une création de blocs toutes les 10 minutes, l'intervalle de création de nouveaux blocs du PoS d'Ethereum est strictement fixe et n'a pas besoin d'ajuster de quelconques paramètres. Le temps est d'ailleurs divisé en slots et en epochs. Un slot correspond directement à la fréquence de création de nouveaux blocs, et est fixé à 12 secondes. Une epoch est composée de 32 slots (soit 6 minutes et 24 secondes), et correspond à la fréquence d'élection d'un nouveau comité de validateurs (128, dont l'un est le forger et les 127 autres sont les attestors).
Le PoS comporte plusieurs avantages par rapport au traditionnel PoW, à savoir :
Malgré les nombreux avantages de ce mécanisme de consensus, des inconvénients existent aussi et brisent le mythe du consensus idéal (auquel cas le PoW n'aurait plus d'intérêt à être utilisé) :
Nous venons de voir au travers de cet article que le PoS est une alternative au PoW, mais n'en demeure pas moins meilleure ou pire : il comporte des avantages, mais également des inconvénients. Le choix de mécanisme de consensus d'une blockchain dépend donc du contexte, notamment de ses objectifs et de ses ambitions. À savoir que le PoS n'est pas la seule alternative au PoW : il en existe bien d'autres, comme le Proof of Authority (PoA) ou le Proof of History (PoH). D'autres variantes du PoS existent également, comme le Delegated Proof of Stake (DPoS) ou le Proof of Staked Authority (PoSA).