Vous avez probablement beaucoup entendu parler d’Ouroboros : le protocole de consensus de preuve d’enjeu révolutionnaire utilisé par Cardano. Développé comme une alternative plus économe en énergie et plus durable à la preuve de travail, sur laquelle reposent les premières crypto-monnaies – Bitcoin et, actuellement, Ethereum -, Ouroboros a été le premier protocole de consensus de blockchain à être développé dans le cadre d’une recherche évaluée 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 du monde, en toute sécurité et à grande échelle.
Pourtant, la reconnaissance commence par l’éducation. Cet article présente une vue d’ensemble du fonctionnement d’Ouroboros. Il examine les éléments tangibles et couvre ce que chaque implémentation introduit, afin de permettre à la communauté de mieux comprendre le protocole et d’illustrer pourquoi il change la donne. Une analyse détaillée de chaque mise en œuvre est disponible dans les documents correspondants ci-dessous. Pour une explication générale d’Ouroboros et de ses implémentations, lisez ce qui suit.
- Ouroboros Classic
- Ouroboros BFT
- Ouroboros Praos
- Ouroboros Genesis
- Ouroboros Crypsinous
- Ouroboros Chronos
Un mot sur les protocoles de consensus, et pourquoi Ouroboros est différent
Il est raisonnable de supposer que toute personne nouvellement arrivée dans cet espace peut être déroutée 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égit le comportement des grands livres distribués : un ensemble de règles selon lesquelles chaque participant au réseau joue pour parvenir à un accord avec tous les autres.
Les blockchains publiques ne sont pas contrôlées par une autorité unique et centrale. Au lieu de cela, un protocole de consensus est utilisé pour permettre aux participants du réseau distribué de se mettre d’accord sur l’historique du réseau capturé sur la blockchain – pour atteindre 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 des participants qu’ils 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 avoir recours à un intermédiaire ou à un échange préalable de données personnelles.
Ouroboros est un protocole de preuve d’enjeu, qui se distingue de la preuve de travail. Plutôt que de compter sur les “mineurs” pour résoudre des équations complexes pour créer de nouveaux blocs – et récompenser le premier à le faire – la preuve d’enjeu sélectionne les participants (dans le cas de Cardano, les pools d’enjeu) pour créer de nouveaux blocs en fonction de l’enjeu qu’ils contrôlent dans le réseau.
Les réseaux utilisant Ouroboros sont plusieurs fois plus efficaces sur le plan énergétique que ceux utilisant la preuve de travail – et, grâce à Ouroboros, Cardano est en mesure d’atteindre une efficacité énergétique inégalée. En 2022, le bitcoin, par exemple, nécessite 204,50 TWh par an, ce qui est comparable à la consommation électrique de la Thaïlande. Ouroboros, quant à lui, peut fonctionner sur un Raspberry Pi, dont la consommation d’énergie est de 15 à 18W (watts). La différence de consommation d’énergie qui en résulte peut être comparée à celle qui existe entre un ménage et un pays : l’un peut être adapté au marché de masse, l’autre non.
Voyons maintenant de plus près comment fonctionne le protocole Ouroboros et ce que chaque nouvelle mise en œuvre apporte.
Ouroboros classique
Commençons par Ouroboros : la première mise en œuvre du protocole Ouroboros, publiée en 2017. Cette première mise en œuvre (appelée Ouroboros Classic) a jeté les bases du protocole en tant que rival économe en énergie de la preuve de travail, a présenté le cadre mathématique permettant d’analyser la preuve d’enjeu et a introduit un nouveau mécanisme d’incitation pour récompenser les participants dans un cadre de preuve d’enjeu.
Cependant, ce qui distingue Ouroboros des autres blockchains, et plus particulièrement des protocoles de preuve d’enjeu, c’est sa capacité à générer un caractère aléatoire non biaisé dans l’algorithme de sélection du leader du protocole, et les garanties de sécurité qui en découlent. Le caractère aléatoire empêche la formation de modèles et constitue 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 si Ouroboros garantit 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, chaque époque étant divisée en créneaux. Un slot est une courte période de temps au cours de laquelle un bloc peut être créé et le regroupement des slots en époques est essentiel pour ajuster le processus d’élection du leader à la distribution dynamique des enjeux.
L’élément central de la conception d’Ouroboros est qu’il doit conserver sa sécurité en présence d’attaques. Ainsi, le protocole dispose d’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, la sécurité du protocole est garantie 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 ( “slot leader” en anglais ) suivant. Pour se protéger contre les tentatives adverses de subversion du protocole, chaque nouveau chef 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 établie. C’est ce qu’on appelle le délai de règlement. Cela signifie, entre autres, qu’une partie prenante peut se déconnecter et être quand même synchronisée avec la blockchain, tant que cela ne dépasse pas le délai de règlement.
Dans le cadre du protocole Ouroboros, chaque nœud du réseau stocke une copie du mempool de transactions – où les transactions sont ajoutées si elles sont cohérentes avec les transactions existantes – et 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’Ouroboros Classic était qu’il était sensible aux attaquants adaptatifs – une menace importante dans un cadre réel qui a été résolue avec Ouroboros Praos – et n’avait pas de moyen sûr pour un nouveau participant de démarrer à partir de la blockchain, ce qui a été résolu avec Ouroboros Genesis.
Ouroboros BFT
Ouroboros BFT est venu ensuite, dérivé comme un simple cas spécial de l’analyse de Classic. Ouroboros BFT (Byzantine Fault Tolerance) est un protocole simple qui a été utilisé par Cardano pendant le reboot 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 Cardano à la sortie de Shelley et, avec cela, à sa décentralisation.
Plutôt que d’exiger que les nœuds soient en ligne en permanence, 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 est attrayant en raison de sa simplicité et de sa nature déterministe. Il convient de noter que BFT a nécessité une fraction plus importante de parties honnêtes que les autres versions d’Ouroboros.
Ouroboros Praos
Ouroboros Praos s’appuie sur – et fournit des améliorations substantielles de sécurité et d’évolutivité à – Ouroboros Classic.
Comme pour Ouroboros Classic, Ouroboros Praos traite les blocs de transaction en divisant les chaînes en slots, qui sont agrégés en époques. Cependant, contrairement à Ouroboros Classic, Praos est analysé dans un cadre semi-synchrone et est sécurisé contre les attaquants adaptatifs.
Il suppose deux possibilités : que les adversaires peuvent retarder les messages des participants honnêtes pendant plus d’un slot, et qu’un adversaire peut envoyer des messages arbitraires à n’importe quel participant à tout moment.
Grâce à la sélection du leader privé et à des signatures évolutives sécurisées vers l’avant, Praos fournit un meilleur caractère aléatoire de l’époque et garantit qu’un adversaire puissant ne peut pas prédire le prochain leader de 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 l’adversaire et la corruption progressive des participants individuels dans une population d’intervenants en évolution, ce qui est essentiel pour maintenir la sécurité du réseau dans un cadre mondial, à condition qu’une majorité honnête d’intervenants soit maintenue.
Ouroboros Genesis
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, nécessiter le besoin de points de contrôle de confiance ou des 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 cadre réel, 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.
Ouroboros Crypsinous
Ouroboros Crypsinous dote Genesis de propriétés de préservation de la vie privée. Il s’agit du premier protocole blockchain de preuve d’enjeu préservant la vie privée formellement analysé, 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 de monnaie reposant sur les SNARK et le chiffrement sécurisé par 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 des paramètres de préservation de la vie privée accrus.
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 de manière sécurisée via un nouveau mécanisme de synchronisation du temps et devenir ainsi indépendants des services de temps externes. Deuxièmement, il s’agit d’un protocole blockchain sécurisé sur le plan cryptographique qui fournit en outre une source de temps sécurisée à d’autres protocoles. En bref, Chronos rend le registre plus résistant aux attaques qui ciblent les informations temporelles.
Du point de vue des applications, Chronos peut considérablement renforcer 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 de réseau unifiée sans point de défaillance unique.
L’avenir d’Ouroboros
Ouroboros, qui tire son 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 à des systèmes autopropagés 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 depuis les marges.
Actuellement, Cardano fonctionne sur la base d’Ouroboros Praos. Genesis est en cours d’implémentation pour 2022, après quoi la blockchain sera mise à niveau pour supporter Ouroboros Chronos.
Son avenir est à l’image de son passé : un effort inlassable pour explorer, itérer, optimiser et conduire des changements positifs grâce à une recherche rigoureuse. Chaque étape du voyage d’Ouroboros est une nouvelle évolution, qui nous rapproche de la vision d’un monde plus juste, plus sûr et plus durable.
Ce post est une version traduction de : From Classic to Chronos: the implementations of Ouroboros explained - IOHK Blog
Il a été publié ici : Ouroboros expliqué : de la version classique à Chronos - Cardanologie