Actu-crypto

🔒
❌ About FreshRSS
There are new articles available, click to refresh the page.
Before yesterdayblogchain café

Cosmos : Tendermint et le Hub

July 19th 2019 at 15:49

Suite à l’article introductif sur Cosmos, nous allons approfondir certains points en une série de 4 articles.

Dans ce premier article détaillé nous développerons :

  • Les différents composants de Tendermint
  • Le Hub Cosmos
  • Les zones de Cosmos
  • La communication inter-blockchain

Rappelons tout d’abord que Cosmos est un réseau de blockchains indépendantes, appelées zones, alimentées et soutenues par Tendermint Core, un moteur de consensus de type PBFT à haute performance et sécurisé. Un algorithme de consensus pour toutes les zones qui assure une bonne scalabilité des blockchains connexes.

La première zone sur Cosmos s’appelle le Cosmos Hub. Très attendue elle a été lancée en Mars 2019. Le Cosmos Hub est une crypto-monnaie de preuve d’enregistrement multi-actifs avec un mécanisme de gouvernance simple qui permet au réseau de s’adapter et de se mettre à niveau. De plus, le hub Cosmos peut être étendu en connectant d’autres zones.

Le concentrateur et les zones du réseau Cosmos communiquent entre eux via un protocole de communication inter-blockchain (IBC), une sorte de protocole UDP ou TCP virtuel pour les chaînes de blocs. Les jetons peuvent être transférés d’une zone à une autre rapidement et en toute sécurité, sans qu’il soit nécessaire de disposer de liquidités d’échange entre zones. Au lieu de cela, tous les transferts de jetons entre zones passent par le hub Cosmos, qui enregistre le nombre total de jetons détenus par chaque zone. Le concentrateur isole chaque zone de la défaillance d’autres zones. Étant donné que tout le monde peut connecter une nouvelle zone au Cosmos Hub, les zones permettent une compatibilité future avec les nouvelles innovations de la chaîne de blocs.

Tendermint

Dans cette section, nous décrirons le protocole de consensus Tendermint et l’interface utilisée pour créer des applications avec ce protocole. Pour plus de détails, voir l’annexe .

VALIDATEURS

Dans les algorithmes byzantins classiques à tolérance de pannes (BFT), chaque nœud a le même poids. Dans Tendermint, les nœuds ont un pouvoir de vote non négatif, et les nœuds ayant un pouvoir de vote positif sont appelés des validateurs. Les validateurs participent au protocole de consensus en diffusant des signatures cryptographiques, ou votes, afin de convenir du bloc suivant.

Les pouvoirs de vote des validateurs sont déterminés à la genèse ou sont modifiés de manière déterministe par la blockchain, en fonction de l’application. Par exemple, dans une application de preuve de participation telle que le Cosmos Hub, le nombre de voix au vote peut être déterminé par le nombre de jetons de jalonnement cautionné.

REMARQUE: Les fractions comme ⅓ se rapportent à des fractions du nombre total de voix attribuées, jamais au nombre total de validateurs, à moins que tous les validateurs aient le même poids. > Signifie “plus que”, ≥⅓ signifie “au moins”.

CONSENSUS

Tendermint est un protocole de consensus BFT partiellement synchrone dérivé de l’algorithme de consensus DLS [20] . Tendermint se distingue par sa simplicité, ses performances et son sens des responsabilités. Le protocole nécessite un ensemble connu de validateurs fixes, chaque validateur étant identifié par sa clé publique. Les validateurs tentent de parvenir à un consensus sur un bloc à la fois, un bloc étant une liste de transactions. Le vote pour un consensus sur un bloc se déroule en tour. Chaque tour a un chef de file, ou un proposant, qui propose un bloc. Les validateurs votent ensuite, par étapes, sur l’opportunité d’accepter le bloc proposé ou de passer au tour suivant. Le proposant pour un tour est choisi de manière déterministe dans la liste ordonnée de validateurs, proportionnellement à leur pouvoir de vote.

Les détails complets du protocole sont décrits ici.

