De Classic à Chronos : les implémentations d'Ouroboros expliquées

Ouroboros_Cardano_UpdevCommunity

Introduction :

Ouroboros est le protocole de consensus de Cardano. Ici, on vous explique ce qu’il fait et comment il évolue.

Vous avez probablement beaucoup entendu parler d’Ouroboros : le protocole révolutionnaire de consensus de preuve de participation utilisé par Cardano. Développé comme une alternative plus économe en énergie et durable à la preuve de travail, sur laquelle les crypto-monnaies antérieures - Bitcoin et, actuellement, Ethereum - sont construites, Ouroboros a été le premier protocole de consensus blockchain à être développé grâce à des recherches évaluées par des pairs.

Dirigé par le professeur Aggelos Kiayias de l’Université d’Édimbourg, Ouroboros et ses implémentations ultérieures fournissent une nouvelle base pour résoudre certains des plus grands défis mondiaux, en toute sécurité et à grande échelle.

Pourtant, la reconnaissance commence par l’éducation. Cet article présente un aperçu du fonctionnement d’Ouroboros. Il examine les éléments tangibles et couvre ce que chaque implémentation introduit, pour approfondir la compréhension du protocole par la communauté, et illustre pourquoi il change tellement la donne. Une analyse détaillée de chaque mise en œuvre peut être trouvée dans les documents correspondants ci-dessous. Pour une explication générale d’Ouroboros et de ses implémentations, cependant, lisez la suite.

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

Il est raisonnable de supposer que toute personne nouvelle dans l’espace pourrait être confondue par 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 lequel chaque participant au réseau joue pour parvenir à un accord avec tous les autres.

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

Cette source unique de vérité fournit un enregistrement unique. C’est pourquoi les blockchains sont parfois qualifiées de sans confiance : au lieu d’exiger que les participants se fassent confiance, la confiance est intégrée au protocole. Des acteurs inconnus peuvent interagir et effectuer des transactions les uns avec les autres sans recourir à un intermédiaire pour assurer la médiation, ou pour qu’il y ait un échange préalable de données personnelles.

Ouroboros est un protocole de preuve de participation, qui est distinct de la preuve de travail. Plutôt que de compter sur des “mineurs” pour résoudre des équations complexes en termes de calcul afin de créer de nouveaux blocs - et de récompenser les premiers à le faire - la preuve de participation sélectionne les participants (dans le cas de Cardano, les pools de participation) pour créer de nouveaux blocs en fonction de la participation qu’ils contrôlent dans le réseau.

Les réseaux utilisant Ouroboros sont beaucoup plus économes en énergie que ceux utilisant la preuve de travail - et, grâce à Ouroboros, Cardano est en mesure d’atteindre une efficacité énergétique inégalée. À partir de 2022, Bitcoin, par exemple, nécessite 204,50 TWh par an, ce qui est comparable à la consommation électrique de la Thaïlande. Ouroboros, d’autre part, exécute un Raspberry Pi , qui a une consommation électrique de 15 à 18 W (watts). La différence de consommation d’énergie qui en résulte peut être assimilée à celle entre un ménage et un pays : l’un peut être adapté au marché de masse ; l’autre ne peut pas.

Examinons maintenant de plus près le fonctionnement du protocole Ouroboros et ce que chaque nouvelle implémentation ajoute.

Ouroboros classique

Commençons par Ouroboros : la première implémentation du protocole Ouroboros, publiée en 2017. Cette première implémentation (appelée Ouroboros Classic) a jeté les bases du protocole en tant que rival écoénergétique de la preuve de travail, a introduit le cadre mathématique pour analyser preuve d’enjeu et a introduit un nouveau mécanisme incitatif pour récompenser les participants dans un contexte de preuve d’enjeu.

