🇫🇷 De Classic à Hydra : les versions d'Ourobouros expliquées

Ourobouros est le protocole de consensus de Cardano. Ici, nous expliquons ce qu’il fait et comment il évolue.

Auteur : Kieran Costello - Article original ici
Traduction : The Stakhanovite Stake Pool (STKH)

Avec la récente mise à jour BFT sur le réseau principal “Byron”, et le papier Hydra qui vient d’être publié, vous aurez probablement beaucoup entendu parler d’Ourobouros : le protocole de consensus révolutionnaire de preuve d’enjeu utilisé par Cardano. Développé comme une alternative plus efficace et plus durable à la preuve de travail, sur laquelle les cryptomonnaies précédentes - Bitcoin et, actuellement, Ethereum - sont construites, Ourobouros a été le premier protocole de consensus de blockchain à être développé en suivant un processus de recherche évaluée par les pairs.

Dirigées par Aggelos Kiayias de l’Université d’Édimbourg (Ecosse), les recherches sur Ourobouros et ses mises en œuvre ultérieures - BFT, Praos, Genesis, Hydra - fournissent une nouvelle base de référence pour résoudre certains des plus grands défis du monde, en toute sécurité et à grande échelle.

La reconnaissance commence par l’éducation, et nous ne pouvons pas compter sur ce que peut faire une technologie pour correctement transmettre comment elle le fait. Dans cet article, nous présentons un aperçu de ce comment pour Ourobouros. Nous examinerons les éléments tangibles et couvrirons ce que chaque mise en œuvre a pu introduire, afin d’améliorer la compréhension du protocole par la communauté et d’illustrer pourquoi il change la donne. Une analyse détaillée de chaque implémentation se trouve dans les articles correspondants ci-dessous. Toutefois; pour une explication générale d’Ouroboros et de ses implémentations, poursuivez votre lecture ce billet.

Un mot sur les protocoles de consensus, et pourquoi Ourobouros est différent

Il est raisonnable de penser que toute personne novice dans le monde des cryptomonnaies pourrait être perdue en entendant le terme “protocole de consensus”. En termes simples, un protocole de consensus est le système de lois et de paramètres qui régissent le comportement des registres distribués : un ensemble de règles selon lesquelles chaque participant au réseau se plie.

Les blockchains publiques ne sont pas contrôlées par une autorité centrale unique. Au lieu de cela, un protocole de consensus est utilisé pour permettre aux participants d’un réseau distribué de se mettre d’accord sur l’historique du réseau, capturé sur la blockchain, afin d’atteindre un consensus sur ce qui s’est passé, et continuer à partir d’une source véritable unique.

Cette source unique de vérité fournit un enregistrement unique. C’est pourquoi les blockchains sont parfois qualifiées d’élément “sans confiance” : au lieu d’exiger des participants qu’ils se fassent confiance, la confiance est intégrée dans le protocole. Des acteurs inconnus peuvent interagir et effectuer des transactions entre eux sans avoir recours à un intermédiaire pour qu’il y ait un échange préalable de données personnelles.

Ourobouros est un protocole de preuve d’enjeu qui se distingue de la preuve de travail. Plutôt que de s’appuyer sur des “mineurs” pour résoudre des équations complexes sur le plan informatique afin de créer de nouveaux blocs - et de récompenser les premiers à le faire - la preuve d’enjeu sélectionne les participants pour créer de nouveaux blocs en fonction de leur enjeu (dans le cas de Cardano, la quantité d’ada qu’ils contrôlent) dans le réseau.

Les réseaux qui utilisent Ourobouros sont beaucoup plus efficaces sur le plan énergétique que ceux qui utilisent des preuves de travail. Grâce à Ourobouros, Cardano est en mesure d’atteindre une efficacité énergétique inégalée. Au même niveau de décentralisation - par exemple, 100 groupes d’enjeu, ce qui dépasse le réseau actuel de bitcoin - Cardano pourrait consommer aussi peu que 0,01567GWh (gigawatt-heure) par an. Quant à Bitcoin, il aurait besoin de 67 000 GWh par an (selon les statistiques actuelles). Ceci est basé sur la capacité d’Ourobouros à fonctionner sur un Raspberry Pi, qui a une consommation électrique de 15 à 18W (watts). En théorie, cela équivaut à une efficacité énergnétique plus de quatre millions de fois supérieure. La différence de consommation d’énergie qui en résulte peut être comparée à celle existant entre un ménage et un petit pays : l’une peut être adaptée à un marché de masse, l’autre non.

