paint-brush
Maîtriser les mécanismes de consensus : 15 formes puissantes d'accords distribués en cryptopar@andreydidovskiy
670 lectures
670 lectures

Maîtriser les mécanismes de consensus : 15 formes puissantes d'accords distribués en crypto

par Andrey Didovskiy13m2023/03/29
Read on Terminal Reader

Trop long; Pour lire

- Consensus est un mot fantaisiste pour accord - Tous les mécanismes de consensus ne remplissent pas la même fonction - Le consensus est l'élément clé qui crée la confiance dans un système.
featured image - Maîtriser les mécanismes de consensus : 15 formes puissantes d'accords distribués en crypto
Andrey Didovskiy HackerNoon profile picture
0-item
1-item



L'industrie de la crypto-monnaie est connue pour sa capacité à utiliser une terminologie exotique pour confondre la merde des personnes non techniques. Enfer, parfois même les personnes les plus techniques peuvent se perdre dans la sauce.


Le taux d'innovation absurde qui se produit dans la cryptographie est un terreau fertile pour de nouvelles idées. Ces nouvelles idées nécessitent des formes de communication nouvelles, mais familières. L'une des formes de communication les plus utilisées est la formulation de la terminologie comme "PROOF-OF- xyz ".


Tout le monde essaie toujours de prouver quelque chose et c'est pour une bonne raison, après tout, l'essence même de la blockchain est "Ne faites pas confiance, vérifiez".


Cependant, à un moment donné, tout devient écrasant.


Aujourd'hui on met fin à ça !


Ok, pas vraiment, mais nous allons disséquer l'un des aspects techniques les plus importants sur lesquels repose toute l'industrie : les mécanismes de consensus.


Il s'agit d'un sujet très dense qui nécessite une compréhension de nombreux éléments techniques différents ; Je vais essayer de tous les décomposer au fur et à mesure et de fournir des liens/ressources à ceux qui souhaitent approfondir.


La crypto-monnaie fonctionne via un système de cloud computing appelé DLT (Distributed Ledger Technology), tel qu'une Blockchain ou DAG (Directed Acyclic Graph).


Cette technologie a été développée comme une solution à un « paradigme » informatique connu sous le nom de problème des généraux byzantins qui explique la difficulté d'établir une communication sécurisée dans des environnements décentralisés.


Fondamentalement, si 3 généraux entourent une ville et veulent la capturer, ils doivent attaquer tous en même temps. Moins que les 3 et le plan échouera. Comment ces généraux peuvent-ils se coordonner s'il y a tant de risques à envoyer un message ? Le messager se perd, est retardé, perd le message, falsifie un faux message, se fait prendre par l'ennemi ou ment juste à ce sujet. C'est en fait une lecture assez stimulante pour toute personne intéressée; mais par souci de brièveté, nous devons passer à autre chose.


Les chaînes de blocs/DLT sont (supposées être) des registres numériques immuables, transparents, à ajout uniquement, qui offrent une garantie opérationnelle de ne montrer que la vérité de manière cohérente. Ces propriétés ont donné à la technologie blockchain le surnom familier de « la machine de confiance ».


Bien que nous sachions intuitivement ce qu'est la confiance, la définir n'est pas une tâche simple.


La confiance est l'assurance que les résultats futurs sont fiables. C'est la capacité de faire confiance à quelque chose/quelqu'un sans la peur, l'incertitude ou le doute de ce quelque chose/quelqu'un qui vous baise. La confiance est la capacité de prendre une décision, avec un degré élevé de confiance, et de ne pas avoir à se soucier du risque de contrepartie.


Les mécanismes de consensus sont les véhicules pour établir la vérité, éviter la non-vérité et, à leur tour, gagner la confiance des utilisateurs dans les crypto-monnaies.

Qu'est-ce qu'un mécanisme de consensus ?

