Cosmos

Cosmos est un cadre modulaire à venir et une plateforme de blockchain basée sur Tendermint conçue comme un écosystème pour les blockchains spécifiques à une application à brancher.

Cosmos est conçu autour du concept de standardisation de la communication entre diverses blockchains qui font partie de son écosystème plus large pour faciliter l’interopérabilité.

Le projet est sans aucun doute ambitieux, et le réseau principal devrait être publié dans le courant de 2019. Tendermint est unique en ce qu’il fonctionne comme un cadre multi-chaînes pour d’autres blockchains, tout en utilisant son propre consensus – Proof-of-Stake (PoS) – basé sur le noyau Tendermint.

Cosmos

L’évolutivité et l’interopérabilité sont deux des développements les plus importants pour la sphère plus large de la crypto-monnaie, et Cosmos répond à la fois.

Cependant, l’amorçage d’un réseau PoS innovant et prêt pour la production avec quelques nuances sophistiquées est extrêmement difficile, d’autant plus que les réseaux de consensus PoS à grande échelle ne sont pas encore prouvés comme durables..

Contexte sur le cosmos

Le développement de Cosmos est soutenu par la société suisse Fondation Interchain, avec Cosmos étant leur premier projet. De nombreux développeurs travaillant sur Cosmos appartiennent à la société derrière le moteur de blockchain Tendermint sous-jacent, All in Bits.

Notamment, Jae Kwon – qui initialement proposé Tendermint en 2014 – est l’un des principaux développeurs et est membre du conseil d’administration de la Fondation Interchain.

Cosmos s’est élevé à peu près 16,8 millions de dollars dans son ICO qui a pris fin en avril 2017. Depuis, le projet a subi un processus de développement méthodique. Le Jeu d’enjeux (GoS) testnet devrait être mis en ligne sous peu, suivi d’un audit de la publication récente SDK et le lancement éventuel du réseau principal. Plus de détails sont disponibles sur leur feuille de route.

Détails techniques

Cosmos est un cadre modulaire permettant aux chaînes de blocs parallèles de se connecter au hub principal appelé Cosmos Hub. Le Cosmos Hub est la première blockchain du réseau et sert de moyen de connexion entre les différentes zones du système.

Les zones sont constituées de blockchains privées et publiques qui sont toutes interconnectées via le protocole Inter-Blockchain Communication (IBC).

Crédit d’image – Blog Cosmos

Cosmos est construit sur le moteur Tendermint, qui est composé de deux parties principales:

  1. Tendermint Core – Moteur de consensus BFT Proof-of-Stake
  2. Application BlockChain Interface (ABCI) – réplication BFT de dapps dans plusieurs langages de programmation.

Tendermint core sous-tend le consensus du Cosmos Hub, et par la suite du réseau plus large pour gérer un échange standardisé de jetons entre les zones. Il est important de noter que les blockchains branchés sur Cosmos conservent leur souveraineté consensuelle et ne la renoncent pas au consensus plus large de Cosmos PoS..

Qu'est-ce que Tendermint

Lire: Qu’est-ce que Tendermint?

L’ABCI est indépendant du langage et permet aux développeurs de créer la partie application de leur blockchain dans n’importe quelle langue, et il fonctionnera au-dessus du moteur de consensus Tendermint.

L’ABCI est une frontière vitale entre le moteur de consensus Tendermint et le SDK Cosmos pour la création d’applications. Le SDK est un cadre en couches construit sur l’existence de bas niveau de l’ABCI pour permettre aux développeurs de créer des applications avancées sans avoir à naviguer dans les complexités logiques de l’environnement de bas niveau.

Cosmos définit les trois couches conceptuelles d’une blockchain comme:

  1. Mise en réseau – Propagation des transactions (c.-à-d. Protocole de potins)
  2. Consensus – Accord de nœud de validation sur les transactions
  3. Application – Mise à jour de l’état des transactions et traitement des transactions

Tendermint associe les couches réseau et consensus pour permettre aux développeurs de créer des blockchains et d’exécuter des applications beaucoup plus facilement sur un moteur générique. C’est l’un des concepts fondamentaux de Cosmos qui lui permet de fonctionner comme un environnement dans lequel se connecter des blockchains parallèles. Les développeurs doivent se concentrer uniquement sur la couche application.

Le ABCI est l’interface entre le noyau Tendermint emballé (couches réseau et consensus) et la couche application. Il est important de noter que l’ABCI utilise un protocole de socket pour permettre au moteur de consensus de gérer l’état de l’application s’exécutant dans un autre processus de consensus. Selon la documentation Cosmos:

«Cosmos peut ainsi prendre en charge une grande variété de devises et de langages de script comme ceux que l’on trouve dans Bitcoin, Ethereum, ZeroCash, CryptoNote, etc.

Le noyau Tendermint sous-jacent est très flexible et compatible avec les blockchains publiques et privées. De plus, les développeurs peuvent profiter de la finalité quasi instantanée et des hautes performances de Tendermint, qui est conçu pour évoluer.