Maintenant, examinons de plus près le fonctionnement du protocole Ourobouros et ce que chaque nouvelle version apporte.

Ourobouros Classic

Nous commençons par Ourobouros : la première mise en œuvre du protocole d’Ourobouros, publié en 2017. Cette première implémentation (appelée Ourobouros Classic) a jeté les bases du protocole en tant que concurrent économe en énergie de la preuve de travail et a introduit le cadre mathématique permettant d’analyser la preuve d’enjeu. Elle a aussi introduit un mécanisme d’incitation novateur pour récompenser les participants dans un contexte de preuve d’enjeu.

Mais plus encore, ce qui a séparé Ourobouros des autres blockchains et, plus précisément, des autres protocoles de preuve d’enjeu, c’est sa capacité à générer de l’aléatoire non biaisé dans l’algorithme de sélection des chefs de créneaux, et les garanties de sécurité qui en découlent. Ce caractère aléatoire empêche la création de motifs répétés et prédictibles et constitue un élément essentiel dans le maintien de la sécurité du protocole. Chaque fois qu’un comportement peut être prédit, il peut être exploité. Bien qu’Ourobouros assure la transparence, il empêche donc la coercition. Il est remarquable qu’Ourobouros ait été le premier protocole de blockchain à être développé avec ce type d’analyse de sécurité rigoureuse.

Comment fonctionne Ourobouros

Une explication complète du fonctionnement d’Ourobouros se trouve dans l’article de recherche le décrivant. Pour résumer, Ourobouros divise la blockchain en créneaux et en époques. Dans Cardano, chaque créneau dure 20 secondes et chaque époque - qui est une agrégation de créneaux - dure cinq jours.

La reconnaissance du fait que les attaques sont inévitables est au cœur de la conception d’Ourobouros. En tant que tel, le protocole intègre une tolérance pour empêcher les attaquants de propager des versions alternatives de la blockchain, et suppose qu’un adversaire peut envoyer des messages arbitraires à n’importe quel participant à tout moment. En fait, la sécurité du protocole est garantie tant que plus de 51% de l’enjeu total est contrôlée par des participants honnêtes (c’est-à-dire ceux qui suivent le protocole).

Pour chaque créneau, un chef de créneau est élu et il est chargé d’ajouter un bloc à la chaîne avant de le faire passer au chef de créneau suivant. Afin de se protéger contre des tentatives contradictoires de contourner le protocole, chaque nouveau responsable de créneau doit considérer les derniers blocs reçus comme transitoires : seule la chaîne qui précède un nombre spécifié de blocs transitoires est considérée comme définitive et immutable. C’est ce que l’on appelle également le délai de règlement. Cela signifie, entre autres, qu’une partie prenante peut se déconnecter et rester synchronisée avec la blockchain, à condition que ce ne soit pas pour une durée supérieure au délai de règlement.

Dans le cadre du protocole Ourobouros, chaque nœud du réseau stocke une copie des transactions en cours - les transactions sont ajoutées si elles sont cohérentes avec les transactions existantes - et une copie de la blockchain. La blockchain stockée localement est remplacée lorsque le nœud prend connaissance d’une chaîne alternative plus longue et valide.

L’inconvénient d’Ourobouros Classic était qu’il était susceptible d’être attaqué par des pirates adaptatifs - une menace importante dans le monde réel qui a été résolue avec Ourobouros Praos - et aussi parce qu’il n’offrait aucun moyen sûr pour un nouveau participant de s’assurer lors du démarrage qu’il téléchargeait bien la blockchain valide. Cela a été résolu avec Ourobouros Genesis.

Ourobouros BFT

Ourobouros BFT est venu ensuite. Ourobouros BFT (Byzantine Fault Tolerance) est un protocole simple qui a été utilisé par Cardano lors du redémarrage de Byron (Byron Reboot), qui était la transition de l’ancienne base du code Cardano vers la nouvelle. Ourobouros BFT aidera à préparer le réseau de Cardano pour la sortie de Shelley et, avec cela, sa décentralisation.

Plutôt que d’exiger que les nœuds soient en ligne en permanence, Ourobouros BFT suppose un réseau fédéré de serveurs et une communication synchrone entre les serveurs, ce qui permet d’obtenir un consensus de manière plus simple et plus déterministe.

Parmi les autres avantages, citons le règlement instantané des transaction à la vitesse du réseau - ce qui signifie que le facteur déterminant pour les transactions est la vitesse de votre connexion réseau à un nœud OBFT - et la confirmation instantanée en un seul aller-retour de communication. Chacun de ces avantages se traduit par une amélioration significative des performances.