En ce qui concerne la cryptographie, les mécanismes de consensus offrent la double fonctionnalité des garanties de sécurité et de la réglementation des récompenses. Ce sont des systèmes/protocoles qui permettent de s'accorder sur une version unique de l'historique pour toute l'activité de la chaîne. Un code de conduite pour établir un accord commun sur l'État partagé, unique et véritable. Ils dictent :- qui vérifie et confirme les transactions qui sont soumises dans un ou plusieurs blocs de blockchain.- comment cette vérification et cette confirmation se produisent- qui et comment quelqu'un est-il récompensé pour ses efforts/contributions


C'est là que les choses se compliquent un peu :

Les mécanismes de consensus ne doivent pas uniquement traiter avec la logique de calcul froide et dure de la sécurité de la blockchain. Ils peuvent être utilisés pour exprimer la conclusion d'un accord de confiance sur pratiquement n'importe quel élément social, technique ou mécanique arbitraire.


Les nuances de l'architecture délicate derrière les mécanismes de consensus sont extrêmement complexes… mais au plus haut niveau, elles peuvent se résumer à quatre éléments de conception essentiels :


  • Complexité informatique

    La quantité de ressources et d'étapes nécessaires pour arriver au résultat souhaité (plus c'est rapide/court, mieux c'est)


  • Tolérance aux pannes

    Au cœur du consensus de tout réseau informatique se trouve la capacité de maintenir les opérations dans le cas où les participants au réseau abandonnent ou arrêtent de travailler (ce qui peut arriver sporadiquement). Plus la tolérance aux pannes est élevée, plus il est facile de déjouer le système ; plus la tolérance est faible, plus le système est résilient. Donc, si la tolérance aux pannes d'un système est de 51 %, cela signifie que le système peut continuer à fonctionner tant que 49 % sont compromis. Si la tolérance est de 67 %, cela signifie que le système ne peut gérer que 33 % des nœuds compromis.


  • Résilience

    La capacité de continuer à fournir des résultats appropriés en cas d'activité malveillante (qui peut se produire pendant de longues périodes)


  • Vivacité

    La garantie que même après un événement imprévu, le réseau continuera à fonctionner honnêtement


Compromis dans les mécanismes :

Il n'y a pas de mécanisme universel unique pour les gouverner tous. Les mécanismes de consensus sont radicalement différents selon leur application.


Le trilemme de la blockchain pose qu'il est impossible d'avoir la présence des 3 propriétés : sécurité, évolutivité et décentralisation dans un seul système.



Source : Porte de la recherche



Il ne peut y avoir qu'un certain degré de mélange entre 2 éléments sur 3. En fonction de la combinaison présente dans une blockchain, chaque mécanisme sera différent selon :


- performance

- cohérence,

- évolutivité,

- efficacité


Bien qu'il existe des centaines, voire des milliers de mécanismes différents sur le marché aujourd'hui ; il existe deux types généraux de mécanismes de consensus basés sur leur logique opérationnelle, la preuve de travail et la preuve de participation . Toutes les autres variantes ne seront qu'un ajustement modulaire ou une combinaison des deux.


Maintenant que nous avons une compréhension générale des mécanismes de consensus ; passons en revue certains d'entre eux:


Clause de non-responsabilité

- Toutes les "preuves de quelque chose" ne remplissent pas les mêmes fonctions que les autres.

- Tous les mécanismes de consensus n'ont pas besoin d'avoir "Proof-Of" dans leur nom.

- La tolérance aux pannes byzantines est un élément de tout mécanisme.


POW - Preuve de travail

Décentralisation : très élevée

Tolérance aux pannes : 51 %

Cas d'utilisation : sécurisation de l'historique de la blockchain


Description : processus gourmand en ressources d'une complexité mathématique extrême qui exige un matériel dédié. Le consensus POW est atteint via la contribution des ressources informatiques à la résolution de problèmes mathématiques d'une complexité monstrueuse. Ici, les nœuds sont appelés mineurs et gagnent leurs récompenses grâce à l'émission de nouveaux jetons réseau. Les leaders des propositions de blocs sont choisis selon le principe du premier arrivé, premier servi en fonction de celui qui est capable de résoudre le problème mathématique.