L’IBC est le protocole de communication normalisé à travers le réseau. La normalisation est puissante et permet une interopérabilité et une évolutivité améliorée (c’est-à-dire les protocoles Internet). L’IBC est un ensemble de sémantiques pour la messagerie entre blockchains avec des algorithmes de consensus indépendants. Selon le référentiel Cosmos SDK Github:

«Le protocole IBC de base est indépendant de la charge utile. En plus d’IBC, les développeurs peuvent implémenter la sémantique d’une application particulière, permettant aux utilisateurs de transférer des actifs précieux entre différentes blockchains tout en préservant les garanties contractuelles de l’actif en question – telles que la rareté et la fongibilité pour une monnaie ou l’unicité globale pour un minou numérique -chat.”

IBC nécessite que les blockchains avec une finalité rapide – telles que les blockchains PoS – soient prises en charge nativement parmi les blockchains de connexion. Cependant, l’IBC peut être implémenté avec une blockchain de zone de cheville qui a un consensus plus lent – comme PoW – décrite avec Ethermint ci-dessous. Plus de détails sur l’IBC sont disponibles dans son papier de spécification.

L’IBC est nativement pris en charge par les zones basées sur Tendermint et facilite un format standardisé pour les transferts de jetons à travers le réseau, entre différentes blockchains. Ceci est similaire à un protocole d’échange atomique universel au sein du réseau. Il est important de distinguer que l’IBC n’est pris en charge nativement que par les chaînes de blocs basées sur Tendermint ainsi que par celles qui ont des algorithmes de consensus à finalité rapide, y compris des variantes de PoS.

Ethermint est écrit en Go et sera la première zone d’ancrage qui est une implémentation de la machine virtuelle Ethereum (EVM) au-dessus du moteur Tendermint. Cosmos permet cela en tirant parti de l’ABCI du protocole Tendermint qui permet aux applications dans n’importe quelle langue d’être exécutées sur le moteur Tendermint.

Dans ce cas, ils ont répliqué la base de code Ethereum et rendu Cosmos entièrement compatible avec l’interface Web3 d’Ethereum. Les développeurs peuvent même utiliser Truffe pour porter des applications et des contrats intelligents directement vers Cosmos.

Construire des applications au-dessus d’une blockchain est une tâche difficile. Les cadres d’application fournissent les ressources et les outils indispensables pour faciliter une meilleure expérience de développement et c’est pourquoi Cosmos a récemment lancé son SDK.

Le SDK Cosmos

Le SDK Cosmos est un framework ABCI écrit en Golang et est conçu pour soutenir le développement de blockchains PoS multi-actifs, de blockchains Proof-of-Authority (PoA) et d’applications en plus.

L’objectif principal du SDK est de réduire la complexité de la construction de l’ABCI pour la fonctionnalité de blockchain commune et de permettre aux développeurs de se concentrer sur des applications personnalisables dans un cadre standardisé..

La structure modulaire du SDK est superposée à l’ABCI de bas niveau et fournit une suite d’outils et de ressources pour les développeurs. Il a été construit pour Gaia, la première implémentation du Hub Cosmos et le lancement du réseau principal suivront un audit du code SDK ainsi que l’achèvement du testnet Game of Stakes PoS.

Crédit d’image – Blog Cosmos

Le SDK est construit à l’aide de principes de capacité d’objet pour une sécurité optimale contre les modules tiers potentiellement malveillants que les développeurs utilisent lorsqu’ils créent leurs modules dans le cadre du cadre ouvert du SDK.

Cosmos fournit des ressources étendues sur leur SDK dans le Documentation du SDK pour les développeurs qui souhaitent avoir une longueur d’avance dans la création d’applications sur la plate-forme une fois qu’elle sera mise en ligne.

Lotion JS est le framework alternatif Cosmos SDK qui est construit en JavaScript et permet aux applications blockchain d’être créées dans le langage. Il est beaucoup plus petit que le framework SDK et est conçu comme une base pour des modules ciblés à construire au-dessus de.

L’avenir de l’interopérabilité

L’interopérabilité avec les blockchains est considérée comme la prochaine étape naturelle pour l’industrie après l’évolutivité. Cependant, des projets comme Cosmos qui sont conçus pour évoluer à partir du lancement en tant que cadres interopérables offrent des aperçus intrigants sur ce à quoi pourrait ressembler un futur paysage de blockchains interopérables..

Déterminer comment Cosmos se déroulera est extrêmement difficile, en particulier compte tenu de sa dépendance au consensus PoS et des résultats en attente de son réseau de test Game of Stakes. Le PoS est notoirement difficile à raisonner et est prédisposé à un subjectif interprétation de l’immuabilité.

Le calendrier du lancement de Cosmos sur le réseau principal est incertain, mais avec Polkadot – un cadre multi-chaînes similaire – pourrait fournir une mesure utile dans les mécanismes de la communication standardisée et des échanges de jetons entre les blockchains.

En cas de succès, Cosmos offrira un environnement entièrement nouveau aux développeurs et aux utilisateurs pour lancer et interagir avec des applications évolutives et décentralisées..