Temps de lecture : 5 minutes

Continuons notre découverte des fondamentaux de la cryptomonnaie et du fonctionnement de la blockchain, nous avons vu dans la partie d’avant le mot « consensus », concentrons-nous sur ce terme dans cette partie.

La définition d’un protocole de consensus est la suivante :

Un protocole de consensus blockchain permet de garantir la synchronisation des tous les nœuds dans un réseau, un consensus vise donc à s’assurer de l’authenticité de chaque transaction. En effet nous avons vu que n’importe qui peut ajouter une information à la blockchain, il faut donc la vérifier et la valider pour l’ajouter ou non au réseau.

Le consensus est donc une mise en commun et l’accord sur une version identique de la blockchain, comme un audit interne en continu, c’est donc essentiel et cela a deux fonctions principales :

Il y a donc des règles clair dans un consensus blockchain, chaque nœud du réseau doit s’assurer que chaque bloc et chaque transaction soient valides avant de les valider, l’objectif est de lutter contre les différents types d’attaque que peut subir la blockchain.

Nous allons désormais voir des exemples de consensus, je vais essayer d’aller à l’essentiel et ne pas rentrer trop dans le technique car tout devient vite complexe quand on regarde dans le détail, l’idée ici est de voir des sortes différentes de consensus.


A – Proof of Work (PoW) :

Explications :

Ce consensus est le plus connu et le plus ancien protocole de consensus appliqué à la blockchain, le PoW est connu pour son utilisation dans le très connu Bitcoin, il est aussi le principal mécanisme de consensus blockchain pour les blockchains de première générations (les premières à avoir vu le jour).

Une blockchain qui utilise PoW fonctionne grâce à des mineurs, ces mineurs vont vérifier les données, valider l’authenticité des transactions et participer à la création des blocs. Pour récompenser le travail des mineurs, le PoW doit établir des règles qui permettent de choisir le mineur qui pourra émettre le prochain bloc.

Donc les règles du PoW permettent de choisir un mineur qui aura le droit d’écriture pour la prolongation de la chaîne tout en dissuadant les utilisateurs malveillants pour protéger l’intégrité de la blockchain.

Comment fonctionne la PoW :

Les mineurs vont devoir résoudre un problème mathématique complexe, ce calcul demande une puissance de calcul informatique très forte. Le premier mineur qui règle le problème sera celui qui pourra créer une prochain bloc sur la chaîne. Pour ça il utilise un algorithme de hachage à une même base de données jusqu’à trouver le résultat cherché.

La partie clé de le PoW est dans la difficulté de minage qui est ajustée tout au long de la vie du consensus, elle évolue pour demander une puissance de calcul plus élevée aux mineurs qui doivent s’armer de matériel de plus en plus énergivore pour résoudre le problème.

Le PoW a déjà fait ses preuves et elle sécurise très efficacement le réseau, rendant difficile les tentatives de hacking. Elle a cependant un gros défaut, sa consommation d’énergie qui est à certain moment conséquente, la course au matériel puissant pour résoudre des problèmes de plus en plus complexe en est la cause mais d’autres problèmes s’ajoutent à ça comme le fait que petit à petit au fil des évolutions de matériel seuls les plus grosses mine s’adaptent, les plus gros acteurs peuvent accaparer beaucoup de puissance de calcul, cela pose un problème de centralisation.


B – Proof of Stake (PoS) :

Parlons désormais du deuxième consensus le plus courant avec celui vu plus haut, le PoS, le Proof of Stake est une alternative au PoW qui répond principalement aux deux inconvénients vu plus haut à savoir, les problèmes énergétiques et la centralisation progressive. Ici pas de mineurs mais on parle de « Minters » (forgeurs).

Le PoS demande un investissement différent que celui du PoW, en effet, si on veut participer à la sécurisation d’un système PoS il faut avoir une certaine quantité de token de la cryptomonnaie échangé sur ce même réseau, le nombre varie d’un système à un autre.

Le système est simple à comprendre, plus quelqu’un posséderas de token d’une cryptomonnaie, plus la sécurité du réseau l’importe, alors donc on parle de PoS, preuve d’enjeu, quand la personne arrive à prouver que la sécurité de la chaîne importe pour lui. Plus cette personne est capable de prouver ce besoin de sécurité à travers l’obtention d’un grand nombre de token, plus il peut être choisi pour produire des blocs et générer des récompenses. Plus un nœud possède de la cryptomonnaie du réseau, plus ce dernier pourra minter (créer) des blocs.

Comment fonctionne la PoS :

Les utilisateurs mettent en dépôt leurs possessions en cryptomonnaie pour devenir des minters. Ensuite l’algorithme sélectionne aléatoirement un minter et lui donne le droit de créer un bloc, ce minter à un certaine temps pour effectuer l’opération, si elle n’est pas réalisée, l’algorithme sélectionne un deuxième validateur.