La sécurité de Tendermint découle de son utilisation de la tolérance aux pannes byzantine optimale via un vote à la super-majorité (> ⅔) et un mécanisme de verrouillage. Ensemble, ils s’assurent que :

  • ≥⅓ le droit de vote doit être byzantin pour causer une violation de la sécurité lorsque plus de deux valeurs sont commises.
  • Si un groupe de validateurs réussit à violer la sécurité, ou même tente de le faire, il peut être identifié par le protocole. Cela inclut à la fois le vote pour des blocs en conflit et la diffusion de votes non justifiés.

Malgré ses fortes garanties, Tendermint offre des performances exceptionnelles. Sur les benchmarks de 64 nœuds répartis sur 7 centres de données sur 5 continents, sur des instances de cloud computing standard, Tendermint Consensus peut traiter des milliers de transactions par seconde, avec des latences de validation de l’ordre de une à deux secondes. Il est à noter que la performance de plus de mille transactions par seconde est maintenue même dans des conditions de confrontation sévères, les validateurs bloquant ou diffusant des votes conçus de manière malveillante. Voir la figure ci-dessous pour plus de détails.

Figure de la performance de débit de Tendermint

CLIENTS LÉGERS

L’un des principaux avantages de l’algorithme de consensus de Tendermint est la sécurité simplifiée des clients légers, ce qui en fait un candidat idéal pour les cas d’utilisation mobile et d’Internet des objets. Alors qu’un client Bitcoin light doit synchroniser les chaînes d’en-têtes de bloc et trouver celui qui contient le plus de preuves de travail, les clients Tendermint light doivent uniquement suivre les modifications apportées à l’ensemble des validateurs, puis vérifier les >⅔ PreCommits du dernier bloc pour déterminer le dernier état.

Les épreuves de client léger succinctes permettent également la communication entre les chaînes de blocs.

PRÉVENIR LES ATTAQUES

Tendermint dispose de mesures de protection pour empêcher certaines attaques notables, telles que la double dépense à long terme et rien en jeu et la censure. Celles-ci sont développées plus en détail en annexe.

ABCI

L’algorithme de consensus Tendermint est implémenté dans un programme appelé Tendermint Core. Tendermint Core est un «moteur de consensus» indépendant de toute application et capable de transformer toute application Blackbox déterministe en une chaîne de blocs répliquée de manière distribuée. Tendermint Core se connecte aux applications de la blockchain via l’interface ABCI (Application Blockchain Interface) [17]. ABCI est une interface qui définit la limite entre le moteur de réplication (la chaîne de blocs) et la machine à états (l’application). En utilisant un protocole de socket, nous permettons à un moteur de consensus s’exécutant dans un processus de gérer un état d’application s’exécutant dans un autre. Ainsi, ABCI permet aux applications blockchain d’être programmées dans n’importe quel langage, pas seulement le langage de programmation dans lequel le moteur de consensus est écrit. En outre, ABCI permet de remplacer facilement la couche consensus de toute pile de blockchain existante.

Nous faisons une analogie avec la célèbre crypto-monnaie Bitcoin. Bitcoin est une chaîne de blocs de crypto-monnaie dans laquelle chaque nœud conserve une base de données UTXO (Unspent Transaction Output) entièrement auditée. Si on voulait créer un système semblable à Bitcoin sur ABCI, Tendermint Core serait responsable de :

  • Partage de blocs et de transactions entre nœuds
  • Établir un ordre canonique / immuable de transactions (la blockchain)

Pendant ce temps, l’application ABCI serait responsable de

  • Maintenir la base de données UTXO
  • Validation des signatures cryptographiques des transactions
  • Empêcher les transactions de dépenser des fonds inexistants
  • Autoriser les clients à interroger la base de données UTXO

Tendermint est capable de décomposer la conception de la blockchain en proposant une API très simple entre le processus de candidature et le processus de consensus.

Cosmos, vue d’ensemble

Cosmos est un réseau de blockchains parallèles indépendantes, toutes alimentées par des algorithmes de consensus BFT classiques tels que Tendermint 1.

