Avalanche, le consensus qui ne vous laissera pas de glace

Tout est question de consensus – Dans un de ses derniers tweets , Nicolas Lemaitre, représentant France du projet Avalanche, fan de poudreuse fraîche et de tout ce qui pourrait vous inspirer l’idée d’un week-end de rêve à la montagne ; nous raconte pourquoi il a décidé de rejoindre l’équipe d’Avalabs il y à plus de 2 ans maintenant. Profitons-en pour revenir ensemble sur le principe de consensus et sur ce qui fait la force d’Avalanche.

L’article suivant est très largement inspiré du thread de Nicolas Lemaitre que vous pouvez retrouver sur Twitter.

Qu’est ce qu’un consensus ? 

Il suit son cours

Un consensus par définition est un accord ou un consentement du plus grand nombre de personnes dans une population ou échantillon de population donné à l’égard d’un sujet. 

Dans le monde des cryptomonnaies, un algorithme de consensus est un élément extrêmement important de chaque réseau blockchain.

En effet, ils sont responsables du maintien de l’intégrité et de la sécurité de ces systèmes distribués.

Cet élément central permet donc à de multiples nœuds distribués de s’accorder pour prendre la même décision. Ainsi on résout le problème mathématique des généraux byzantins.

Attention : PoS (Proof-of-stake) , PoW (Proof-of-work), DPoS (Delegated-proof-of-stake), etc… ne sont pas des algorithmes de consensus, mais bien des mécanismes de prévention Sybil.

Pour aller plus loin : Les mécanismes de prévention Sybil permettent d’appliquer des règles à tous les utilisateurs voulant participer à la sécurisation du réseau. Exemple de règles possibles : mettre en stake des tokens (PoS) ou encore résoudre un puzzle mathématique (PoW). Ce faisant ils préviennent d’attaque de la part d’acteurs malveillants voulant prendre le contrôle d’un réseau en créant de multiples comptes, nœuds, etc…

Pour revenir aux algorithmes de consensus, avant l’arrivée d’Avalanche, il existait deux grandes familles de consensus : la famille Nakamoto et la famille des consensus dit classiques.

Les consensus “classique” 

Cette famille de consensus est la plus ancienne et remonte à Lamport-Liskov (1989-1999). Le principe de cette famille est d’arriver à un consensus après de multiple tours ou chaque nœud doit parler à tous les autres nœuds du réseau.

Les protocoles classiques sont très rapides et ont une faible latence de confirmation. Mais les performances de ces consensus se dégradent rapidement en fonction du nombre de participants au réseau puisque tous les participants doivent se parler les uns les autres.

Vous l’avez compris, une approche performante oui mais pas réellement optimisée pour la décentralisation. Ce type de consensus pourrait en revanche très bien fonctionner pour une blockchain privée.

Pour remédier à cela certaines blockchains actuelles optent pour la sélection d’un “quorum”. Les quorums sont des petits groupes de nœuds sélectionnés pour prendre une décision ensemble.

Finalement, le problème est le même. Si nous prenons l’exemple d’un réseau possédant 5000 nœuds mais où seulement 100 d’entre eux participent pour prendre une décision… Nous sommes loin de l’image qu’on se fait de la décentralisation.

Le consensus de Nakamoto :

Figure emblématique de Satochi Nakamoto

Créé en 2008 avec le Bitcoin par le célèbre Satoshi Nakamoto.

Ce consensus fonctionne sur le principe de la chaîne avec le plus de travail accumulé. Les mineurs ne votent pas, ils se font concurrence et tentent sans relâche de résoudre un “puzzle” mathématique, puis présentent leurs résultats aux nœuds du réseau.

Cette famille de consensus peut accueillir des milliers de participants sans que cela n’influence les performances de celui-ci. Mais ce type de consensus est beaucoup moins performant que la famille précédente en termes de TPS (transaction par seconde) et de latence de confirmation. 

Donc ici, nous avons une moins bonne performance du réseau au profit d’une décentralisation optimale.

Le consensus Avalanche :

Le consensus Avalanche et son livre blanc (Snowflake To Avalanche: A Novel Metastable Consensus Protocol Family for Cryptocurrencies) a été initialement publié et révélé au grand public par l’énigmatique Team Rocket en 2018.

