Un guide pour comprendre les algorithmes de consensus Blockchain

Publié: 2019-10-21

La blockchain est un réseau distribué décentralisé qui offre une plus grande transparence, sécurité et immuabilité.

Nous le savons tous !!

Mais, vous êtes-vous déjà demandé comment il est capable de réaliser tout cela ?

Qui gouverne ce réseau et vérifie chaque transaction, à condition qu'il n'y ait pas d'autorité centralisée ?

Cela semble intéressant, n'est-ce pas !

Eh bien, ce sont les algorithmes de consensus Blockchain - La partie centrale du monde du développement Blockchain dont nous parlerons dans ce guide complet.

TABLE DES MATIÈRES:

  1. Définition de l'algorithme de consensus Blockchain
  2. Objectifs d'un mécanisme de consensus
  3. Algorithmes de consensus Blockchain populaires sur le marché
  4. Propriétés d'un bon mécanisme de consensus Blockchain
  5. Conséquences de se fier à un mauvais protocole de consensus
  6. Questions fréquemment posées
  7. Conclusion

Qu'est-ce que l'algorithme de consensus Blockchain ?

La réponse la plus simple à ce qu'est l'algorithme de consensus Blockchain est qu'il s'agit d'une procédure par laquelle tous les pairs d'un réseau Blockchain r acceptent ou s'entendent sur l'état en temps réel du grand livre distribué.

Un mécanisme de consensus permet au réseau blockchain d'atteindre la fiabilité et d'établir un niveau de confiance entre les différents nœuds, tout en assurant la sécurité de l'environnement. C'est la raison pour laquelle il s'agit de l'une des parties essentielles de chaque guide de développement d'applications Blockchain et de chaque projet dApp dans l'environnement de grand livre distribué.

Ces algorithmes fonctionnent sur le terrain de différents objectifs, dont quelques-uns seront abordés dans la prochaine section de cet article.

Objectifs du mécanisme de consensus Blockchain

Objectives of Blockchain Consensus Mechanism

1. Accord unifié

L'un des principaux objectifs des mécanismes de consensus est de parvenir à un accord unifié.

Contrairement aux systèmes centralisés où il est nécessaire d'avoir confiance en l'autorité , les utilisateurs peuvent fonctionner même sans se faire confiance de manière décentralisée. Les protocoles intégrés au réseau de blockchain distribué garantissent que les données impliquées dans le processus sont vraies et exactes, et que le statut du grand livre public est à jour.

2. Aligner les incitations économiques

Lorsqu'il s'agit de construire un système sans confiance qui se régule par lui-même, il est indispensable d'aligner les intérêts des participants au réseau.

Un protocole blockchain de consensus , dans cette situation, offre des récompenses pour un bon comportement et punit les mauvais acteurs. De cette façon, il assure également la régulation des incitations économiques .

3. Juste et équitable

Des mécanismes de consensus permettent à chacun de participer au réseau et d'utiliser les mêmes bases. De cette façon, il justifie la propriété open source et de décentralisation du système blockchain.

4. Éviter les doubles dépenses

Les mécanismes de consensus fonctionnent sur la base de certains algorithmes qui garantissent que seules les transactions vérifiées et valides sont incluses dans le registre public transparent. Cela résout le problème traditionnel de la double dépense, c'est-à-dire le problème de dépenser une monnaie numérique deux fois.

5. Tolérance aux pannes

Une autre caractéristique de la méthode Consensus est qu'elle garantit que la blockchain est tolérante aux pannes, cohérente et fiable. Cela signifie que le système gouverné fonctionnerait indéfiniment même en cas de pannes et de menaces.

Actuellement, il existe une pléthore d' algorithmes de consensus Blockchain dans l'écosystème et bien d'autres se dirigent vers le marché. Il est donc impératif que chaque entreprise de développement Blockchain et chaque entrepreneur enthousiaste connaisse les facteurs qui définissent un bon protocole de consensus et l'effet possible d'en choisir un mauvais.

Les bases des méthodes de consensus Blockchain étant couvertes, approfondissons le sujet et examinons les types populaires de mécanisme de consensus.

Algorithmes de consensus Blockchain populaires sur le marché

Algorithmes de consensus de la blockchain

1. Preuve de travail (PoW)