POW lui-même a une sous-règle intégrée de "poids de la chaîne" ou "hauteur de la chaîne" et troncature. Chaque fois que POW est en cours d'exécution, les mineurs construisent leurs propres versions du bloc suivant ; cependant, un seul bloc sera accepté. Cela signifie que le réseau tronquera/supprimera tous les blocs non acceptés et recalibrera toujours la version de la chaîne la plus longue/la plus lourde (en termes de quantité de travail effectué dessus). Ceci est considéré comme le modèle de consensus le plus sûr/décentralisé en raison de sa capacité à résister à l'examen minutieux du gouvernement mondial.


Exemples de POW - Bitcoin (BTC) , Dogecoin (DOGE) , Litecoin (LTC) , Kaspa (KAS)



POS — Preuve de participation

Décentralisation : modérée-élevée

Tolérance aux pannes : 67 %

Cas d'utilisation : sécurisation de l'historique de la blockchain


Description : Le modèle de consensus le plus populaire. Le concept derrière celui-ci est simple, les utilisateurs verrouillent/collatéralisent leurs jetons afin de participer. Dans les modèles de point de vente, il existe des fournitures fixes en circulation, ce qui signifie qu'aucun nouveau jeton n'est émis en tant que récompenses globales, les récompenses sont gagnées grâce à l'accumulation de frais de transaction. De plus, contrairement aux prisonniers de guerre, les modèles de point de vente utilisent la réduction des enjeux pour tout mauvais comportement ; dans le cas où un comportement malveillant/subversif est découvert, ce nœud violant aura environ 50 % de sa participation confisquée au réseau pour redistribution entre les nœuds équitables. Généralement considéré comme moins sécurisé et plus centralisé que POW dans le sens où les incitations des nœuds de réseau sont similaires aux systèmes financiers hérités ; les joueurs aux poches plus profondes ont une meilleure chance de posséder les nœuds du réseau.


Un autre élément important à ne pas négliger dans le POS est que pour devenir un nœud, il y a une exigence minimale de participation. Dans l'exemple d'Ethereum, c'est 32 ETH. Le compromis avec cette conception est qu'un niveau élevé d'activité véridique est attendu afin de ne pas perdre de participation ; alors qu'il minimise l'accessibilité potentielle et à son tour, la décentralisation compte. De plus, les points de vente sont connus pour souffrir du problème du "riche qui s'enrichit", le consensus repose principalement sur le montant/la valeur en jeu ; donc ceux qui ont plus gagneront plus et ne donneront pas aux autres une chance équitable. Mis à part le précédent, la vérité sur la raison pour laquelle cela obtient un score inférieur à la décentralisation que le POW est la résilience contre les gouvernements. Les gouvernements peuvent en théorie traquer ces réseaux et les forcer à arrêter leurs opérations ; Le POS est plus facile à subvertir à grande échelle. Cependant, l'un des principaux avantages du POS par rapport au POW est l'efficacité énergétique.


Exemples de points de vente — Ethereum (ETH) , Cardano (ADA) , Tezos (TEZ) , CELO (CELO) , Polkadot (DOT) , Avalanche (AVAX) , ThorChain (RUNE)



dPOS — Preuve de participation déléguée

Décentralisation : faible

Tolérance aux pannes : ** 67%

Cas d'utilisation : sécurisation de l'historique de la blockchain


Description : L'adaptation la plus populaire des points de vente réguliers ; la preuve de participation déléguée est une tentative de démocratiser l'accès à la participation aux opérations et aux récompenses du réseau. Seuls les plus grands peuvent participer au processus de sécurisation tandis que les détenteurs de jetons de plus petite taille "délèguent" leurs jetons aux nœuds d'exploitation ; fondamentalement, ils votent avec leurs jetons, ne les donnant jamais au nœud réel. Les modèles de consensus dPOS auront généralement entre 21 et 101 nœuds qui gèrent les opérations du réseau. Ces opérateurs de réseau sont sélectionnés en fonction du nombre de jetons qu'ils ont en jeu. Le plus grand avantage de la variante dPOS est qu'en limitant le nombre de nœuds ; bien que cela conduise à la centralisation, cela apporte également l'avantage supplémentaire de délais de traitement plus rapides.


