Écrit par : Babywhale, Foresight News

La série de solutions techniques lancées par l'équipe de développement de Cosmos a toujours été populaire auprès de l'équipe de développement Web3. Qu'il s'agisse du SDK Cosmos ou d'IBC, bon nombre de ces solutions ont aidé les développeurs à résoudre le problème de réinventer la roue.

Bien que Cosmos ait apporté de nombreux produits au Web3, son jeton ATOM principal n'a pas bénéficié de l'expansion de l'écosystème Cosmos. Mais lors de la conférence Cosmoverse de l’année dernière, la publication du livre blanc Cosmos 2.0 a apporté une valeur supplémentaire à ATOM, notamment en assurant la sécurité de la « chaîne de consommation » pour collecter les frais et capturer les revenus MEV. En termes simples, si Cosmos 2.0 est pleinement réalisé, ATOM bénéficiera également de l'expansion continue de l'écosystème Cosmos, le problème restant est donc maintenant de réaliser le développement de Cosmos 2.0 dès que possible et d'étendre davantage l'écosystème Cosmos.

Le mois dernier, la Fondation Interchain, qui vise à promouvoir le développement de l'écosystème Cosmos, a rendu public le plan de développement de la stack Interchain en 2024. Cette feuille de route vise à atteindre quatre objectifs stratégiques :

  • Augmenter la modularité en généralisant les logiciels pour s'adapter plus facilement à des cas d'usage spécifiques ;

  • Améliorer l'expérience du développeur pour faciliter la construction avec Interchain Stack ;

  • Remboursez la dette technique pour pouvoir progresser plus rapidement ;

  • Favorisez l’adoption par les utilisateurs.

Il existe de nombreux projets qui pourraient changer votre jugement sur les perspectives de développement de Cosmos et d'ATOM.

ComèteBFT

CometBFT est le moteur de réplication de la machine à états Interchain pour garantir que les validateurs du réseau s'accordent sur la génération de blocs, garantissant ainsi la sécurité et la cohérence du réseau blockchain.

La Fondation Interchain affirme que son objectif est de développer Interchain en élargissant la portée et l'applicabilité de CometBFT pour aider à créer des applications interopérables souveraines. De plus, les piles de biens publics inter-chaînes, y compris CometBFT, devront atteindre de nouveaux niveaux de flexibilité et de modularité pour s'adapter à la différenciation croissante des applications dans l'inter-chaîne, fournir des services de niveau institutionnel et rivaliser de multiples manières.

La Fondation Interchain a publié CometBFT v0.34 en février 2023, suivi de la v0.37 en mars, qui comprenait la première partie d'ABCI++. La version candidate v0.38 a été publiée fin mars, et constitue la dernière partie d'ABCI++ que la Fondation Interchain intégrera dans le SDK Cosmos et IBC-go avant la publication de la version finale.

La Fondation Interchain prévoit de publier la v0.39, qui est en préparation, avant fin 2023. Ses mises à jour incluent des améliorations d'efficacité (réduction de la bande passante et de la consommation de stockage), l'API Data Companion qui inclura à terme des indexeurs et des sous-systèmes RPC, etc. et devrait sortir en 2024 Sortie en début d'année, cette version peut aussi être appelée v1.

Quant à ce qu’est ABCI++, commençons par ABCI. ABCI est l'interface entre les applications et le consensus. Sa fonction principale est d'exécuter des blocs déterminés par consensus. Avec ABCI, les applications interagissent uniquement avec le consensus pour la prise de décision et ont peu de contrôle sur les transactions sélectionnées dans le pool de mémoire. ABCI++ ajoute la programmabilité à chaque étape du consensus, permettant aux applications de réorganiser, modifier, rejeter, retarder ou ajouter des transactions, ainsi que de réduire le temps de production de blocs en introduisant la possibilité d'optimiser la production de blocs.