Développé par Satoshi Nakamoto , le Proof of Work est le plus ancien mécanisme de consensus utilisé dans le domaine Blockchain. Il est également connu sous le nom de minage où les nœuds participants sont appelés mineurs.

Dans ce mécanisme, les mineurs doivent résoudre des énigmes mathématiques complexes en utilisant une puissance de calcul complète. Ils utilisent différentes formes de méthodes de minage, telles que le minage GPU, le minage CPU, le minage ASIC et le minage FPGA. Et celui qui résout le problème le plus tôt reçoit un bloc en récompense.

Cependant, le processus n'est pas si facile. Un puzzle ne peut être résolu que par la méthode d'essai et d'erreur. De plus, le niveau de complexité du puzzle augmente avec la vitesse à laquelle les blocs sont extraits. Ainsi, il devient obligatoire de créer un nouveau bloc dans un certain laps de temps pour faire face au niveau de difficulté.

Le mécanisme de preuve de travail est utilisé par plusieurs crypto-monnaies comme Bitcoin, Litecoin, ZCash, Primecoin, Monero et Vertcoin pour n'en nommer que quelques-unes.

L'algorithme Bitcoin expliqué dans ce mécanisme utilise le nonce comme valeur aléatoire pour faire varier la sortie de la valeur de hachage. Dans l'algorithme de consensus bitcoin, chaque bloc est destiné à générer une valeur de hachage, et le nonce est le paramètre utilisé pour générer cette valeur de hachage.

En termes de mise en œuvre, la preuve de travail (PoW) a non seulement influencé le secteur financier, mais également les soins de santé, la gouvernance, la gestion, etc. Il a en effet offert la possibilité de paiements multicanaux et de transactions multi-signatures sur une adresse pour renforcer la sécurité.

2. Preuve de participation (PoS)

La preuve de participation est l'alternative la plus basique et la plus respectueuse de l'environnement au protocole de consensus PoW.

Dans cette méthode blockchain, les producteurs de blocs ne sont pas des mineurs, mais ils agissent comme des validateurs. Ils ont la possibilité de créer un bloc sur tout le monde, ce qui économise de l'énergie et réduit le temps. Cependant, pour qu'ils deviennent validateurs, ils sont censés investir une certaine somme d'argent ou une participation.

De plus, contrairement à cela dans le cas du PoW, les mineurs ont le privilège de prendre leurs frais de transaction dans cet algorithme car il n'y a pas de système de récompense dans ce modèle de consensus.

Ceci, dans son ensemble, a encouragé des marques comme Ethereum à mettre à niveau leur modèle de PoW à PoS dans leur mise à jour Ethereum 2.0 . En outre, cela a aidé divers écosystèmes Blockchain tels que Dash, Peercoin, Decred, Reddcoin et PivX à fonctionner correctement.

Maintenant, alors que PoS résolvait divers problèmes précédemment associés au PoW, il y avait de nombreux défis encore non dépoussiérés sur le marché. Pour atténuer ces défis et offrir un environnement de blockchain amélioré, plusieurs variantes de PoS ont vu le jour.

Les deux variantes populaires de Proof of Stake (PoS) sont DPoS et LPoS.

  • Preuve de participation déléguée (DPoS)

Dans le cas de Delegated Proof of Stake (DPoS), les participants misent leur pièce et votent pour un certain nombre de délégués de sorte que plus ils investissent, plus ils reçoivent de poids. Par exemple : si l'utilisateur A dépense 10 pièces pour un délégué et que l'utilisateur B investit 5 pièces, le vote de A a plus de poids que celui de B.

Les délégués sont également récompensés sous la forme de frais de transaction ou d'un certain nombre de pièces.

En raison de ce mécanisme de vote pondéré par les enjeux, DPoS est l'un des modèles de consensus de blockchain les plus rapides et hautement préféré en tant que démocratie numérique. Certains des cas d'utilisation réels de ce mécanisme de consensus blockchain sont Steem, EOS et BitShares.

  • Preuve de participation louée (LPoS)

LPoS est une version améliorée du mécanisme de consensus PoS qui fonctionne sur la plate-forme Waves .

Contrairement à la méthode habituelle de preuve de participation où chaque nœud avec une certaine quantité de crypto-monnaie a le droit d'ajouter la prochaine blockchain, les utilisateurs peuvent louer leur solde à des nœuds complets dans cette blockchain d'algorithme de consensus. Et celui qui loue le plus gros montant au nœud complet a une probabilité plus élevée de générer le bloc suivant. De plus, le loueur est alors récompensé par un pourcentage des frais de transaction qui a été collecté par le nœud complet.