La première blockchain de ce réseau sera le hub Cosmos. Le hub Cosmos se connecte à de nombreuses autres chaînes de blocs (ou zones) via un nouveau protocole de communication inter-chaînes. Le hub Cosmos suit de nombreux types de jetons et enregistre le nombre total de jetons dans chaque zone connectée. Les jetons peuvent être transférés d’une zone à une autre rapidement et en toute sécurité, sans qu’il soit nécessaire de procéder à un échange de liquide entre zones, car tous les transferts de jetons entre zones passent par le hub Cosmos.

Cette architecture résout de nombreux problèmes auxquels l’espace de la blockchain est confrontée, tels que l’interopérabilité des applications, leur évolutivité et leur évolutivité transparente. Par exemple, des zones dérivées de Bitcoind, de Go-Ethereum, de CryptoNote, de ZCash ou de n’importe quel système blockchain peuvent être connectées au Cosmos Hub. Ces zones permettent à Cosmos de s’adapter à l’infini pour répondre à la demande de transactions mondiale. Les zones conviennent également parfaitement pour un échange distribué, qui sera également pris en charge.

Cosmos n’est pas un simple grand livre distribué, et le Hub Cosmos n’est pas un jardin clos ou le centre de son univers. Nous concevons un protocole pour un réseau ouvert de grands livres distribués pouvant servir de nouvelle base pour les futurs systèmes financiers, reposant sur les principes de la cryptographie, des principes économiques sains, de la théorie du consensus, de la transparence et de la responsabilité.

TENDERMINT-BFT

Cosmos Hub est la première blockchain publique du réseau Cosmos, optimisée par l’algorithme de consensus BFT de Tendermint. Le projet open source Tendermint a été créé en 2014 pour traiter les problèmes de rapidité, d’évolutivité et d’environnement de l’algorithme de consensus de validation de travail de Bitcoin. En utilisant et en améliorant les algorithmes BFT éprouvés développés au MIT en 1988 [20], l’équipe Tendermint a été la première à démontrer de manière conceptuelle une crypto-monnaie de preuve d’enjeu qui résout le problème du non-en-jeu subi par la preuve de la première génération des crypto-monnaies telles que NXT et BitShares1.0.

Aujourd’hui, pratiquement tous les portefeuilles mobiles Bitcoin utilisent des serveurs de confiance pour leur permettre de vérifier les transactions. En effet, la validation du travail nécessite l’attente de nombreuses confirmations avant qu’une transaction puisse être considérée comme irréversiblement engagée. Des attaques à double dépense ont déjà été démontrées sur des services tels que CoinBase.

Contrairement aux autres systèmes de consensus blockchain, Tendermint offre une vérification instantanée et sécurisée du paiement des clients mobiles. Etant donné que Tendermint est conçu pour ne jamais faire de fourchette, les portefeuilles mobiles peuvent recevoir une confirmation de transaction instantanée, ce qui permet aux paiements sans confiance et pratiques de devenir une réalité sur les smartphones. Cela a également des conséquences importantes pour les applications de l’Internet des objets.

Les validateurs dans Cosmos ont un rôle similaire à celui des mineurs Bitcoin, mais utilisent plutôt des signatures cryptographiques pour voter. Les validateurs sont des machines sécurisées et dédiées, responsables de la validation des blocs. Les non-validateurs peuvent déléguer leurs jetons de jalonnement (appelés «atomes») à tous validateur afin de gagner une partie des honoraires forfaitaires et des récompenses atomiques, mais ils courent le risque de se faire punir si le validateur délégué se fait pirater ou enfreint le protocole. Les garanties de sécurité éprouvées de Tendermint BFT consensus et le dépôt de garantie des parties prenantes (validateurs et mandataires) fournissent une sécurité quantifiable et prouvable pour les nœuds et les clients légers.

LA GOUVERNANCE

Les grands livres publics distribués devraient avoir une constitution et un système de gouvernance. Bitcoin s’appuie sur Bitcoin Foundation et sur l’exploitation pour coordonner les mises à niveau, mais le processus est lent. Ethereum s’est scindé en ETH et ETC après avoir tenté de résoudre le problème de TheDAO, en grande partie parce qu’il n’existait auparavant aucun contrat social ni aucun mécanisme permettant de prendre de telles décisions.