Donc comme dit plus haut la PoS permet de ne pas être énergivore comme la PoW, ce qui permet de rendre les projets long termes plus scalable et donc plus intéressants.

La PoS réduit aussi les risques de centralisation car il n’est pas possible faire des grosses économies d’échelles comme le permettait l’investissement dans le matériel informatique comme avec la PoW, les particuliers ont d’autres options à explorer comme le staking. Cependant même si le niveau de décentralisation est plus élevé en PoS il est important de dire qu’il est possible, bien que compliqué, de posséder un grand pourcentage d’un token en circulation et donc une attaque des 51% est possible (bien que peu probable).

Là ou la PoS améliore ce qui n’allait pas dans la PoW, l’avantage du PoW n’est pas aussi bien représenté dans la PoS, en effet la PoS est moins sécurisée que la PoW, prenons comme exemple un problème qui arrive sur un consensus en PoS appelé le « Nothing at stake », imaginez qu’une blockchain subisse un fork, elle se divise donc en deux branche, en PoS les minters ont plus d’intérêts à Mint sur les deux chaines plutôt qu’une, car les gains sont multipliés par deux, là où en PoW les mineurs se focalisent toujours sur la chaîne la plus rentable uniquement.

PoS est donc venu apporter une correction à certaines des problématiques soulevées par PoW, même si comme on le voit beaucoup de progrès peuvent être fait, tout va vite dans la blockchain et les acteurs sont motivés pour faire avancer les choses, de nombreuses alternatives ont été créées pour perfectionner plein de points, autant les bons que les moins bons, d’autres protocoles sont créés et d’autres arrivent pour améliorer ceux existants comme le Delegated Proof of Stake.


C – Proof of Authority (PoA) :

La PoA est un consensus basé sur la réputation, ce consensus met en valeur l’identité, cela veut dire que les validateurs ne se servent pas de leur token comme dans un PoS mais de leur réputation. Dans ce sens, les chaines fonctionnant grâce au PoA sont sécurisés par des nœuds de validation qui sont sélectionnés en tant que entités de confiance. Ce modèle repose sur un nombre limité de validateurs, ce qui rend le système très scalable, donc les blocs et transactions sont validés et vérifiés par des participants sélectionnés qui jouent les modérateurs du système.

Cet algorithme est particulièrement apprécié dans les blockchains privés car le modèle permet de protéger des données très confidentielles tout en profitant des avantages de la blockchain. On considère que le PoA est un PoS modifié, qui marche grâce à l’identité au lieu du staking de token, à cause de la nature décentralisée de la plupart des blockchain, PoS ne convient pas forcément à certaines sociétés ou grands groupes là où PoA si.

Pour que un consensus PoA fonctionne il faut que les validateurs confirment leur identité, qu’ils soient dignes de confiance, il doit également être compliqué d’être validateur, la personne doit mettre en jeu sa réputation et son argent, le processus doit être long pour éliminer les validateurs douteux et éviter des risques sur le long terme, et finalement, la méthode doit être la même pour tous les candidats, pas de favoritisme.

Certaines critiques sont faites à l’encontre de la PoA, ce consensus est plus vu comme une continuité pour rendre les systèmes décentralisés plus efficace et non une volonté de décentralisation. Une autre critique est le fait que l’on connait l’identité des validateurs, ce qui peut mener à des tentatives de corruptions ou autre.

D – Proof of History (PoH) :

Explications :

La PoH a pour but d’alléger la charge des nœuds dans le traitement des blocs en proposant une méthode d’encodage de temps dans la chaine. En effet sur une blockchain il est essentiel de parvenir à un consensus sur le temps qu’il faut pour miner un bloc (avec d’autres aspect comme le montant des transactions au sein du bloc entre autres). L’horodatage est donc important car il permet de savoir au sein d’un même réseau, dans quel ordre s’est fait les transactions, la PoH va donc créer un enregistrement historique permettant de prouver à quel moment tel ou tel transaction s’est faite.

La PoH est basé sur un concept cryptographique nouveau, le Verifiable Delay Function (VDF). Un VDF se résout avec un ensemble d’étapes séquentielles, en retirant le traitement parallèle donc on peut savoir combien de temps exactement il a fallu pour appliquer ces étapes.

La blockchain est donc plus rapide et plus légère grâce à ce traitement de la blockchain, ce consensus est surtout connu pour son utilisation dans la très connue blockchain Solana.

Comment fonctionne la PoH :

Grâce à la VDF, chaque créateur de bloc prouve qu’il a attendu le temps nécessaire, ici pas de temps différent selon différentes zones ou autre. Le créateur de bloc suivant généré localement un VDF jusqu’au slot programmé, donc dès qu’un nœud est reçu, la transition peut se faire pile au moment où le message est reçu car il y à cette preuve d’horodatage.