Cette variante PoS est une option efficace et sûre pour le développement de crypto-monnaies publiques.

3. Preuve d'autorité

La preuve d'autorité est une version modifiée de la preuve d'enjeu dans laquelle l'identité des validateurs du réseau est en jeu. En cela, pour vérifier l'identité du validateur, l'identité est la ressemblance entre l'identification personnelle des validateurs et leur documentation officielle. Ces validateurs mettent leur réputation sur le réseau. Dans Proof of Authority, les nœuds (qui deviennent des validateurs) sont les seuls autorisés à produire de nouveaux blocs. Les validateurs dont l'identité est menacée sont incités à sécuriser et à préserver le réseau blockchain. Dans cette preuve, le nombre de validateurs est assez faible, environ 25 ou moins.

4. Tolérance aux pannes byzantines (BFT)

La tolérance aux pannes byzantines, comme son nom l'indique, est utilisée pour traiter la faute byzantine (également appelée problème des généraux byzantins) - une situation où les acteurs du système doivent s'entendre sur une stratégie efficace afin de contourner une défaillance catastrophique du système, mais certains d'entre eux eux sont douteux.

Apprenez-en plus sur le problème des généraux byzantins à travers cette vidéo : -

Les deux variantes du modèle de consensus BFT qui sont les plus importantes dans le domaine de la Blockchain sont PBFT et DBFT.

  • Tolérance aux pannes byzantine pratique (PBFT)

PBFT est un algorithme de chaîne de blocs léger qui résout les problèmes du général byzantin en permettant aux utilisateurs de confirmer les messages qui leur ont été livrés en effectuant un calcul pour évaluer la décision concernant la validité du message.

La partie annonce ensuite sa décision aux autres nœuds qui traitent finalement une décision à son sujet. De cette façon, la décision finale repose sur les décisions extraites des autres nœuds.

Stellar, Ripple et Hyperledger Fabric sont quelques cas d'utilisation de ce mécanisme de consensus blockchain.

  • Tolérance aux pannes byzantine déléguée (DBFT)

Introduit par NEO, le mécanisme Delegated Byzantine Fault Tolerance est similaire au modèle de consensus DPoS. Ici aussi, les détenteurs de jetons NEO ont la possibilité de voter pour les délégués.

Cependant, cela est indépendant de la quantité de devises qu'ils investissent. Toute personne qui remplit les conditions de base, c'est-à-dire une identité vérifiée, un équipement adéquat et 1 000 GAZ , peut devenir délégué. L'un de ces délégués est alors choisi comme orateur au hasard.

Le locuteur crée un nouveau bloc à partir de la transaction en attente de validation. Aussi, il envoie une proposition aux délégués votés qui ont la responsabilité de superviser toutes les transactions et de les enregistrer sur le réseau. Ces délégués ont la liberté de partager et d'analyser les propositions pour vérifier l'exactitude des données et l'honnêteté de l'orateur. Si, alors, 2/3 des délégués le valident, le bloc est ajouté à la blockchain.

Ce type de protocole de consensus Blockchain est également appelé « Ethereum de Chine » et peut être une ressource utile pour construire une « économie intelligente » en numérisant les actifs et en proposant des contrats intelligents sur la blockchain.

5. Graphe acyclique direct (DAG)

DAG est un autre modèle de consensus basique mais primordial de la blockchain que chaque entreprise de services de développement d'applications mobiles travaillant avec Blockchain doit connaître.

Dans ce type de protocole de consensus Blockchain, chaque nœud se prépare lui-même à devenir les « mineurs ». Désormais, lorsque les mineurs sont éradiqués et que les transactions sont validées par les utilisateurs eux-mêmes, les frais associés sont réduits à zéro. Il devient plus facile de valider les transactions entre deux nœuds les plus proches, ce qui rend l'ensemble du processus léger, plus rapide et sécurisé.

Les deux meilleurs exemples d'algorithmes DAG sont IOTA et Hedera Hashgraph .

Bien qu'il s'agisse des principaux modèles de consensus dans l'environnement de développement, de nombreux mécanismes de consensus blockchain différents ont lentement et progressivement commencé à prendre de l'ampleur, tels que : -