Ourobouros Praos

Ourobouros Praos s’appuie sur Ourobouros Classic et lui apporte des améliorations substantielles en matière de sécurité et d’évolutivité.

Comme pour Ourobouros Classic, Ourobouros Praos traite les transactions en divisant la chaîne en créneaux, eux-mêmes regroupés en époques. Cependant, et contrairement à Ourobouros Classic, Praos est analysé dans un cadre semi-synchrone et il est sûr contre les attaquants adaptatifs.

Il suppose deux possibilités : que les adversaires puissent retarder les messages des participants honnêtes pendant plus d’un créneau, et qu’un adversaire puisse envoyer des messages arbitraires à n’importe quel participant à tout moment.

Grâce à la sélection privée des chefs de créneaux et à des signatures évolutives et sécurisées, Praos garantit qu’un adversaire ne peut pas prédire le prochain chef de créneau et lancer une attaque ciblée contre lui (telle qu’une attaque DDoS) pour contourner le protocole. Praos est également capable de tolérer des retards de transmission de messages contrôlés par l’adversaire et une corruption progressive des participants individuels dans une population de parties prenantes mouvante, ce qui est essentiel pour maintenir la sécurité du réseau dans un contexte mondial, à condition qu’une majorité honnête soit maintenue.

Ourobouros Genesis

Ensuite, nous avons Ourobouros Genesis. Genesis améliore encore Ourobouros Praos en ajoutant une nouvelle règle de sélection de chaîne. Cela permet aux parties prenantes de démarrer un noeud à partir du premier bloc (le genesis bloc) sans, de manière significative, avoir besoin de points de contrôle fiables ou d’émettre d’hypothèses sur le passé. Genesis apporte également la preuve de la composabilité universelle du protocole. Cette composabilité universelle démontre que le protocole peut être composé, dans un cadre réel, avec d’autres protocoles dans des configurations arbitraires et sans perdre ses propriétés de sécurité. Cela contribue de manière significative à sa sécurité et à sa durabilité, ainsi qu’à celles des réseaux qui l’utilisent.

Ourobouros Hydra

Le dernier est Ourobouros Hydra. Hydra est une architecture d’évolutivité hors-chaîne qui répond à trois défis clés en matière d’évolutivité : un rendement élevé des transactions, une faible latence et un stockage minimal de données par nœud.

L’article de recherche de Hydra récemment publié propose et décrit l’introduction de canaux d’état multipartites, qui offrent un traitement parallèle des transactions afin d’améliorer considérablement le rendement de Cardano en termes de transactions par seconde (TPS), et une confirmation instantanée des transactions. Reflétant son nom, l’article fait référence à ces canaux d’état comme étant autant de têtes, ce qui rend donc le registre distribué multi-tête.

Ourobouros Hydra permet à Cardano d’évoluer horizontalement, ce qui augmente les performances générale lors de l’incorporation de nœuds supplémentaires, plutôt que verticalement par l’ajout de matériel plus puissant. Les premières simulations montrent que chaque tête est capable d’effectuer jusqu’à 1 000 TPS. Avec 1 000 têtes, cela pourrait aller jusqu’à 1 000 000 de TPS. Une fois mis en œuvre, Ourobouros Hydra permettra à Cardano d’atteindre des niveaux inégalés - par exemple, pour des systèmes de paiement mondiaux.

Bien que Hydra soit conçu en conjonction avec le protocole d’Ourobouros et le registre Cardano, il peut également être utilisée sur d’autres systèmes, à condition que ces derniers partagent certaines des caractéristiques de Cardano.

L’avenir d’Ourobouros

Ourobouros, qui porte le nom du symbole de l’infini, est l’épine dorsale de l’écosystème de Cardano. Le protocole sert de base et de point d’ancrage aux systèmes qui se propagent d’eux-mêmes, qui se transforment et se développent cycliquement, supplantant les systèmes existants - financiers ou autres - et désintermédiant les structures de pouvoir sur lesquelles ces systèmes existants reposent. C’est le début d’une nouvelle norme, définie non pas à partir du centre, mais bien à partir des marges.

Son avenir est comme son passé : un effort infatigable pour explorer, itérer et optimiser, et susciter des changements positifs par une recherche rigoureuse. Chaque étape de son voyage - après Hydra, Ourobouros Crypsinous et Ourobouros Chronos - est une nouvelle évolution et nous rapproche de notre vision d’un monde plus juste, plus sûr et plus durable.