On précisera ici que la Team Rocket s’est occupée de la création du livre blanc mais que c’est Avalabs (que nous avons évoqué précédemment) qui s’est occupé de l’implémentation du consensus.

Pour expliquer le principe de cette famille de consensus, Nicolas Lemaitre utilise un exemple percutant dans son thread : 

Prenons l’exemple de la très célèbre robe que certaines personnes voyaient comme bleue et noire et d’autres comme blanche et dorée.

Robe bleu et noire ou blanche et dorée
Les robes en question ayant fait parler d’elle sur internet en 2015.

On présente alors cette robe lors d’une conférence à 1,000 personnes. Tout le monde à un avis initial différent sur la couleur de la robe… Cependant nous devons parvenir à un consensus.

Modélisation de la prise de position des personnes lors du consensus
Les personnes qui pensent que la robe est bleue et noire sont représentées par les carrés bleus et les personnes qui pensent que la robe est blanche et dorée sont représentées par les carrés jaunes.

Chaque participant va prendre un échantillon de l’assemblée (10/1,000…) et demander aux participants quel est leur avis sur la question. Si la majorité des 10 réponses est en accord avec votre avis initial vous continuez de croire en votre avis. A l’inverse, si la majorité croit le contraire vous devez changer de position et adoptez la leur.

Vous allez répéter cette action jusqu’à ce que vous ayez trouvé le même résultat une centaine de fois. Et lorsque cela arrivera vous considérez que votre avis est définitif.

Ce système permet donc de faire converger les 1,000 participants vers un même avis.

Présentation visuelle réalisée par Maofan Yin , montrant comment Avalanche aboutit à un consensus. Modélisation trouvable ici.

Ps: Dans l’exemple ci-dessus, de nombreuses simplifications sont faites, dans les faits, cela s’avère plus complexe.

Ici contrairement au consensus classique, Avalanche n’a pas de problème de scalabilité dépendant du nombre de participants au réseau car ces derniers ne communiquent pas avec l’ensemble du réseau un à un mais avec un échantillon de celui-ci.

Notons que le consensus Avalanche est probabiliste. En effet, il est possible qu’un nœud puisse échantillonner les nœuds avec la préférence minoritaire, arrivant à une conclusion erronée.

Cette probabilité d’erreur est infiniment petite et est de l’ordre de 0.0000000001%. (paramétrable)

De ce fait, les transactions sont vues comme “finales”. Une fois que les transactions sont décidées, elles sont verrouillées et sont inchangeables.

Quelques caractéristiques d’Avalanche non abordées plus haut :

  • Computationnellement efficace (optimisé pour faire tourner un noeud  sans avoir une machine de guerre)
  • Quiescent (ne travail pas si il n’y a rien à faire)
  • Écologique (neutralité carbone avec Mattereum, entreprise technologique spécialisé dans les échanges numériques)
  • Très rapide (TPS et Finalité)
  • Adaptable (Fonctionne avec PoS,PoW,etc.)
  • Configurable (le compromis entre sécurité et vitalité)
Comparaison des consensus de Nakamoto , classique et Avalanche
Comparaison des consensus précédemment cités, issu d’un article Medium d’Avalanche France.

En somme, vous l’avez compris, Avalanche est un consensus alternatif à celui de Nakamoto ou le classique. Celui-ci présente de nombreux points forts. Il arrive à mieux faire coïncider l’objectif d’une blockchain performante et l’idée de décentralisation (chère à beaucoup de monde dans l’écosystème). Mais sur quels protocoles repose alors le consensus Avalanche ? Pour répondre à cette question et découvrir les quatre protocoles sur lesquels celui-ci repose, je vous conseille l’excellent article “Avalanche : la famille de consensus qui veut faire boule de neige”.

Vous cherchez des tokens à fort potentiel de croissance ? Binance Launchpad met en lumière des projets crypto prometteurs en exclusivité. Pour y participer, rien de plus simple. Il suffit de vous inscrire sur Binance en suivant ce lien, vous obtiendrez 10% de remise sur vos frais de trading (lien commercial).

TheCryptoBlackSheep

Etudiant en médecine, crypto-enthousiaste depuis 2017. Je n'ai malheureusement pu investir que depuis début 2021. Je vogue entre DeFi, Trading et investissement LT. Cherchant toujours à en apprendre plus sur cet univers tout en partageant cela à un maximum de monde !