Exemples dPOS — Polygon (MATIC) , Tron (TRX) , EOS (EOS) , Lisk (LSK) , Ark (ARK) , Radix (XRD)



LPOS - Preuve de participation louée

Décentralisation : faible - modérée

Tolérance aux pannes : 67 %

Cas d'utilisation : sécurisation de l'historique de la blockchain


Description : Il s'agit d'une variante avancée de POS. Très similaire au modèle de preuve de participation déléguée, la preuve de participation louée fournit la différence technique dans ; que dans dPOS, les nœuds du réseau accumulent les récompenses et les distribuent ensuite à leurs délégants ; mais dans LPOS, les utilisateurs prêtent en fait leurs jetons aux nœuds, ils possèdent ainsi une partie de ce poids de nœuds et accumulent les récompenses directement, plutôt que par l'intermédiaire du délégué. Le compromis ici est que pour exécuter le nœud physique, un très haut niveau de connaissances techniques et d'équipement est nécessaire. Jusqu'à présent, cette implémentation n'a été utilisée que dans un seul projet.


Exemples de LPOS — Vagues (VAGUES)



HPOS - Hybrid Proof Of Stake (également appelée preuve d'activité)

Décentralisation : Modérée

Tolérance aux pannes : 51 %

Cas d'utilisation : sécurisation de l'historique de la blockchain


Description : Comme son nom l'indique, HPOS est une architecture créative qui exploite les deux modèles de consensus de base (POW + POS). Dans ce modèle, deux niveaux de processus ont lieu. Au niveau de base, les mineurs (tout comme dans POW) vérifient et regroupent les transactions en blocs. Ensuite, ces blocs pré-vérifiés sont soumis dans le mempool du deuxième niveau, où les nœuds POS exécutent une série supplémentaire de vérifications sur les blocs et les valident.


Exemples HPOS — DASH (DASH) , Decred (DCR)



PPOS - Preuve de participation pure

Décentralisation : très élevée* (pas vraiment)

Tolérance aux pannes : 67 %

Cas d'utilisation : sécurisation de l'historique de la blockchain


Description : Une autre variante de POS. Nouveau dans la conception par rapport à d'autres variantes, car il est sans doute plus décentralisé (pas). Cette variante n'a pas de mécanisme de punition ; donc les acteurs techniquement mauvais peuvent mal agir et ne pas souffrir. Cependant, cette conception est extrêmement faible dans sa barrière à l'entrée, un seul jeton est requis pour se joindre en tant que nœud. En théorie, c'est facile à jouer car un seul acteur peut lancer une attaque silencieuse de Sybil en distribuant 1 000 jetons sur 1 000 portefeuilles différents.


Exemples de PPOS — Algorand (ALGO)



POI — Preuve d'importance

Décentralisation : faible à modérée

Tolérance aux pannes : 67 %

Cas d'utilisation : sécurisation de l'historique de la blockchain


Description : Modèle basé sur la réputation qui est encore une autre implémentation de POS. Difficile d'être accepté comme nœud valide, facile d'être expulsé. Je dois admettre que celui-ci est un peu plus créatif dans son approche. La preuve d'importance utilise deux facteurs en dehors de l'enjeu ; ceux-ci inclus:


1. l'activité réseau des nœuds de jalonnement *(plutôt que de jalonner passivement, ils doivent contribuer à la vitesse du jeton sur le réseau)

2. la qualité de l'activité des nœuds (les transactions de spam n'aideront pas)


Exemples de points d'intérêt — NEM (XEM)



POA - Preuve d'autorité

Décentralisation : Aucune - très faible'

Tolérance aux pannes : 51 %

Cas d'utilisation : sécurisation de l'historique de la blockchain