Les validateurs et les mandataires du Cosmos Hub peuvent voter sur des propositions pouvant modifier automatiquement les paramètres prédéfinis du système (comme la limite de gaz en bloc), coordonner les mises à niveau, ainsi que voter sur les amendements à la constitution lisible par l’homme qui régissent les règles du système Cosmos Hub. La constitution permet la cohésion des parties prenantes sur des questions telles que le vol et les bugs (tels que l’incident TheDAO), permettant ainsi une résolution plus rapide et plus propre.

Chaque zone peut également avoir sa propre constitution et son propre mécanisme de gouvernance. Par exemple, le Cosmos Hub peut avoir une constitution qui impose l’immuabilité sur le Hub (pas de restauration, à l’exception des bogues de l’implémentation du nœud Cosmos Hub), tandis que chaque zone peut définir ses propres règles en matière de restauration.

En permettant l’interopérabilité entre différentes zones politiques, le réseau Cosmos offre à ses utilisateurs une liberté ultime et un potentiel d’expérimentation sans autorisation.

Le hub et les zones

Nous décrivons ici un nouveau modèle de décentralisation et d’évolutivité. Cosmos est un réseau de nombreuses blockchains alimentées par Tendermint. Alors que les propositions existantes visent à créer une «chaîne de blocs unique» avec un ordre de transaction global total, Cosmos permet à plusieurs chaînes de blocs de s’exécuter simultanément tout en maintenant l’interopérabilité.

À la base, le Cosmos Hub gère de nombreuses chaînes de blocs indépendantes appelées «zones» (parfois appelées «fragments», en référence à la technique de mise à l’échelle de la base de données appelée «partage»). Un flux constant de commits de blocs récents à partir des zones postées sur le hub permet au hub de suivre l’état de chaque zone. De même, chaque zone suit l’état du hub (mais les zones ne se suivent pas entre elles, sauf indirectement via le hub). Des paquets d’informations sont ensuite communiqués d’une zone à une autre en affichant des preuves Merkle comme preuve que les informations ont été envoyées et reçues. Ce mécanisme est appelé communication inter-blockchain, ou IBC en abrégé.

Figure de moyeu et de reconnaissance de zones

Chacune des zones peut être elle-même un concentrateur pour former un graphe acyclique, mais dans un souci de clarté, nous ne décrirons que la configuration simple comportant un seul concentrateur et de nombreuses zones autres que des concentrateurs.

LE HUB

Cosmos Hub est une blockchain qui héberge un grand livre distribué multi-ressources, dans lequel les jetons peuvent être détenus par des utilisateurs individuels ou par des zones elles-mêmes. Ces jetons peuvent être déplacés d’une zone à l’autre dans un paquet IBC spécial appelé «paquet de pièces». Le concentrateur est responsable de la préservation de l’invariance globale de la quantité totale de chaque jeton dans les zones. Les transactions par paquets de pièces IBC doivent être validées par les chaînes de blocs expéditeur, concentrateur et destinataire.

Étant donné que le hub Cosmos joue le rôle de grand livre central pour l’ensemble du système, la sécurité du hub revêt une importance primordiale. Bien que chaque zone puisse constituer une suite de chaînes Tendermint sécurisée par 4 personnes au maximum (voire moins si le consensus BFT n’est pas nécessaire), le Hub doit être sécurisé par un ensemble de validateurs globalement décentralisés pouvant résister aux scénarios d’attaques les plus sévères, tels que comme une partition de réseau continental ou une attaque parrainée par un État-nation.

LES ZONES

Une zone Cosmos est une blockchain indépendante qui échange des messages IBC avec le Hub. Du point de vue du concentrateur, une zone est un compte à signatures multiples à adhésion dynamique multi-ressources pouvant envoyer et recevoir des jetons à l’aide de paquets IBC. À l’instar d’un compte de crypto-monnaie, une zone ne peut pas transférer plus de jetons qu’elle en a, mais peut en recevoir d’autres de ceux qui en ont. Une zone peut être désignée comme «source» d’un ou de plusieurs types de jetons, ce qui lui donne le pouvoir de gonfler cette offre de jetons.