Plus que cela, cependant, ce qui séparait Ouroboros des autres blockchains, et, en particulier, des protocoles de preuve de participation, était sa capacité à générer un caractère aléatoire impartial dans l’algorithme de sélection du leader du protocole, et les garanties de sécurité qui en découlaient. Le caractère aléatoire empêche la formation de modèles et est un élément essentiel du maintien de la sécurité du protocole. Chaque fois qu’un comportement peut être prédit, il peut être exploité - et bien qu’Ouroboros assure la transparence, il empêche la coercition. De manière significative, Ouroboros a été le premier protocole blockchain à être développé avec ce type d’analyse de sécurité rigoureuse.

Comment fonctionne Ouroboros

Une explication complète du fonctionnement d’Ouroboros peut être trouvée dans son document de recherche . Ouroboros divise le temps sur Cardano en époques où chaque époque est divisée en créneaux. Un créneau est une courte période de temps pendant laquelle un bloc peut être créé et le regroupement des créneaux en époques est essentiel pour ajuster le processus d’élection des dirigeants à la répartition dynamique des enjeux.

Au cœur de la conception d’Ouroboros, il doit conserver sa sécurité en présence d’attaques. En tant que tel, le protocole a une tolérance intégrée 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, le protocole est garanti sécurisé dans le cadre dit synchrone (c’est-à-dire avec de fortes garanties sur les délais de livraison des messages) tant que plus de 51 % de la mise est contrôlée par des participants honnêtes (c’est-à-dire ceux qui suivent le protocole).

Un chef de créneau est élu pour chaque créneau, qui est chargé d’ajouter un bloc à la chaîne et de le transmettre au chef de créneau suivant. Pour se protéger contre les tentatives contradictoires de subvertir le protocole, chaque nouveau leader de créneau doit considérer les derniers blocs de la chaîne reçue comme transitoires : seule la chaîne qui précède le nombre prédéfini de blocs transitoires est considérée comme réglée. C’est ce qu’on appelle aussi le délai de règlement. Entre autres choses, cela signifie qu’une partie prenante peut se déconnecter et être toujours synchronisée avec la blockchain, tant que ce n’est pas plus que le délai de règlement.

Au sein du protocole Ouroboros, chaque nœud du réseau stocke une copie du mempool de transaction – où les transactions sont ajoutées si elles sont cohérentes avec les transactions existantes – et la blockchain. La blockchain stockée localement est remplacée lorsque le nœud prend connaissance d’une chaîne alternative valide plus longue.

L’inconvénient d’Ouroboros Classic était qu’il était sensible aux attaquants adaptatifs - une menace importante dans un environnement réel qui a été résolu avec Ouroboros Praos - et n’avait aucun moyen sûr pour un nouveau participant de démarrer à partir de la blockchain, ce qui a été résolu avec Ouroboros. Genèse.

Ouroboros BFT

Ouroboros BFT est venu ensuite, dérivé comme un simple cas particulier de l’analyse de Classic. Ouroboros BFT (Byzantine Fault Tolerance) est un protocole simple qui a été utilisé par Cardano lors du redémarrage de Byron , qui était la transition de l’ancienne base de code Cardano vers la nouvelle. Ouroboros BFT a aidé à préparer le réseau de Cardano pour la libération de Shelley et, avec cela, sa décentralisation.

Plutôt que d’exiger que les nœuds soient en ligne tout le temps, Ouroboros BFT a supposé un réseau fédéré de serveurs et une communication synchrone entre les serveurs pour construire la blockchain. Dans ce cadre fédéré, c’est un protocole de consensus qui séduit par sa simplicité et son caractère déterministe. Il convient de noter que BFT nécessitait une plus grande fraction de parties honnêtes que les autres versions d’Ouroboros.

Ouroboros Praos

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