Description : La centralisation est le nom du jeu ici. POA utilise une précieuse primitive non financière pour fonctionner, l'identité. En utilisant l'identité, tous les participants au réseau d'exploitation risquent leur réputation afin de faire partie du cercle de consensus. Partout où il y a identité, il y a centralisation. Cependant, en ayant de petites quantités limitées d'opérateurs connus, les réseaux qui utilisent POA ont un potentiel de débit extrêmement élevé. Ce n'est certainement pas un mécanisme que vous souhaitez étayer les chaînes de blocs de biens publics, mais cela n'a pas empêché les projets de l'exploiter.


Exemples de POA — VeChain (VET)



pBFT - Tolérance aux pannes byzantine pratique

Décentralisation : faible

Tolérance aux pannes : 67 %

Cas d'usage : Développer la robustesse d'un mécanisme


Description : Un élément de composition clé pour la construction d'autres mécanismes de consensus. Généralement trouvé dans les réseaux autorisés, pBFT fonctionne en tirant parti de la réplication des données dans les nœuds. Pas le plus efficace des modèles en raison des contraintes de communication inhérentes, mais très résistant (évidemment, la tolérance est élevée dans les systèmes centralisés, les joueurs n'ont qu'eux-mêmes et leurs amis à blâmer).


Exemples de pBFT — Zilliqa (ZIL) {utilise un mélange de POW + pBFT}



dBFT - Tolérance aux pannes byzantine déléguée

Décentralisation : faible

Tolérance aux pannes : 51 %

Cas d'usage : Développer la robustesse d'un mécanisme


Description : Comme c'est le cas avec son cousin ci-dessus (pBFT), la tolérance aux pannes byzantine déléguée est un élément de composition pour la création de systèmes de blockchain plus robustes. Seul, le mécanisme peut être utilisé pour prendre en charge les communications distribuées, cependant, elles sont limitées par des contraintes de communication qui rendent les systèmes dBFT centralisés par défaut.


dBFT Exemples — NEO (NEO)



POC — Preuve de capacité/d'engagement

Décentralisation : faible

Tolérance aux pannes : 51 %

Cas d'utilisation : sécurisation de l'historique de la blockchain


Description : Torsion unique sur les mécanismes de consensus POW ; plutôt que d'utiliser des unités de traitement pour résoudre constamment des problèmes ; la preuve de capacité exploite l'espace disque/la mémoire. POC trace des solutions potentielles aux problèmes futurs et les stocke dans l'espace disque vide des mineurs. À ne pas confondre avec une absence totale d'exploitation minière, car l'exploitation minière a toujours lieu; cela se produit simplement de manière préventive (ce qui pourrait alors faire apparaître des risques de sécurité potentiels). Pas très efficace à grande échelle en raison d'une sensibilité élevée en cas d'abandon d'un nœud, ce qui nécessite un nouveau traçage de l'ensemble du réseau et devient moins efficace à mesure que davantage de nœuds miniers se joignent (ils nécessitent un traçage supplémentaire qui crée alors d'énormes arriérés sur le ordinateurs allouant de l'espace disque).


Exemples POC — Storj (STORJ) , Chia (XCH) , Signum (SIGNA)



POH - Preuve de l'histoire

Décentralisation : N/A

Tolérance aux pannes : N/A

Cas d'utilisation : Horodatage et organisation


Description : il ne s'agit pas d'un protocole autonome sur lequel créer une blockchain. POH est utilisé avec, vous l'avez deviné, POS, comme technique utilisée pour horodater les transactions à l'aide d'une méthode de hachage VRF (fonction aléatoire vérifiable) qui permet de traiter et de soumettre les blocs d'une blockchain dans un mempool. Cela permet à un réseau de poursuivre ses opérations à sa capacité maximale, indépendamment de ce qui pourrait se passer avec n'importe quel nœud individuel à un moment donné. Si un nœud n'a pas soumis un bloc à temps, cela ne gênera pas la production du bloc suivant, car le bloc retardé sera organisé dans sa position correcte dès que possible.


Exemples de PDV — Solana (SOL)



POÈTE - Preuve du temps écoulé

Décentralisation : Non