Les validateurs d’une zone connectée au hub peuvent jalonner les atomes du hub Cosmos. Tandis que des attaques à double dépense sur ces zones entraîneraient la réduction d’atomes avec la responsabilité de Tendermint, une zone où >⅔ des droits de vote sont byzantins peut commettre un état invalide. Cosmos Hub ne vérifie ni n’exécute pas les transactions validées sur d’autres zones. Il incombe donc aux utilisateurs d’envoyer des jetons aux zones auxquelles ils font confiance. À l’avenir, le système de gouvernance du Cosmos Hub pourrait donner lieu à des propositions d’amélioration du Hub prenant en compte les défaillances de zone. Par exemple, les transferts de jetons sortants de certaines (ou de toutes) zones peuvent être limités afin de permettre la coupure de circuit d’urgence des zones (arrêt temporaire des transferts de jetons) lorsqu’une attaque est détectée.

Communication inter-blockchain (IBC)

Nous allons maintenant voir comment le hub et les zones communiquent entre eux. Par exemple, s’il existe trois blockchains, «Zone1», «Zone2» et «Hub», nous souhaitons que «Zone1» produise un paquet destiné à «Zone2» passant par «Hub». Pour déplacer un paquet d’une blockchain à une autre, une épreuve est postée sur la chaîne de réception. La preuve indique que la chaîne d’envoi a publié un paquet pour la destination alléguée. Pour que cette chaîne vérifie cette épreuve, la chaîne destinataire doit pouvoir suivre les en-têtes de bloc de l’expéditeur. Ce mécanisme est similaire à celui utilisé par sidechains, qui nécessite que deux chaînes en interaction se connaissent via un flux bidirectionnel de datagrammes de preuve d’existence (transactions).

Le protocole IBC peut naturellement être défini en utilisant deux types de transactions : une IBCBlockCommitTxtransaction, qui permet à une chaîne de blocs de prouver à tout observateur son dernier bloc de hachage, et une IBCPacketTxtransaction, qui permet à une chaîne de blocs de prouver à tout observateur que le paquet donné a bien été publié par l’application de l’expéditeur, via un code Merkle-proof au récent block-hash.

En scindant les mécanismes IBC en deux transactions distinctes, nous permettons au mécanisme de marché des taxes natif de la chaîne de réception de déterminer les paquets à valider (c’est-à-dire accusés de réception), tout en laissant une totale liberté sur la chaîne d’envoi quant au nombre de paquets sortants autorisés. .

Figure des zones IBC Zone1, Zone2 et Hub sans accusé de réception

Dans l’exemple ci-dessus, pour mettre à jour le hachage de bloc de «Zone1» sur «Hub» (ou de «Hub» sur «Zone2»), une IBCBlockCommitTx transaction doit être enregistrée sur «Hub» avec le hachage de bloc de «Zone1 ”(Ou sur“ Zone2 ”avec le bloc-hash de“ Hub ”).

Voir IBCBlockCommitTx et IBCPacketTx pour plus d’informations sur les deux types de transaction IBC.

Cosmos – un bref apércu

June 14th 2019 at 14:29

Cet article est un aperçu de la blockchain Cosmos. Une mini série de 4 articles techniques vont suivre pour une plongée exhaustive dans cette plateforme qui a tout le nécessaire pour transformer sérieusement l’ecosystème blockchain dans son ensemble.

Cosmos est en mesure de faire faire le saut quantique et est un projet très attendu, conçu pour assurer l’interopérabilité entre plusieurs blockchains. Avec la création du premier bloc le Mercredi 13 Mars 2019 à 23: 00 UTC, le projet a définitivement lancé Cosmos Hub, le premier noeud d’une série de blockchains interconnectées qui seront créées dans l’écosystème.

Cosmos n’est pas la blockchain de la dernière averse et les créateurs sont parmi les tout premiers acteurs dans l’espace blockchain. Il ne s’agit pas d’une new-entry, loin de là.

La première phase du lancement du réseau Cosmos a lieu après presque trois ans de planification et de développement. Après avoir fait ses débuts avec le concept de la plate-forme d’interopérabilité des chaînes de blocs en été 2016, Cosmos a ensuite collecté plus de 16 millions de dollars grâce à une offre initiale de tokens (ICO) en Avril 2017.

Les 3 piliers de Cosmos :

  • Le développement de sa propre blockchain