6. Preuve de capacité (PoC)

Dans le mécanisme de preuve de capacité (PoC), les solutions pour chaque puzzle mathématique complexe sont accumulées dans des stockages numériques comme les disques durs. Les utilisateurs peuvent utiliser ces disques durs pour produire des blocs, de manière à ce que ceux qui évaluent le plus rapidement les solutions aient de meilleures chances de créer des blocs.

Le processus qu'il suit s'appelle le traçage. Les deux crypto-monnaies qui reposent sur le protocole de consensus de la blockchain PoC sont Burstcoin et SpaceMint.

Here it is

7. Preuve de gravure (PoB)

Considéré comme une solution alternative au PoW et au PoS en termes de consommation d'énergie, le modèle de consensus Proof of Burn (PoB) fonctionne sur le principe de laisser les mineurs "brûler" ou "détruire" les jetons virtuels de crypto-monnaie, ce qui leur donne en outre le privilège d'écrire blocs en proportion des pièces. Plus ils brûlent de pièces, plus ils ont de chances de choisir le nouveau bloc pour chaque pièce qu'ils obtiennent.

Mais, pour graver des pièces, ils sont tenus de les envoyer à l'adresse où elles n'ont pas pu être dépensées pour vérifier le bloc.

Ceci est largement utilisé dans le cas du consensus distribué. Et le meilleur exemple de ce mécanisme de consensus est la pièce Slim.

8. Preuve d'identité (PoI)

La notion de PoI (Proof of Identity) s'apparente à celle de l'identité autorisée. Il s'agit d'un élément de confirmation cryptographique pour la clé privée d'un utilisateur qui est attachée à chaque transaction particulière. Chaque utilisateur identifié peut créer et gérer un bloc de données qui peut être présenté à d'autres dans le réseau.

Ce modèle de consensus blockchain garantit l'authenticité et l'intégrité des données créées. Et donc, c'est un bon choix pour introduire des villes intelligentes.

9. Preuve d'activité (PoA)

Le PoA est essentiellement une approche hybride conçue grâce à la convergence des modèles de consensus de la blockchain PoW et PoS.

Dans le cas du mécanisme PoA, les mineurs se précipitent pour résoudre un puzzle cryptographique au plus tôt en utilisant du matériel spécial et de l'énergie électrique, tout comme dans PoW. Cependant, les blocs qu'ils rencontrent ne contiennent que les informations sur l'identité du gagnant du bloc et la transaction de récompense. C'est là que le mécanisme passe au PoS.

Les validateurs (actionnaires désignés pour valider les transactions) testent et s'assurent de l'exactitude du bloc. Si le bloc a été vérifié plusieurs fois, les validateurs s'activent pour un bloc complet. Cela confirme que les transactions ouvertes sont des processus et sont finalement intégrées dans les conteneurs de blocs trouvés.

En outre, la récompense globale est divisée de manière à ce que les validateurs en gagnent des parts.

Les deux implémentations réelles de ce mécanisme sont les pièces Espers et Decred .

10. Preuve du temps écoulé (PoET)

PoET a été introduit par Intel dans le but de prendre en charge les énigmes cryptographiques impliquées dans le mécanisme PoW en considérant le fait que l'architecture CPU et la quantité de matériel minier savent quand et à quelle fréquence un mineur gagne le bloc.

Il est basé sur l'idée de répartir équitablement et d'élargir les chances d'une plus grande fraction de participants. Ainsi, chaque nœud participant est invité à attendre un certain temps pour participer au prochain processus de minage. Le membre avec le temps d'attente le plus court est invité à offrir un bloc.

Dans le même temps, chaque nœud propose également son propre temps d'attente, après quoi il passe en mode veille.

Ainsi, dès qu'un nœud devient actif et qu'un bloc est disponible, ce nœud est considéré comme « l'heureux gagnant ». Ce nœud peut alors diffuser l'information dans tout le réseau, tout en conservant la propriété de décentralisation et en recevant la récompense.

11. Preuve d'importance (PoI)

Introduit par NEM , PoI est une variante du protocole PoS qui considère le rôle des actionnaires et des validateurs pour son fonctionnement. Cependant, cela n'est pas seulement influencé par la taille et la chance de leurs actions ; divers autres facteurs comme la réputation, l'équilibre global et non. des transactions effectuées via une adresse particulière y joue également un rôle.