Sei utilise ABCI++ pour optimiser la production de blocs, la diffusion intelligente de blocs et l'exécution parallèle des commandes, améliorant ainsi l'efficacité du traitement des transactions en chaîne.

En résumé, CometBFT fournit une fonction de construction de blocs très personnalisée pour les chaînes basée sur ce mécanisme de consensus. Différentes chaînes peuvent développer des blocs et des méthodes de tri et d'exécution des transactions en fonction de leurs propres besoins, ce qui améliore considérablement l'optimisation au niveau de la chaîne. De plus, la Fondation Interchain a une idée très ambitieuse : permettre aux applications d'exploiter les capacités d'IBC directement via l'interface ABCI, quelle que soit la machine virtuelle, le framework ou la pile de modules utilisés dans leur développement. De cette manière, l'objectif de faire d'IBC une norme d'interopérabilité inter-chaînes entre les applications en chaîne développées sur la base du SDK Cosmos, OP Stack, Celestia, etc. peut être atteint.

Kit de développement logiciel Cosmos

En parlant du SDK Cosmos, je pense que la plupart des gens le connaissent. Cosmos SDK est une boîte à outils pour développer une blockchain ou un rollup. Il est utilisé comme outil de base pour le développement de nombreuses blockchains nouvellement lancées. En plus de nombreuses chaînes d'applications dans l'écosystème Cosmos, il comprend également Fairblock, dYdX V4, Berachain, etc.

Dans le plan de développement du SDK Cosmos, la Fondation Interchain a déclaré que la nouvelle année se concentrerait sur la modularisation et l'introduction de nouvelles fonctionnalités.

Tout d'abord, en termes de « dette technique » due, Cosmos continuera à achever le travail d'optimisation inachevé dans la couche principale comprenant le stockage, l'ABCI, et la couche comprenant les modules, le jalonnement, etc., comprenant notamment :

Stockage : performances, évolutivité.

Core : Modulaire (utiliser différents moteurs de consensus : Rollkit, Dymint, etc.) ; commutable (changer facilement de composants : stockage, différents chargeurs de modules (Wasm, FFI, gRPC et natif), clients, etc.).