Aujourd’hui, les développements d’applications décentralisées se font sur des blockchains existantes comme Ethereum. Cependant, développer son application sur sa propre blockchain peut permettre une utilisation plus optimisée.

  • L’interopérabilité entre blockchains

Actuellement, il n’est pas possible de faire communiquer deux blockchains. Cosmos rend la communication inter-blockchain possible et permettra de construire un internet de blockchains.

  • La scalabilité des blockchains

La problématique de la scalabilité est résolue par deux moyens. Tout d’abord, les applications étant développées sur leur propre blockchain, la technologie sous-jacente est optimisée ; c’est ce qu’on appelle la scalabilité verticale. Ensuite, en exploitant l’architecture multi-chain de Cosmos pour augmenter le débit de chaque application ; c’est ce qu’on appelle la scalabilité horizontale.

Tendermint

Une innovation importante apportée par Cosmos est Tendermint. Ce nouveau processus de développement fournit les couches réseau et consensus indispensable à la création d’une blockchain, permettant ainsi aux développeurs de se concentrer uniquement sur la partie application. Tendermint s’apparente donc à un moteur blockchain permettant le développement d’une application blockchain en un temps infiniment réduit.

Cosmos étant un protocole bas niveau, l’adoption de masse s’établie au travers des développement d’application grand public utilisables dans le futur.

Possibilités de Tendermint

  • Tendermint gère uniquement la mise en réseau et le consensus pour la blockchain, ce qui signifie qu’elle aide les nœuds à propager des transactions et les validateurs s’accordent sur un ensemble de transactions à ajouter à la blockchain. C’est le rôle de la couche application de définir la composition du groupe de validateurs. Les développeurs peuvent donc créer des blockchains publics et privés en plus du moteur Tendermint. Si l’application définit que les validateurs sont choisis en fonction du nombre de tokens qui leur sont liées, alors la blockchain peut être qualifiée de preuve de participation. Si toutefois l’application définit qu’un seul ensemble restreint d’entités préautorisées peuvent être des validateurs, la blockchain peut être qualifiée d’autorisée, de privée ou de proof of authority. Les développeurs ont toute liberté pour personnaliser les règles qui définissent la manière dont l’ensemble de validateurs de leur blockchain change.
  • Tendermint Core peut avoir un temps d’exécution de block de l’ordre de 1 seconde et traiter des milliers de transactions par seconde.
  • Finalité instantanée : Une propriété de l’algorithme de consensus Tendermint est la finalité instantanée, ce qui signifie que les forks ne sont jamais créés, tant que moins des deux tiers des validateurs sont malveillants (byzantin). Les utilisateurs peuvent être sûrs que leurs transactions sont finalisées dès qu’un bloc est créé.
  • Sécurité : Tendermint Consensus n’est pas seulement tolérant aux erreurs, il est optimisé pour être tolérant aux erreurs byzantines. Si la chaîne de blocs se divise, il existe un moyen de déterminer la responsabilité.

Inter-Blockchain Communication Protocol

Du point de vue de l’architecture, Cosmos n’est pas une blockchain mais un réseau de blockchains. Une multitude de blockchain font chacune tourner un ou plusieurs services décentralisés. Pour connecter les blockchains entre elles, la création du protocole appelé IBC (Inter-Blockchain Communication Protocol) permet d’établir une connexion directe et décentralisée entre deux blockchains. IBC exploite la propriété de finalité instantanée de Tendermint pour permettre à des chaînes hétérogènes d’échanger de la valeur (c’est-à-dire des tokens) les unes avec les autres. Voyons de plus près le fonctionnement d’IBC et comment il permet la création de Cosmos, un réseau de blockchains.

  • Les différentes couches : les chaînes hétérogènes peuvent avoir différentes couches, ce qui signifie qu’elles peuvent différer dans la manière dont elles implémentent les parties réseau, consensus et application. Cela fonctionne avec quelques restrictions, la principale étant que la couche de consensus doit avoir une finalité rapide. Les chaînes de proof-of-work ne font pas partie de cette catégorie, car elles ont une finalité probabiliste.
  • La souveraineté : chaque blockchain est maintenue par un ensemble de validateurs, dont le travail est de s’accorder sur le prochain bloc à s’engager dans la blockchain. Dans proof-of-work, les validateurs sont appelés mineurs. Une blockchain souveraine est une blockchain avec son propre ensemble de validateurs. Dans de nombreux cas, il est important que les blockchains soient souveraines, car les validateurs sont en dernier ressort responsables de la modification de l’état. Dans Ethereum, toutes les applications sont exécutées par un ensemble commun de validateurs. Pour cette raison, chaque demande n’a qu’une souveraineté limitée.