Comme avec Ouroboros Classic, Ouroboros Praos traite les blocs de transaction en divisant les chaînes en créneaux, qui sont agrégés en époques. Contrairement à Ouroboros Classic, cependant, Praos est analysé dans un cadre semi-synchrone et est sécurisé 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 d’un leader privé et à des signatures évolutives sécurisées vers l’avant, Praos offre un meilleur caractère aléatoire d’époque et garantit qu’un adversaire puissant ne peut pas prédire le prochain leader du slot et lancer une attaque ciblée (telle qu’une attaque DDoS) pour subvertir le protocole. Praos est également capable de tolérer les retards de livraison des messages contrôlés par la confrontation et la corruption progressive des participants individuels dans une population de parties prenantes en évolution, ce qui est essentiel pour maintenir la sécurité du réseau dans un contexte mondial, à condition qu’une majorité honnête de participation soit maintenue.

Ouroboros Genèse

Ensuite, il y a Ouroboros Genesis. Genesis améliore encore Ouroboros Praos en ajoutant une nouvelle règle de sélection de chaîne, qui permet aux parties de démarrer à partir d’un bloc de genèse - sans, de manière significative, avoir besoin de points de contrôle fiables ou d’hypothèses sur la disponibilité passée. Genesis fournit également la preuve de la composabilité universelle du protocole, qui démontre que le protocole peut être composé avec d’autres protocoles dans des configurations arbitraires dans un environnement réel, sans perdre ses propriétés de sécurité. Cela contribue de manière significative à sa sécurité et à sa pérennité, ainsi qu’à celles des réseaux qui l’utilisent.

Ouroboros Crypsineux

Ouroboros Crypsinous équipe Genesis de propriétés préservant la vie privée. Il s’agit du premier protocole de chaîne de blocs de preuve de participation formellement analysé qui préserve la confidentialité, qui assure la sécurité contre les attaques adaptatives tout en maintenant de solides garanties de confidentialité en introduisant une nouvelle technique d’évolution des pièces reposant sur les SNARK et le cryptage sécurisé à clé privée. Crypsinous n’est actuellement pas prévu pour être implémenté sur Cardano, mais il peut être utilisé par d’autres chaînes pour augmenter les paramètres de préservation de la confidentialité.

Ouroboros Chronos

Le dernier mais non le moindre est Ouroboros Chronos . Chronos atteint deux objectifs : premièrement, il montre comment les protocoles de blockchain peuvent synchroniser les horloges en toute sécurité via un nouveau mécanisme de synchronisation de l’heure et devenir ainsi indépendants des services de temps externes. Deuxièmement, il s’agit d’un protocole de chaîne de blocs cryptographiquement sécurisé qui fournit en outre une source de temps cryptographiquement sécurisée à d’autres protocoles. En bref, Chronos rend le registre plus résistant aux attaques qui ciblent les informations temporelles.

D’un point de vue applicatif, Chronos peut considérablement augmenter la résilience des infrastructures critiques de télécommunications, de transport et autres infrastructures informatiques qui nécessitent la synchronisation de l’heure locale avec une horloge réseau unifiée qui n’a pas de point de défaillance unique.

L’avenir d’Ouroboros

Ouroboros, du nom du symbole de l’infini, est l’épine dorsale de l’écosystème Cardano. Le protocole sert de base et de point de départ pour les systèmes d’auto-propagation qui se transforment et se développent de manière cyclique, supplantant les systèmes existants - financiers et autres - et désintermédiant les structures de pouvoir sur lesquelles ils reposent. C’est le début d’une nouvelle norme, définie non pas depuis le centre mais plutôt depuis les marges.

Actuellement, Cardano opère sur la base d’Ouroboros Praos. Genesis est mis en œuvre pour 2022, après quoi le grand livre sera mis à niveau pour prendre en charge Ouroboros Chronos.

Son avenir est comme son passé : un effort inlassable pour explorer, itérer, optimiser et conduire un changement positif grâce à une recherche rigoureuse. Chaque étape du parcours d’Ouroboros est une nouvelle évolution, qui nous rapproche de la vision d’un monde plus juste, plus sûr et plus durable.

Source : https://www.essentialcardano.io/article/from-classic-to-genesis-the-implementations-of-ouroboros-explained