Ethereum et smart contracts · 6 min · démo interactive

La preuve d'enjeu (staking) expliquée

Sur Ethereum, le droit de proposer un bloc se tire au sort, avec une garantie en ETH qu'une fraude peut détruire. Fais tourner le tirage et la sanction.

L’idée en une phrase

Le staking consiste à bloquer des ETH en garantie pour participer à la validation des blocs : suivre les règles peut rapporter, tricher fait perdre une partie de la garantie.

La preuve d'enjeu remplace le minage. Au lieu de brûler de l'électricité pour obtenir le droit d'écrire, on engage un capital que le protocole peut détruire. Ethereum a fait cette transition lors de la fusion, ou Merge, en septembre 2022.

La démo

Tirage du proposeur de bloc

GroupeMisePart attendueBlocs proposésPart obtenue
Alice160 ETH1 %––
Opérateur B3 040 ETH19 %––
Reste du réseau12 800 ETH80 %––
–durée simulée, à 12 secondes par slot

Sanction d'un validateur de 32 ETH

–pénalité initiale
–pénalité de corrélation
–perte totale
–restant sur 32 ETH

Sans JavaScript, garde cet exemple. Avec un million de validateurs, chiffre rond choisi pour le calcul, un validateur a une chance sur un million à chaque slot. Un slot dure 12 secondes : il attend en moyenne 12 millions de secondes entre deux propositions, soit environ 139 jours. Pour le slashing, si 10 % de la mise totale est sanctionnée sur la même période, un validateur de 32 ETH perd 32 × 3 × 10 % = 9,6 ETH de pénalité de corrélation.

Ce qui est réel et ce qui est illustratif. Le slot de 12 secondes, le mécanisme pondéré, les 32 ETH du validateur classique et les deux formules de sanction viennent du protocole. Le nombre de validateurs, la taille des groupes et la graine du tirage sont inventés. Le tirage simplifie : le vrai protocole mélange les validateurs avec une valeur aléatoire commune appelée RANDAO et applique un tirage par rejet. La démo ignore aussi les arrondis et les pénalités d'absence pendant la sortie. Elle ne calcule volontairement aucune récompense.

Intégrer cette démo

Copie ce code sur ton site, ton cours ou ton blog. La démo reste gratuite ; garde simplement le lien vers protocole.org.

Pourquoi ça compte

Sur un réseau sans chef, qui écrit le prochain bloc ? Si tout le monde peut voter autant de fois qu'il veut, un acteur crée mille identités et emporte chaque décision. C'est l'attaque Sybil. Le minage la bloque par le coût du calcul. La preuve d'enjeu la bloque par le capital : mille identités exigent mille garanties.

La sanction change aussi l'équilibre. Un mineur qui triche perd l'électricité dépensée pour rien mais garde ses machines. Un validateur qui signe deux versions contradictoires perd une partie de sa mise, prélevée par le protocole lui-même. Cette perte s'appelle le slashing.

Le code

C'est la logique exacte du tirage de la démo, avec des hash comme source de hasard. Change les parts, le nombre de slots, ou la part sanctionnée à la dernière ligne, puis relance.

Clique sur Lancer pour exécuter ce code dans ton navigateur.

Ce qui se passe vraiment

Regarde les courbes du premier graphique. Au début, les parts obtenues sautent : quelques blocs suffisent à déplacer le pourcentage. Puis elles se stabilisent autour de la part attendue. La sélection est proportionnelle à la mise, comme une loterie où chaque ETH engagé serait un ticket. Doubler sa mise double l'espérance de blocs, mais ne donne aucun tour réservé.

Observe Alice, avec 1 % de la mise. Sur une courte période, son nombre de blocs varie fortement d'un tirage à l'autre : clique sur « Lancer un nouveau tirage » avec 320 slots, puis avec 6 400. Plus le groupe est petit, plus le hasard domine. Un petit validateur peut attendre des mois entre deux propositions.

Le temps s'organise en slots de 12 secondes, regroupés en époques de 32 slots, soit 6,4 minutes. À chaque slot, un proposeur construit le bloc. À chaque époque, chaque validateur actif est assigné à un comité et atteste la tête de chaîne qu'il voit. Un bloc devient finalisé après environ deux époques, si les attestations représentent au moins deux tiers de la mise, soit à peu près 12,8 minutes dans le cas normal.

Le second graphique montre la logique du slashing. Une erreur isolée coûte peu : 32 / 4 096 ≈ 0,008 ETH de pénalité initiale, valeur en vigueur depuis la mise à jour Pectra, plus une corrélation négligeable. Mais la seconde pénalité vaut environ trois fois la part de la mise sanctionnée sur une fenêtre d'environ 36 jours. À 33,3 %, un validateur perd la quasi-totalité de sa mise. Le protocole ne punit pas surtout la panne individuelle, il punit la faute coordonnée, la seule capable de menacer la finalité.

Le slashing ne vise pas les coupures de courant. Il sanctionne trois fautes signées : proposer deux blocs pour un même slot, attester deux fois de façon contradictoire, ou émettre une attestation qui en « encercle » une autre. Être simplement hors ligne coûte de petites pénalités d'absence tant que le réseau finalise normalement, sans slashing.

Dans la vraie vie

Un validateur classique dépose 32 ETH. Depuis Pectra, en mai 2025, un validateur consolidé peut avoir jusqu'à 2 048 ETH de solde effectif, et son poids dans le tirage suit ce solde. Faire tourner un validateur exige une machine en ligne, un client d'exécution, un client de consensus et une clé de validation.

Les récompenses proviennent de l'émission du protocole et des pourboires des transactions. Leur taux varie avec le nombre total de validateurs et l'activité du réseau, et une perte reste possible. Cette page ne donne ni taux ni promesse : c'est un fonctionnement technique, pas un conseil d'investissement.

Déléguer à un service change le risque au lieu de le supprimer. Un jeton de staking liquide est une créance sur un contrat, avec ses propres failles et son propre prix de marché. Un tel jeton suit les mêmes règles qu'un token ERC-20, et un contrat en administre les dépôts. Enfin, le retrait passe par une file de sortie, dont la durée dépend de la demande : ta mise n'est pas disponible à la seconde.

Pour comparer ce mécanisme à celui de Bitcoin, va voir Ethereum vs Bitcoin.

Ce qui peut mal tourner

  • Double signature par redondance. Lancer la même clé sur deux machines « pour la sécurité » est la cause classique de slashing. La protection anti-doublon vaut mieux qu'une seconde machine.
  • Corrélation chez un même opérateur. Un bug chez un gros opérateur peut toucher des milliers de validateurs d'un coup. La pénalité grimpe alors pour tous.
  • Clé de retrait mal gardée. Elle décide où vont les fonds. Sa perte ou son vol pèse plus lourd qu'un incident de validation.
  • Concentration. Si un acteur approche un tiers de la mise, il peut bloquer la finalité. À deux tiers, il pourrait finaliser seul. Le tirage pondéré ne protège pas d'une concentration du capital.
  • Promesses de rendement fixe. Le protocole n'en garantit aucune. Un service qui annonce un taux garanti ou des gains sans risque doit t'alerter.
  • Risque de contrat des services de staking. Un dépôt délégué ajoute les failles possibles du contrat et de ses administrateurs, en plus de ceux du protocole.

Teste-toi

1. Comment Ethereum choisit-il le proposeur d'un bloc ?
2. Qu'est-ce qui déclenche un slashing ?
3. Pourquoi la perte dépend-elle du nombre de validateurs sanctionnés en même temps ?