IBC permet aux chaînes hétérogènes d’échanger des tokens. Cela signifie que les chaînes de blocs avec différentes applications et ensembles de validateurs sont interopérables. C’est une innovation très importante, car elle donne une flexibilité maximale à chaque blockchain. Par exemple, cela permet aux chaînes publiques et privées d’échanger des tokens entre elles.

L‘architecture de Cosmos

L’architecture s’appuie sur deux types de blockchains : les Hubs et les Zones. Les Zones sont des blockchains faisant tourner une ou plusieurs services décentralisés. Les Hubs sont quant à eux, des blockchains construites spécifiquement pour connecter les Zones entre elles. Par exemple, si un utilisateur crée sa propre blockchain sur Cosmos, il n’a qu’une seule connexion à établir avec un Hub pour avoir accès à toutes les blockchains qui lui sont attachées.

Chaque blockchain dans Cosmos constitue son propre sous-écosystème indépendant des autres blockchains. C’est d’ailleurs un des principaux points forts de Cosmos. Toute blockchain peut se connecter avec les autres tout en gardant sa souveraineté. La gouvernance est spécifique à chaque blockchain. Les décisions de l’une n’impactent pas celles des autres.

Le Cosmos Hub sera la première blockchain dans le réseau Cosmos, et servira de point de connexion pour toutes les blockchains à court et moyen terme (ensuite d’autres Hubs émergeront). Cela permettra de crée une grande liquidité, synonyme de valeur.

Le premier écosystème connecté à Cosmos sera Ethereum. Cela passera par le développement de peg-zone, pour connecter la chaîne Ethereum principale, et de Ethermint, une blockchain faisant tourner la machine virtuelle de Ethereum et compatible avec IBC.

La fondation Cosmos

En avril 2017, Cosmos a réalisé une levée de fonds publique en distribuant les tokens appelés Atoms, et permettant de sécuriser le Cosmos Hub. Les fonds levés ont été alloués à une fondation appelée Interchain Foundation, dont le rôle est de garantir le développement de l’écosystème. Tendermint, est actuellement contractualisée par la fondation pour développer le Cosmos Hub, mais toute entreprise peut prétendre à être financée par la fondation sous réserve qu’elle travaille à développer l’écosystème Cosmos.

Cosmos est un écosystème multi-tokens où chaque nouvelle blockchain qui se lancera dans Cosmos créera un ou plusieurs tokens, tout en pouvant aussi importer les tokens existants comme Bitcoin ou Ether sur le réseau. Les frais de transactions pourront être payés dans une multitude de tokens dont le Photon qui sera distribué aux détenteurs d’Ether lors d’un évènement unique appelé Hard Spoon. La date du Hard Spoon sera annoncée après le lancement officiel de Cosmos.

Pour ce qui est du Cosmos Hub, la première blockchain dans Cosmos, le token principal est Atom. Les Atoms permettent de sécuriser le Hub via la preuve d’enjeu (Proof-Of-Stake). Ceux qui bloquent leurs Atoms pour participer à la sécurisation du Hub seront récompensés en Atom nouvellement créés ainsi qu’en récoltant les frais de transactions des utilisateurs du Hub. Il n’y a pas de minimum d’Atom à posséder pour participer.

Exemple de cas d’utilisation de Cosmos

Création d’une levée de fonds

Prenons l’exemple de la création d’une ICO sur Cosmos. Cette levée de fonds pourrait accepter pratiquement tous les tokens existants tout en maintenant la transparence et le stockage décentralisé des tokens par les investisseurs. Les utilisateurs seraient en mesure de participer à tous les ICO à partir d’une même plateforme hautement performante.