Tolérance aux pannes : 51 %

Cas d'utilisation : sécurisation de l'historique de la blockchain


Description : Il s'agit d'un modèle extrêmement centralisé pour la construction d'un réseau, principalement parce que c'est la propriété intellectuelle (IP) qui est protégée par des brevets et que personne ne veut entrer en guerre avec Intel. Néanmoins, le design lui-même est brillant. POET est encore un autre modèle qui exploite la logique POS avec un mélange du principe de consensus de Nakamoto de la chaîne la plus longue/la plus lourde, ainsi que ses propres concepts ajoutés de minuterie interne et de « repos ». Les nœuds mineurs sont sélectionnés au hasard et le même nœud ne peut pas être sélectionné dos à dos. Une fois qu'un nœud a validé un bloc, une minuterie aléatoire est placée sur le nœud et il s'endort. Lorsqu'il est endormi, il n'utilise aucune ressource de calcul ; ce qui rend ce modèle plus écologique en termes de consommation électrique que les autres variantes de point de vente.


Exemple de POET — Dent de scie HyperLedger



POA — Preuve d'accès

Décentralisation : faible

Tolérance aux pannes : 51 %

Cas d'utilisation : Sécurisation du stockage et des données


Description : Une version augmentée de POW, Proof-of-Access est un algorithme créé par le projet Arweave qui utilise une technique intelligente pour vérifier les blocs entrants. Au lieu de se fier uniquement au bloc précédent, les mineurs utilisent ce qu'on appelle un "bloc de rappel" avec un bloc précédent choisi au hasard. Les blocs de rappel peuvent être considérés comme des points fiables dans l'historique de la chaîne qui ne nécessitent pas le stockage de toutes les données de la chaîne. Cela crée un modèle léger pour prouver les données, ce qui se traduit par des capacités de stockage plus efficaces, moins de gaspillage de ressources de calcul et un débit accru. Un inconvénient potentiel de ce modèle est qu'il préfère les nœuds plus anciens en raison de leurs archives d'historique ; les nouveaux nœuds n'ont pas accès aux mêmes données archivées et ne téléchargeront que les blocs de rappel. Ce qui crée en théorie une hiérarchie par âge.


Exemples de POA — Arweave (AR)



POREP — Preuve de réplication

Décentralisation : N/A

Tolérance aux pannes : 51 %

Cas d'utilisation : Sécurisation du stockage et des données + Cloud Computing


Description : Cette beauté d'un modèle est en fait une extension d'un modèle précédent dans le stockage de données (Proof-of-Space) avec une intégration de POW qui donne la priorité à la capacité d'espace de stockage sur le réseau/dans l'espace disque du nœud opérationnel . Il y a des éléments du mécanisme de consensus pBFT dans le fait que les données ajoutées au réseau sont répliquées dans tous les mineurs du réseau. L'ingéniosité de POREP est définie par sa capacité à lutter contre le vecteur d'attaque le plus sournois de l'industrie du cloud computing décentralisé, connu sous le nom d'"attaque de génération", par laquelle un nœud minier paie pour télécharger un document, puis demande à l'infini ce document, percevant des frais pour fournir le stockage. de celui-ci.


Exemples POREP — Filecoin (FIL)




Ce n'est qu'un petit échantillon de la quantité de travail incroyable qui existe réellement.


Les mécanismes de consensus sont au cœur de la confiance d'un système distribué. Le mécanisme dicte les règles/lois selon lesquelles le système fonctionne. Chaque choix dans la conception d'un système doit être fait avec un examen minutieux, l'application d'un mécanisme inapproprié à un système entraînera une dissonance cognitive entre les utilisateurs et les opérateurs de réseau ; à son tour, provoquant une perte de confiance.


Il est impossible de quantifier quel mécanisme est meilleur que l'autre ; tout est contextuel et tout est subjectif.


Avec des opportunités infinies devant nous,

Merci pour la lecture


Que ton voyage soit incroyable

&

Votre portefeuille soit copieux 🥂



Également publié ici.