Les réseaux basés sur le modèle de consensus POI sont coûteux à attaquer et récompensent les utilisateurs pour leur contribution à la sécurité du réseau.

Les informations partagées jusqu'à présent vous auraient aidé à différencier les différents protocoles de consensus Blockchain.

Cependant, pour vous simplifier la tâche, voici un tableau comparatif des algorithmes de consensus de la blockchain.

Maintenant, commençons par déterminer ce qui fait qu'un consensus Blockchain est bon.

Propriétés d'un bon mécanisme de consensus Blockchain

1. Sécurité

Dans un bon mécanisme de consensus, tous les nœuds sont capables de générer des résultats valides selon les règles du protocole.

2. Inclusif

Un bon mécanisme de blockchain de consensus garantit que chaque nœud particulier du réseau participe au processus de vote.

3. Participatif

Un mécanisme de consensus où tous les nœuds participent activement et contribuent à la mise à jour des bases de données sur Blockchain est appelé un bon modèle de consensus.

4. Égalitaire

Un autre trait d'un bon mécanisme est qu'il donne une valeur et une pondération égales à chaque vote reçu du nœud.

Dans cet esprit , découvrons ce qui se passe lorsque vous ne tenez pas compte de ces facteurs et introduisez un modèle de consensus médiocre dans votre processus de développement.

Conséquences du choix d'un mauvais protocole de consensus

1. Fourches Blockchain

Choisir une mauvaise méthode de consensus blockchain augmente la vulnérabilité de la chaîne. Blockchain Forks est l'une de ces vulnérabilités auxquelles sont confrontés les passionnés et les développeurs de blockchain.

Les fourches de la blockchain, dans un langage profane, sont une situation ou des circonstances dans lesquelles une seule chaîne diverge en deux ou plus. Une explication détaillée sur la fourche Blockchain et ses types est disponible dans la vidéo intégrée ci-dessous.

Lorsqu'un fork Blockchain se produit, l'application commence à fonctionner de manière imprévisible, créant deux ou plusieurs nœuds divergents à l'avance.

2. Mauvaises performances

Lorsqu'un mauvais mécanisme de blockchain de consensus est envisagé, soit le nœud subit un dysfonctionnement, soit il souffre d'une partition de réseau. Cela retarde le processus d'échange de messages entre les nœuds et augmente la latence de l'application, ce qui réduit finalement le niveau de performance.

3. Échec du consensus

Un autre effet de l'incorporation d'un mauvais mécanisme de consensus à votre modèle d'entreprise est l'échec du consensus. Dans cette situation, une fraction des nœuds ne participe à aucun processus et donc, en l'absence de leurs votes, le consensus ne parvient pas à fournir les résultats précis et souhaités.

Maintenant que les bases des méthodes de consensus Blockchain sont couvertes, approfondissons le sujet et examinons les types populaires de mécanisme de consensus.

Foire aux questions sur les algorithmes de consensus Blockchain

Q. Qu'est-ce que le protocole de consensus dans Blockchain ?

Un protocole de consensus est un ensemble de règles ou de procédures qui régissent la manière dont deux nœuds ou plus interagissent, échangent des informations et exécutent des processus associés dans l' écosystème Blockchain .

Q. Quel modèle de consensus Ethereum utilise-t-il ?

Auparavant, Ethereum travaillait avec le modèle de consensus PoW (Proof of Work). Mais, il est maintenant passé à l' algorithme de consensus blockchain PoS (Proof of Stake) .

Click here to know more

Les pensées finales

Au final, tous ces composants ont un objectif similaire qui est d'avoir un consensus dans un réseau décentralisé. Cependant, même après avoir un objectif commun, ces mécanismes diffèrent dans leur manière d'aborder l'atteinte d'un consensus. Bien que le consensus idéal n'existe pas encore, il est fascinant et émouvant de voir comment les mécanismes de consensus se sont développés et ajustés sur le long terme aux exigences changeantes d'un protocole comme celui-ci, et il sera sans aucun doute passionnant d'observer des idées révolutionnaires se matérialiser. .

Il est important de choisir judicieusement celui en fonction de la nécessité du réseau d'entreprise, car les réseaux Blockchain ne peuvent pas fonctionner correctement sans les algorithmes de consensus pour confirmer chaque transaction en cours.