La construction du développement se fera sur Cosmos-SDK, ainsi l’ICO nécessite les modules suivants :

  • Staking : gérer la proof-of-work
  • Comptes et banque : pour garder une trace des tokens de chaque utilisateur
  • Gouvernance : gérer les mises à niveau et les problèmes litigieux
  • IBC : envoyer et recevoir des jetons

En tant que développeur de la levée de fonds, l’avantage d’utiliser Cosmos est que les 4 modules cités au-dessus ont déjà été codés. Ainsi, le développeur créera uniquement un module ICO pour l’application spécifique.

L’innovation de Cosmos réside en la simplicité à coder un module simple pour créer une blockchain publique complète, interopérable et évolutive. Pour finaliser la création de la levée de fonds il faut ensuite développer le front-end de l’application blockchain.

Développement du DEX

Construire un échange décentralisé sur Cosmos est assez simple. La partie blockchain de l’échange traitera du staking et de la compensation des fonds. Quant à la correspondance des commandes, elle sera toujours traitée par des opérateurs centralisés afin de permettre à l’utilisateur une simplicité et un carnet de commandes approfondi. (lien)

Dans notre exemple, l’échange décentralisé prendra en charge FIAT-token. Cependant, l’échange FIAT-token est soumis à des réglementations et ne peut donc pas être émis sur des blockchains publiques. Ainsi, le système d’échange décentralisé disposera d’une infrastructure à deux chaînes. Une chaîne privée proof-of-authority et gèrera les jetons FIAT, et l’autre sera une chaîne publique proof-of-stake pour la négociation crypto à crypto, toutes deux exécutées sur Tendermint Core. Ces deux chaînes seront connectées ensemble et au hub Cosmos via des connexions IBC.

Il reste au développeur à coder les 3 modules suivants :

  • Un module de proof-of-authority : pour avoir un validateur privé défini pour notre chaîne FIAT.
  • Un module de token FIAT : pour gérer l’émission et le transfert de tokens FIAT conformément aux réglementations.
  • Un module de règlement : pour permettre le règlement des transactions entre les tokens des deux chaînes.

Ainsi, comparé au développement et au codage d’une levée de fonds classique sur Ethereum, les modules étant déjà existants sur Cosmos, le travail du développeur et la connexion de la levée de fonds aux cryptomonnaies est simplifiée grâce au Hub.

Exemple concret de transfert de monnaie

Prenons l’exemple de 7 entreprises souhaitant créer leurs monnaies locales. Dans chaque entreprise, une blockchain serait exploitée pour gérer la monnaie locale. Construire cette blockchain sur Cosmos est travail simple grâce à l’existante des modules compte, banque et gouvernance. Il reste à construire un module de proof-of-authority pour permettre aux entreprises de gérer une chaîne privée entre elles.

Par ailleurs, si ces 7 entreprises souhaitent interagir entre elles, le déploiement d’un hub local est nécessaire. Ainsi, il existerait 7 blockchains, une dans chaque entreprise et un hub qui les relie entre elles. Tout ce que chaque blockchain doit faire est d’importer le module IBC et d’établir une connexion avec le Hub.

À ce stade, les 7 monnaies locales peuvent circuler entre elles. Si elles souhaitent implémenter le transfert de cryptomonnaies, il suffit que le Hub local établisse une connexion IBC avec le Hub Cosmos. Une fois cette connexion établie, les cryptomonnaies publiques peuvent circuler via le Hub local pour atteindre les 7 chaînes de blocs. Cette conception présente un certain avantage : si le hub Cosmos tombait en panne pour une raison quelconque, le hub local fonctionnerait toujours. Les blockchains des 7 entreprises ne seraient pas en mesure de transférer des tokens vers des blockchains connectées via le hub Cosmos, mais elles pourraient toujours effectuer des transactions entre elles via leur hub local. C’est le pouvoir d’IBC, qui permet aux chaînes de blocs d’interopérer sans perdre leur souveraineté.

Conclusion

Le potentiel des applications Cosmos est pratiquement infini. Cosmos est conçu pour être modulable, adaptable et évolutif. Quel que soit le cas d’utilisation de la blockchain, il existe des outils pour la construire simplement sur Cosmos.

❌