Modules : faciles à prouver dans diverses machines virtuelles ; réduisent le nombre total de lignes de code ; modulaires (permettent aux développeurs d'applications de modifier la logique métier (Auth, Bank, Staking, Distribution, Mint, Slash, etc.) ;

Cryptographie : réécrivez la gestion des clés pour la rendre plus modulaire, permettant à d'autres d'utiliser des HSM personnalisés et d'introduire de nouvelles primitives cryptographiques.

Le deuxième est la modularité. La Fondation Interchain estime que le mot « modularité » a été galvaudé dans le domaine de la blockchain et se concentre sur le niveau de modularité du logiciel. La Fondation Interchain a déclaré qu'elle rendrait le SDK Cosmos plus modulaire au niveau de base au cours du second semestre de cette année et continuerait à fonctionner jusqu'en 2024, notamment :

Modularité du consensus : Modulaire (utiliser différents moteurs de consensus : Rollkit, Dymint, etc.) commutable (changer facilement de composants : stockage, différents chargeurs de modules (Wasm, FFI, gRPC et local), clients, etc.).

Stockage : permet la commutation des structures originales ; permet d'utiliser différentes structures entre les modules ;

Composabilité du module : permet aux utilisateurs de créer ou d'insérer une logique personnalisée (en fonction des commentaires des utilisateurs).

Il n'y a pas beaucoup de contenu digne d'attention dans le troisième aspect de maintenance. En ce qui concerne le quatrième plan futur, la Fondation Interchain prévoit de lancer les mises à jour suivantes :

Multilingue : chargeurs de modules (WASM, FFI, GRPC) ; intégration éventuellement plus étroite avec CosmWasm.

Mises à niveau : séparez la logique métier des modules et du VMS des mises à niveau du cœur/nœud ; activez des mises à niveau transparentes (les mises à niveau déployées avant la hauteur du bloc cible permettent la synchronisation à partir de l'état de genèse) ;

Recherche : circuits ZK pour modules de preuve ; preuves de fraude et de validité.

CosmJS

CosmJS est une bibliothèque qui aide les développeurs à intégrer des clients basés sur JavaScript à la blockchain Cosmos SDK.

La Fondation Interchain prévoit d'ajouter de nouveaux codeurs à la bibliothèque CosmJS pour améliorer l'efficacité de la bibliothèque, réduire la surcharge de code et offrir aux utilisateurs une expérience de développement rationalisée et plus professionnelle. Ces mises à jour sont conçues pour ajouter des visualisations natives, optimiser la taille des bundles, automatiser le processus d'encodage, permettre une adaptabilité multi-réseau et créer un client plus rationalisé et évolutif.

De plus, un aspect clé de ce travail consiste à exploiter la fonctionnalité codegen de Telescope pour remplacer et automatiser certains objectifs, tels que rationaliser la bibliothèque, supprimer les méthodes d'assistance codées en dur et permettre aux développeurs d'utiliser les modules et les méthodes d'assistance de leur propre choix pour personnaliser leur client. .

La plupart des plans de mise à jour de CosmJS impliquent des aspects techniques de niveau inférieur. Les lecteurs qui souhaitent connaître les détails spécifiques peuvent lire l'article original par eux-mêmes. En résumé, il comprend principalement l'encodage "Proto Visual" des informations, la mise à jour synchronisée de CosmJS et du SDK Cosmos, une optimisation plus rationalisée des packages et du code, la mise à jour de l'encodeur Amino et l'ajout de modules, l'utilisation de plusieurs adaptateurs réseau avec différentes clés et signatures, et plus encore. Clients Telescope et Helpers rationalisés et extensibles.

CosmWasm

CosmWasm est un cadre de contrat intelligent conçu pour le SDK Cosmos. D'une part, cela permet aux utilisateurs de déployer des applications décentralisées sans autorisation ; d'autre part, les développeurs de blockchain peuvent séparer leurs cycles de développement de produits du développement de blockchain, réduisant ainsi le nombre de mises à niveau du validateur et réduisant ainsi le coût d'exploitation de la blockchain. frais.

La Fondation Interchain a déclaré que grâce au modèle de chaîne d'applications utilisant CometBFT, le SDK Cosmos et la vitesse d'exécution quasi native du contrat Wasm, Cosmos résout le problème d'évolutivité et réduit les frais de transaction à quelques centimes, mais cela entraîne également que L1 soit disponible L'espace de bloc est bien plus que nécessaire. Par conséquent, CosmWasm doit être optimisé afin que davantage d'applications puissent être développées plus facilement afin d'améliorer l'utilisation des blocs, en mettant l'accent sur l'adoption d'IBC et l'intelligence des comptes.

La Fondation Interchain affirme que CosmWasm 2.0 sera livré et déployé sur la plupart des chaînes d'ici début 2024. Cela jettera les bases des ajouts de fonctionnalités dans les versions 2.1, 2.2 et 2.3 qui seront publiées courant 2024, qui comprendront :

Vérification de preuve sans connaissance. En vérifiant les preuves de connaissance nulle dans les contrats, des calculs hors chaîne sécurisés et diverses applications de confidentialité peuvent être réalisés. En ajoutant une cryptographie à courbe elliptique conviviale à l'interface de l'application, CosmWasm est prêt à servir ces applications :

  • Définir les interfaces d'application et trouver les méthodes d'implémentation appropriées;

  • Fournir un exemple d'application complète pour montrer comment utiliser l'API dans le contrat ;

  • Élaborez une base de référence et fixez les coûts du gaz.

Améliorez davantage la fonctionnalité IBC. Des cas d'utilisation avancés sont apparus qui ne sont pas possibles avec IBC et feront l'objet des mises à jour d'IBC :

  • Prise en charge complète de l'ADR-8, permettant aux contrats de réagir aux délais d'attente et aux accusés de réception des colis envoyés ;

  • Prise en charge des frais IBC, permettant aux contrats de payer leurs propres paquets ;

  • Créez des accusés de réception différés facultatifs, permettant la mise en œuvre du Packet Forward Middleware et de l'interrogation longue ICQ dans le contrat.

D'autres mises à jour orientées vers la technologie sous-jacente ou de faible importance incluent le maintien de la pile logicielle actuelle, l'amélioration de l'efficacité de l'accès au stockage, l'amélioration de l'authentification, la création d'applications IBC, l'hébergement du hackathon AwesomWasm II au printemps 2025, la documentation CosmWasm pour les développeurs DApp, l'exécution de CosmWasm. testnet pour faciliter les tests des développeurs.

Accord IBC

Le protocole Inter-Blockchain Communication (IBC) est une solution d'interopérabilité blockchain qui permet le transfert de données arbitraires entre les blockchains, ainsi qu'entre les blockchains, les applications et les contrats intelligents, de manière sécurisée et sans autorisation, pour envoyer et recevoir des données de manière transparente entre les chaînes. De janvier 2022 à février 2023, ibc-go a facilité 52 millions de transferts d'une valeur de 29 milliards de dollars. Il existe actuellement plus de 100 chaînes connectées au réseau IBC.

L’écologie IBC est très riche. En plus des applications développées par les équipes financées par l'ICF, d'autres protocoles incluent Osmosis pour les transactions inter-chaînes ; Stride et Neutron utilisant largement le middleware, l'ICA et les requêtes ; DAO a créé Polytone et Evmos a construit un précompilateur IBC pour la transmission EVM ; Injective a établi le module de flux de données Oracle.

La Fondation Interchain a déclaré qu'IBC sera mis à jour en 2024 autour de deux thèmes : l'évolutivité et la disponibilité.

Évolutivité

IBC est actuellement confronté à de nombreux défis. A ce jour, seuls le SDK Cosmos et la chaîne CometBFT utilisant ibc-go peuvent réellement utiliser le protocole IBC. De plus, il a fallu près de deux ans pour établir la première connexion à une chaîne non-Cosmos. Si chaque intégration prend autant de temps, il est tout simplement impossible de réaliser la vision de l’IBC.

De plus, les frais de maintenance associés à la mise en œuvre d'IBC et de répéteurs locaux sont importants. Outre les coûts de maintenance de la transmission IBC et de mise en œuvre de l'application, chaque connexion à une nouvelle architecture blockchain crée un relais associé et entraîne des coûts de maintenance et de développement. Les relais ne disposent actuellement d'aucun flux de trésorerie durable et doivent payer des frais de gaz et des frais d'infrastructure pour les services qu'ils fournissent, y compris des accords hors chaîne pour payer les frais d'infrastructure, les licences de fondation ou l'utilisation du module de subvention des frais Cosmos SDK.

En conséquence, les mises à jour spécifiques requises en termes d’évolutivité incluent :

  • Réduire au minimum le temps de développement requis pour l'intégration IBC ;

  • Réduisez les coûts de maintenance pour l’intégration IBC ;

  • Créez le cadre de connexion IBC de Layer1 et Rollup.

Disponibilité

ICS-20 (Token Transfer) a été le premier module d'application lancé par IBC-go en mars 2021 et est depuis lors l'application la plus utilisée. À mesure que les applications deviennent plus complexes, il devient évident que le simple envoi de jetons ne suffit pas à répondre aux besoins d’interopérabilité. Par conséquent, le champ mémo est ajouté au paquet de données ICS-20 pour envoyer d'autres données lors de l'envoi de jetons. En combinaison avec un middleware, des flux de travail plus complexes peuvent être mis en œuvre, tels que des transactions inter-chaînes et le jalonnement de liquidité en un clic. Cependant, les modèles de conception middleware spécifiés dans ICS-30 sont souvent utilisés conjointement avec des champs mémo, ce qui soulève des préoccupations courantes concernant les collisions de clés. De plus, l'empilement de plusieurs middlewares pose des problèmes de formatage correct des champs mémo, et les middlewares doivent être dans le bon ordre pour le flux de travail.

La dénomination IBC est une autre difficulté rencontrée par les développeurs car l'interface utilisateur doit afficher la dénomination dans un format lisible par l'homme, ce qui nécessite un registre tenu par chaque projet pour y parvenir. Étant donné que le chemin de circulation d'un jeton détermine la dénomination IBC résultante, les jetons arrivant à destination via différentes chaînes ou canaux ne seront pas fongibles. Certaines applications existantes exploitent un middleware de transfert de paquets pour résoudre ce problème, mais ces solutions s'appuient sur une configuration hors chaîne pour déterminer l'ID de canal depuis l'origine du jeton jusqu'à la destination. Les solutions à long terme devraient utiliser l'enregistrement en chaîne.

ICS-27, l'Interchain Account (ICA), lancé en mars 2022, ne compte actuellement que 8 chaînes adoptant la fonction de contrôleur. La conception originale nécessitait la création d'un middleware d'authentification personnalisé pour utiliser la fonctionnalité, ce qui créait un obstacle immédiat à une adoption plus large de la fonctionnalité. La refactorisation dans ibc-go v6 supprime ce besoin, cependant, ICA souffre toujours d'un certain nombre de problèmes que des solutions alternatives telles que ics-999 et polytone tentent de résoudre : manque d'ordre multicanal, atomicité dans les flux de travail multicanaux et Aucune gestion des erreurs n’est requise pour l’atomicité.

Dans l'ensemble, aucun des composants d'IBC n'est facile à apprendre et à comprendre pleinement pour les développeurs d'applications ou de chaînes. Cela se manifeste dans les décisions de conception pour les expéditeurs de paquets de confiance, qui peuvent conduire à des attaques en réclamant des largages via IBC ou en faisant confiance à un middleware. De plus, la mise à niveau vers la dernière version d'ibc-go n'est souvent pas une priorité, avec environ 60 % des chaînes utilisant des versions non prises en charge.

Compte tenu des nombreux problèmes existants mentionnés ci-dessus, les points qui doivent être améliorés de toute urgence en termes de convivialité d'IBC comprennent :

  • Améliorer l'expérience de développement des utilisateurs d'IBC - la commodité du déploiement d'applications sur une seule chaîne devrait être plus proche du déploiement d'applications inter-chaînes ;

  • En plus d'ICS-20 (transfert de jetons), des applications riches en fonctionnalités peuvent être utilisées sur IBC ;

  • Les applications développées à l'aide d'IBC devraient différer considérablement de l'utilisation d'autres protocoles.

Support de Strangelove pour la pile Interchain

Outre la Fondation Interchain, la société de développement de cryptographie Strangelove, qui a joué un rôle majeur dans la promotion et l'adoption d'IBC, a également proposé un plan pour soutenir la pile Interchain. Parmi eux, le plan d’adoption et de commercialisation d’IBC mérite particulièrement l’attention, notamment :

  • Un sous-réseau Avalanche prend en charge IBC ;

  • 8 chaînes, y compris les chaînes SDK non Cosmos, prennent en charge les clients légers WASM ;

  • 8 chaînes ont commencé à appliquer des connexions IBC de contrat à contrat ;

  • En plus de Composable, une autre parachain Polkadot est directement connectée à IBC ;

  • Ajoutez la prise en charge IBC pour NEAR ;

  • Chaîne croisée IBC entre Ethereum et Cosmos via la comèteBLS/ZK ;

  • 8 blockchains prennent en charge IBC-App et middleware ;

  • 4 chaînes prennent en charge les chaînes croisées NFT au format ICS-721 via IBC.