L’avantage qu’offre la PoH est que ce consensus permet au réseau d’être très rapide car le réseau est rarement retardé et même quand il l’est, il peut fonctionner en haut débit de transactions de données.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

4 réponses

  1. Bonjour, quelles sont les différences entre les algorithmes de consensus déterministes et probabilistes, et comment s’inquiètent-ils de la sécurité et de la scalabilité d’une blockchain ?

  2. Bonjour !

    Je ne me souviens pas avoir parlé de cet aspect dans un de mes articles, on va pouvoir explorer ce que sont ces deux types de consensus et leur différences donc, ces différences résident dans la manière dont les consensus parviennent à un accord sur l’état global du réseau. Voyons plus précisément chaque consensus et comment ils se rapportent à la sécurité et à la scalabilité d’une blockchain :

    Déterministes : Les algorithmes de consensus déterministes garantissent un accord sur l’état du réseau sans notion de probabilité. Chaque nœud du réseau exécute des instructions similaires et suit le même protocole pour atteindre le consensus. L’algorithme de consensus déterministe le plus connu est le POW. Ils sont souvent considérés comme sécurisés car pour attaquer le réseau il faut une puissance de calcul énorme, la sécurité vient donc de la puissance des calculs et de la difficulté de ces derniers, ce qui est onéreux en termes de consommation d’énergie et assez long pour les temps de traitement. Ils sont donc par définition peu scalable en raison de ces problèmes complexes, le POW toujours, présente des problèmes de scalabilité lorsque beaucoup de transactions arrivent.

    Probabilistes : Les algorithmes de consensus probabilistes sont basés comme leur nom l’indique sur des probabilités pour trouver un accord sur l’état du réseau. Ils introduisent une notion de hasard dans le consensus. POS est un algorithme probabiliste, qui donne le droit de valider des blocs en fonction de la possession d’une certaine quantité de jeton natif. Pour ce qui est de la sécurité, des mesures doivent être prises pour garantir la sécurité, pour donner une exemple sur POS, il y a des pénalités de fonds en cas de comportement malveillant afin de dissuader les attaques. La sécurité dépend de la distribution équitable des enjeux ainsi que des mécanismes de sanction.
    Enfin pour la scabilité, ils sont plus intéressants sur ce point que pour les déterministes, POS possède une plus grande vitesse de confirmation des transactions.

    Donc, ces deux algorithmes de consens diffèrent sur plein d’aspect et le choix entre l’un et l’autre dépend des objectifs de la blockchain.

  3. Quelles sont les approches alternatives au consensus traditionnel utilisées dans les blockchains publiques, telles que les blockchains privées et les consortiums de blockchains, et comment diffèrent-elles en termes de gouvernance et de sécurité ?

  4. Bonjour Mélissa,
    Regardons en détail comment les blockchains privées et les consortiums de blockchains gèrent ces aspects en les présentant une par une :

    Blockchains privées :

    Elles sont gérées par une entité spécifique, comme une entreprise ou une organisation. Dans ce type de blockchain, les participants sont choisis et autorisés à rejoindre le réseau, c’est donc plus centralisé par rapport aux blockchains publiques. La gouvernance dans ce type de blockchain est généralement centralisée, car une entité ou un groupe restreint a le pouvoir concernant les décisions des updates du protocole et les modifications du réseau.
    Pour la sécurité, cela se base sur les contrôles des accès et les mesures de sécurité mises en place par l’entité qui contrôle la blockchain. Comme les participants sont connus, il y a moins de risques d’attaques provenant de sources externes. Cependant, la sécurité dépend de la confiance accordée à l’entité responsable de la gestion de la blockchain.

    Consortiums de blockchains :

    On parle ici de réseaux où plusieurs organisations collaborent pour la gestion et le maintien une blockchain commune. Les participants sont choisis parmi un groupe restreint d’organisations, chaque organisation valide des transactions et s’occupe de la gouvernance du consortium. Cette solution vise à combiner certains avantages des blockchains privées et blockchains publiques, ce qui offre une certaine décentralisation tout en gardant le contrôle entre les organisations participantes.
    On considère que ce type de solution est plus sécurisé que la solution vu plus tôt car elle tient sur la collaboration de plusieurs organisations et la distribution du pouvoir de décision. Donc, la validation des transactions est faite par un groupe de participants définie en amont, ce qui réduit les risques de manipulations malveillantes.

    La gouvernance quant à elle, est généralement partagée entre les organisations participantes. Des mécanismes de prise de décision sont mis en place pour permettre aux organisations de choisir les règles du réseau, ainsi que d’approuver les update du protocole et régler les problèmes liés à la blockchain. On la considère plus compliquée que dans une blockchain privée, car il faut que toute les parties soient sur la même longueur d’onde concernant le projet.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *