DPoS et EOS : comment 21 validateurs font tourner une blockchain entiĂšre

in ULille blockchain ‱ 3 days ago

Salut la communautĂ© 👋
Aujourd’hui, avec ma collĂšgue @nil002 on a envie de vous parler d’un mĂ©canisme de consensus qui est au coeur de certaines Blockchains modernes : Le Delegated Proof of Stake (DPoS), et comment il est utilisĂ© dans EOS.
Mais concrÚtement ça veut dire quoi EOS ? Qui décide des blocs ? Utilise-t-il les mineurs ?
et c’est quoi les dĂ©lĂ©guĂ©s ?
On va décortiquer tout ça afin que ce soit facile à comprendre pour vous

EOS Qu’est ce que c’est ?

EOS, c’est une blockchain de Layer 1 c’est à dire :
elle a son propre token (EOS) , sa propre cryptomonnaie , définit ses propres rÚgles et surtout son propre mécanisme de consensus : le DPoS.
Son objectif est clair :
👉 ĂȘtre une infrastructure Ă  faible temps de rĂ©ponse , capable d’hĂ©berger des applications dĂ©centralisĂ©es avec un grand nombre de transactions par seconde, une bonne scalabilitĂ© et des frais quasi nuls pour l’utilisateur final.
Au lieu de payer des frais Ă  chaque transaction comme sur Bitcoin ou Ethereum, EOS fonctionne avec un systĂšme de ressources :
Si tu stakes des EOS, tu obtiens du CPU, du NET (bande passante) et de la RAM pour utiliser le réseau.
RĂ©sultat : Pas besoin de sortir ta carte bleue Ă  chaque transaction 😉

C’est quoi le DPoS ?

Le Delegated Proof of stake (DPoS) est un mĂ©canisme de consensus dont le role est de permettre Ă  tout le rĂ©seau de se mettre d’accord sur le prochain bloc valide sans autoritĂ© !

Mais contrairement au Proof of Work il ne fait pas travailler tout le monde, son idée est lal suivante :

Ce n’est pas le groupe complet des utilisateurs qui valide les blocs.
Mais ils Ă©lisent 24 validateurs qu’on appelle des block producers.
Ce sont ces producteurs qui sont responsables de vérifier les transactions, produire les blocs et sécuriser la blockchain.

Si on le compare au Proof Of Stake classique :
En PoS, n’importe qui peut devenir validateur en stakant des tokens, et on peut avoir un grand nombre de validateurs actifs.

Alors qu’en DPos ceux qui possĂšdent vote pour Ă©lir un petit groupe de validateurs qui font le travail au nom de tout le monde.

DPos permets de faire des validations plus rapidement mais aussi des questions sur la décentralisation.

Comment fonctionne DPoS ?

Le DPos se passe en 4 étapes :

  1. Les utilisateurs votent :
    Tout utilisateur possédant des tokens, peut staker des tokens et voter pour un block producer. Plus il stake plus de token, plus son vote pÚse lourd.
    AprĂšs ceci on obtient un classement des producteurs selon le poids des votes de chacun.

  2. Sélection des 21 validateurs :
    Les 21 premiers producteurs du classement sont élus comme block producers actifs.
    Ce sont eux qui produisent et signent les blocs et valident les transactions.
    Les autres restent en liste d’attente. Si un producer se comporte mal, les votants peuvent changer d’avis et retirer leurs votes et le faire sortir du tp 21.

  3. Production des blocs :
    Les EOS sont produits trÚs rapidement, environ 120 blocks par minute. Les producers font leurs blocks dans un ordre prédéfini, par exemple producteur A fait son block, puis b, puis c 
 puis on recommence avec un nouvel ordre.
    Chaque producer a un temps prĂ©cis pour rĂ©cupĂ©rer les transactions et construire son bloc et le signer. S’il rate son tour son bloc est sautĂ© et on passe au suivant.

  4. Quand un bloc devient-il définitif ?
    Avant qu’un block soit rajoutĂ© Ă  la chaine il doit ĂȘtre considĂ©rĂ© comme dĂ©finitif, c’est Ă  dire approuvĂ© par au moins 2/3 + 1 des block producers.
    Une fois ce seuil atteint on ne plus revenir en arriĂšre ou réécrire l’historique.

Résistance aux pannes et comportements malveillants :

Maintenant, on peut demander : que se passe-t-il si certains validateurs plantent ou trichent ?
EOS utilise un modĂšle de tolĂ©rance aux pannes byzantine, inspirĂ© du fameux “problĂšme des gĂ©nĂ©raux byzantins”:
MĂȘme si certains nƓuds mentent, se trompent ou disparaissent, le systĂšme doit quand mĂȘme continuer Ă  avancer correctement.
ConcrĂštement,le systĂšme reste sĂ©curisĂ© tant qu’au moins 2/3 des producteurs sont honnĂȘtes , mĂȘme si certains producteurs:

  • tombent en panne,
  • sont attaquĂ©s,
  • tentent de tricher.

C’est qu' un point important c’est dus a un Ă©lĂ©ment important c’est que les block producers ne sont pas toujours “des rois”.
Si un producteur est souvent hors ligne,valide n’importe quoi ou ne respecte pas les attentes de la communautĂ©, les dĂ©tenteurs de tokens (la communautĂ© ) peuvent retirer leurs votes.Il descend alors dans le classement et finit par ĂȘtre remplacĂ© par un autre candidat plus fiable.
Ce systĂšme d’élection en continu met une pression permanente sur les validateurs : s’ils veulent rester dans le top 21, ils doivent ĂȘtre stables, transparents et performants, sinon la communautĂ© les rejette .

Avantages et limites du DPoS dans EOS

Ce modĂšle offre plusieurs avantages :
đŸ”č Vitesse : blocs toutes les 0,5 s, finalitĂ© rapide ,ce qui permet une finalitĂ© rapide des transactions.
đŸ”č Frais quasi nuls pour les utilisateurs, grĂące au systĂšme de ressources.
đŸ”č Gouvernance par vote : les dĂ©tenteurs de tokens peuvent Ă©lire les block producers, ce qui leur donne un vrai pouvoir sur le fonctionnement du rĂ©seau..
đŸ”č TolĂ©rance aux pannes : le rĂ©seau continue de tourner mĂȘme si quelques validateurs posent problĂšme.
Mais il reste encore des limites :
🔾 Avec seulement 21 producteurs de blocs actifs, la dĂ©centralisation est forcĂ©ment plus faible que sur des rĂ©seaux qui comptent des centaines ou des milliers de validateurs.
🔾 Le systĂšme de vote peut ĂȘtre influencĂ© par les les gros acteurs .
🔾 Des phĂ©nomĂšnes comme le vote-buying ou les accords entre producteurs peuvent apparaĂźtre et rĂ©duire encore la dĂ©centralisation rĂ©elle du rĂ©seau.

En conclusion

Le DPoS d’EOS, c’est un compromis assumĂ© :
Moins d’acteurs qui valident les blocs pour avoir un rĂ©seau rapide, fluide, avec des transactions peu coĂ»teuses, au prix d’une dĂ©centralisation plus limitĂ©e que sur des blockchains comme Bitcoin.
Nous trouvons intĂ©ressant de voir qu’on peut faire tourner une blockchain mondiale avec seulement 21 producteurs actifs, Ă©lus en continu par la communautĂ©.
Est-ce le modĂšle parfait ? Probablement pas.
Mais c’est une brique importante dans l’histoire des blockchains et une bonne occasion de rĂ©flĂ©chir Ă  la question :jusqu’oĂč est-on prĂȘt Ă  sacrifier la dĂ©centralisation pour gagner en performance ?
Et vous, qu’en pensez vous ?

https://academy.bit2me.com/wp-content/uploads/2021/05/eos-whitepaper.pdf

https://docs.eosnetwork.com/docs/latest/core-concepts/blockchain-basics/consensus

https://docs.antelope.io/docs/latest/protocol/consensus_protocol

https://help.eossupport.io/en/articles/5790704-the-resource-system-on-eos