Initia: Empilement entrelacé et blockchain modulaire

Avancé10/13/2024, 7:49:38 PM
Cet article présente la pile Interwoven d'Initia, qui vise à soutenir un écosystème de blockchain modulaire, améliorant notamment la scalabilité et la souveraineté grâce aux Rollups optimistes. Initia fournit une plateforme L1 qui collabore avec plusieurs Minitias, ces rollups spécifiques à une application peuvent gérer indépendamment des environnements d'exécution, contrôler l'ordre des transactions et optimiser les frais de gaz. Grâce aux modules OPHost et OPChild, ainsi qu'aux Bots OPinit, une interaction transparente entre L1 et L2 est réalisée, garantissant la sécurité, la flexibilité et un transfert d'actifs efficace.

L'écosystème crypto a dû s'adapter à la nouvelle réalité - Initia est né dedans.

En tant qu'industrie, nous avons dû accepter le fait qu'une seule machine à état ne peut pas évoluer pour correspondre aux ambitions de la crypto. Augmenter le débit tout en maintenant les coûts bas pour les utilisateurs et les opérateurs, tout en recherchant un niveau acceptable de décentralisation, est une bataille presque impossible à gagner avec une approche monolithique.

La réalité est que le succès des chaînes purement monolithiques est devenu une opinion contraire. Entrez dans le débat modulaire vs monolithique, qui a pris une place centrale plus tôt cette année. Mais voici le point clé : il n'y a pas de débat du tout. L'avenir n'est pas l'un ou l'autre - c'est un mélange des deux. Un L1 rapide et programmable, associé à une suite de rollups spécifiques à l'application qui mettent en œuvre l'exécution de manière conjointe avec le L1.

Les mérites de l'approche mixte (ou comme nous aimons l'appeler, Interwoven) deviennent apparents lorsque vous regardez Solana. Au cours des six derniers mois, les équipes ont commencé à construire leurs propres "extensions réseau" personnalisées qui se règlent sur Solana. Mais attendez - Solana n'était-il pas censé gérer l'échelle par lui-même? N'est-ce pas toute leur marque?

Vous voyez, les rollups sont plus que simplement l'extension de l'exécution. Ils concernent également la souveraineté - donnant aux développeurs un contrôle total sur leur environnement d'exécution. Plus de TPS, des frais de gaz plus bas (voire nuls), le contrôle sur l'ordre et le traitement des transactions, et la propriété de l'ensemble de la pile économique de leur entreprise, pour n'en nommer que quelques-uns.

À ce stade, c'est clair : les rollups sont inévitables et ils sont là pour rester.

L'existence d'Initia est construite autour de cette thèse. Il est conçu pour accueillir un écosystème florissant de rollups entrelacés 🪢, connu sous le nom de Minitias.

L'avenir est entrelacé

Initia est conçu pour être le domicile de milliers de Minitias travaillant ensemble de concert pour fournir des applications diverses, puissantes et uniques à travers une expérience cohésive qui est entrelacée par conception.

Jusqu'à présent, deux types d'écosystèmes ont existé. Ceux spécifiquement construits pour le monde des chaînes interconnectées (Cosmos), et les seconds sont ceux qui ont parié sur les rollups post-facto (Ethereum, et maintenant Solano). Chacun avec leur approche a trouvé un certain degré de succès mais pas sans leurs échecs, qui sont des apprentissages inestimables à prendre lors de la construction du nouveau modèle d'un L1.

Initia relie ces extrêmes, c'est un L1 conçu pour soutenir un réseau de L2 interconnectés qui garantissent aux constructeurs de Minitia tout ce dont ils ont besoin pour réussir. Il a été construit dès le premier jour pour éviter le chaos en ayant des designs bien définis et en posant la question simple - que veulent réellement les L2 d'un hub ?

Sur Initia, les rollups appartiennent simplement. Il y a une alignement économique complet entre le L1 et les L2 à travers @initiafdnIntroduire VIP, la suite de produits est sacrément croustillante, et la technologie est conçue sur mesure pour garantir que les Minitias disposent d'oracles, de ponts, de liquidités, d'interopérabilité, de stables natifs, etc. dès le portail. La pile entrelacée rend super simple pour les équipes de déployer un Minitia avec la machine virtuelle de leur choix — que ce soit EVM, MoveVM, ou CosmWasm.

Maintenant, quel est le composant le plus important qui permet les rollups sur Initia? La pile entrelacée - un cadre de rollup optimiste construit à partir de zéro pour le Cosmos SDK.

Prêt à voir la magie sous le capot? Plongeons dans le framework.

La pile entrelacée

Le cadre Optimistic Rollup sur Initia se compose de trois composants qui... vous l'avez deviné, sont assez entrelacés 😛

OPHost, OPChild, et OPinit Bots se réunissent magnifiquement comme trois pièces du puzzle pour former un collectif qui alimente chaque Minita.

OPHost et OPChild sont des modules Cosmos SDK qui forment le cœur de la Stack, ce sont les parties qui vivent sur la chaîne. Étant donné que la Stack OPinit est implémentée au niveau de la chaîne plutôt qu'au niveau du contrat intelligent d'une machine virtuelle spécifique, cela nous a permis de prendre en charge plusieurs machines virtuelles et de donner aux constructeurs de Minitia la liberté de choix.

Sur Initia, les rollups sont des citoyens de premier ordre intégrés directement dans la chaîne. Cela nous a donné la flexibilité de peaufiner les implémentations et de fournir une expérience supérieure.

Le module OPHost vit sur Initia (le L1). Il est responsable de servir de base pour tous les Minitias qui s'installent sur Initia. Les tâches clés d'OPHost incluent :

  • Gérer le pont optimiste (entre le L1 et un L2) et les actifs qui y passent.
  • Supervision de la finalisation des propositions de sortie des Minitias.
  • Faisant office de tribunal pour le challenger et le proposant pour plaider leur cause.

OPChild, d'autre part, vit sur chaque Minitia. C'est comme le battement de cœur de chaque rollup, il est responsable de:

  • Gestion des opérateurs de Rollup.
  • Exécution des messages reçus de la L1.
  • Mise à jour des flux de prix de l'oracle.
  • Gérer les retraits de jetons vers le L1.

L'OPHost & l'OPChild forment ensemble le pont optimiste pour chaque Minitia. Un OPHost sur Initia agit en tant que point final du L1 pour plusieurs modules OPChild à travers de nombreuses Minitias.

Il est important de noter que, pour les rollups, le pont natif fait plus que les transferts de messages, il sert de quartier général du rollup sur le L1. En effet, deux systèmes de consensus différents ne sont pas conscients des machines d'état de l'autre, mais le pont d'un rollup agit comme source de vérité du rollup sur le L1 en soumettant des racines d'état ou une sortie similaire qui peut être vérifiée par rapport à l'état du rollup pour garantir la correction. C'est pourquoi un L1 est souvent appelé couche de règlement.

Mais maintenant, vous pouvez penser - «Qu'est-ce qui relie OPHost et OPChild? Les relais?» Non, c'est ce que font les bots OPinit! En tant qu'extension de ce qui précède, deux systèmes de consensus différents ne peuvent pas communiquer nativement entre eux sans qu'un processus hors chaîne les aide en agissant comme lien physique entre leurs machines à états isolées.

Les robots OPinit sont des processus hors chaîne qui gèrent des actions critiques entre Initia et Minitias. Il existe deux robots différents - l'Exécuteur et le Challenger. En un mot, les deux robots sont ensemble responsables de :

  • Exécution des transferts de jetons.
  • Soumission de propositions de sortie à l'Initia L1.
  • Soumission du lot de transactions à Celestia pour la disponibilité des données (DA).
  • Relayer les mises à jour du flux de prix de l'oracle vers le Minitias.

Dans le reste de l'article, nous plongerons dans la manière dont les fonctionnalités spécifiques sont implémentées dans la pile entrelacée et cela devrait vous donner une image plus claire de la façon dont toutes les pièces fonctionnent ensemble !

Transferts de jetons sur le pont Optimistic

L'un des aspects les plus importants d'un rollup est qu'il hérite de la sécurité du L1 sur lequel il se règle.

Vous savez ce qui est aussi intéressant ? Le pont natif entre un L1 et un rollup est généralement le moyen le plus sûr de transférer des actifs entre les deux. C'est parce que l'utilisation du pont natif n'introduit aucune supposition de confiance supplémentaire - vous ne faites confiance qu'aux deux chaînes impliquées.

Avant de plonger dans le fonctionnement des transferts, abordons le sujet qui fâche.

Pourquoi pas IBC?

Étant donné le fait que toutes les chaînes sur The Interwoven Stack sont construites en utilisant le Cosmos SDK, pourquoi le pont natif ne peut-il pas être simplement un canal IBC ?

Eh bien, c'est parce que les transferts IBC sont instantanés par nature et cela ne fonctionne pas avec les hypothèses de confiance de notre protocole. Un beau jour, un opérateur Minitia malveillant pourrait se réveiller et décider d'insérer malicieusement des transactions qui déplacent les soldes de INIT sur le L2 et retirer tout INIT sur leur Minitia vers le L1. Nous ne voulons pas ça, une erreur comme celle-ci serait catastrophique.

Alors que les retraits vers Initia via le pont Optimistic ont un délai de 7 jours pendant lequel le Challenger peut contester et annuler le retrait en cas de détection de comportement malveillant.

Sur Initia, nous voulons toujours garantir une expérience utilisateur fluide pour le transfert d'actifs entre Mintia et Initia L1. Pour permettre des transferts rapides depuis les L2, nous avons développé une solution sécurisée et personnalisée appelée Minitswap. Vous pouvez en savoir plus à ce sujet ici:@initiafdn\/minitswap-l2-to-l1-withdrawals-in-seconds-not-days-e6de645879b3">Minitswap — L2 to L1 Retraits en quelques secondes, pas en jours.

Dépôts de jetons (L1 → L2)

Le dépôt de jetons de Initia à Minitia est presque instantané. Voici comment cela fonctionne :

  1. L'utilisateur soumet une transaction de dépôt sur Initia, qui verrouille leurs jetons sur le L1 et déclenche un événement de dépôt du module OPHost.
  2. Le bot Executor OPinit écoute constamment les nouveaux événements sur Initia et lorsqu'il voit un événement initiate_token_deposit : \
    2.a — L'Executor construit un message de dépôt de jetons final correspondant et le soumet à la Minitia.
  3. À la réception du message, Minitia frappe les jetons correspondants sur le L2 et les envoie à l'utilisateur.

Assez simple, hein? Fait le travail sans compromettre la sécurité!

Retrait de jeton (L2 → L1)

Les retraits sont là où les choses se compliquent un peu. Alors que le dépôt de L1 à L2 est simple, l'hypothèse selon laquelle les Minitias peuvent toujours faire confiance au L1 ne fonctionne pas dans l'autre sens.

Voici pourquoi : Initia est sécurisé par un ensemble décentralisé de validateurs ayant une participation économique, mais les Minitias sont souvent exploités par un seul opérateur ou par un petit ensemble d'opérateurs, sans participation économique. Ainsi, lorsqu'un Minitia initie un retrait vers le L1, il doit prouver qu'il n'agit pas de manière malveillante.

Voici comment fonctionne un retrait:

  1. L'utilisateur soumet une transaction de retrait sur le Minitia, ce qui entraîne le module OPChild brûlant leurs jetons et émettant l'événement initiate_token_withdrawal.
  2. Encore une fois, l'Executor écoute tous les blocs sur le L2. Il détecte l'événement et enregistre la demande de retrait mais ne la relaie pas immédiatement, le Bot attend un point de contrôle de soumission.
  3. Une fois que le point de contrôle de soumission est atteint, l'Exécuteur:
    3.a - Récupère toutes les demandes de retrait dans l'intervalle.
    3.b — Génère un arbre de Merkle trié des retraits.
    3.c - Crée une sortie L2 avec la racine de Merkle de l'arbre.
    3.d — Soumet la sortie à l'OPHost sur le L1.
  4. Le retrait entre ensuite dans une période de retrait, où le Bot Challenger OPinit peut contester et annuler le retrait s'il détecte quelque chose de suspect.
  5. Si la période de retrait se passe sans aucun défi, l'utilisateur peut appeler finalize_withdrawal sur Initia pour débloquer leurs jetons.
    5.a - Cette fonction prend la demande de retrait et la preuve correspondante.
    5.b — Vérifie la preuve soumise.
    5.c — Et si tout se passe bien, envoyez les jetons à l'utilisateur !

Les retraits prennent un peu de temps mais bon, c'est le compromis pour garantir la sécurité! Cependant, pour offrir une expérience utilisateur supérieure aux utilisateurs d'Interwoven, Initia a également construit@initiafdn/minitswap-l2-to-l1-withdrawals-in-seconds-not-days-e6de645879b3">Minitswap — qui permet des retraits instantanés avec des garanties de sécurité assez décentes en utilisant IBC et le pont OPinit.

Maintenant que vous savez comment fonctionnent les retraits, mais le mécanisme de défi reste une boîte noire - plongeons-y maintenant !

Que se passe-t-il quand un Minitia ment? 🤥

Donc, nous avons appris dans la section précédente qu'un Minitia peut potentiellement mentir. C'est pourquoi la période de retrait existe - pour empêcher un comportement frauduleux de voler des jetons sur le pont OPinit.

Mais qui est responsable d'arrêter un retrait frauduleux ? C'est le travail du bot Challenger OPinit.

  1. Le Challenger surveille constamment les sorties L2 soumises à la L1.
  2. À chaque soumission, il récupère la sortie d'Initia et calcule de manière indépendante la sortie en fonction de l'état de Minitia.
  3. Si la sortie soumise sur Initia et la sortie calculée du Challenger ne correspondent pas, le Challenger supprime la proposition de sortie en envoyant le message DeleteOutput. Seul le Challenger est autorisé à appeler cette fonction.

Rollbacks State-Sync utilisant Celestia ✨

Oui, mais lorsque vous supprimez une proposition invalide, cela signifie-t-il que l'état actuel du rollup est maintenant invalide? Oui, et c'est pourquoi nous avons un mécanisme de rollback bien conçu.

Lors d'un défi réussi, le nœud Minitia peut synchroniser l'état des données précédemment publiées sur Celestia, car tous les lots de transactions d'un rollup sont publiés sur Celestia pour DA, ce qui est pratique en cas de besoin de retour en arrière.

Pour assurer l'intégrité de l'état de Minitia et s'assurer que l'Exécuteur n'agit pas de manière malveillante, les deux Bots - l'Exécuteur et le Challenger - sont conçus pour être des entités distinctes.

Mais attendez, cela ne donne-t-il pas trop de pouvoir au Challenger? Et si le Challenger agit de manière malveillante et commence à supprimer des sorties valides? Oui.

Pour éviter cela, Initia dispose d'un système de contrôle et d'équilibre géré par la gouvernance L1.

Tant le Challenger que le Proposer (celui qui soumet la sortie) peuvent être remplacés par le biais d'une proposition de gouvernance s'ils agissent de manière malveillante. Pour le Challenger, un comportement malveillant signifie supprimer des sorties valides. Pour le Proposer, cela signifie soumettre des sorties invalides.

Lorsqu'une proposition est créée, les validateurs L1 d'Initia votent en l'exécutant eux-mêmes avec le nœud L2 pour vérifier qui a raison et qui a tort. Ce système garantit qu'aucune entité unique ne peut censurer les transactions ou perturber le flux des retraits.

Les Bells & Whistles 💫

Ce ne serait pas un produit du travail d’Initia si nous nous contentions de ce qui est la norme sans aller plus loin.

Initia a rendu la construction de votre propre rollup sacrément simple. Maintenant, beaucoup d'entre vous sauraient qu'il y a beaucoup plus à faire pour construire un rollup que simplement l'héberger. Il y a beaucoup d'infrastructures périphériques que vous, en tant que constructeur, devez mettre en place. Comme des indexeurs, des oracles, des ponts, etc.

Devine quoi? La pile Interwoven est livrée pré-emballée avec tout ce dont vous avez besoin. 🔥

Skip Connect - L'Oracle Enshriné

Avec Passer, Initia est capable de fournir des données de prix d'actifs rapides et à jour à Initia et à chaque Minitia construit sur The Interwoven Stack.

Connect est un service de sidecar oracle consacré géré par les validateurs d'Initia pour pousser les mises à jour de prix on-chain. L'implémentation exploite deux nouvelles fonctionnalités introduites dans la version 0.50 du Cosmos SDK :ABCI++ et Extensions de votepermettant aux validateurs de soumettre eux-mêmes des données arbitraires qui sont ensuite stockées on-chain pour éliminer la possibilité de mises à jour des prix être censurées par une partie malveillante en remplissant les blocs avec du spam.

Une fois la mise à jour du prix effectuée sur la chaîne, les développeurs peuvent la consulter soit via l'interface en ligne de commande (CLI), l'API, ou au niveau du contrat intelligent.

Mais ce n'est pas tout. Les prix de Connect sont relayés à chaque Minitia sur The Interwoven Stack, ce qui garantit qu'ils ont un accès facile à des prix actualisés dès le premier jour.

De cette façon, le Minitia n'est pas chargé d'exécuter l'infrastructure nécessaire et ils n'ont pas non plus besoin de trouver un fournisseur d'oracle tiers, de conclure un accord avec eux et de dépenser des ressources pour l'intégration. Tout est géré pour eux !

Appels de contrat inter-chaînes

Pour être vraiment entrelacés, il doit y avoir des moyens sécurisés et efficaces de communiquer entre les chaînes sur Initia. Il existe plusieurs façons de le faire à la disposition des développeurs, et l'une d'entre elles est par le biais de crochets de pont sur le pont optimiste. Les crochets de pont sont similaires àCrochets IBCdans la fonctionnalité, qui sont utilisés pour permettre aux transferts de jetons d'initier des appels de contrat. Les crochets de pont OPinit sont utilisés pour initier des appels de contrat accompagnés du transfert d'actifs pontés à travers le pont OPinit.

Les crochets du pont sur la mise à jour d'OPHost mettent à jour les métadonnées du pont et les crochets sur l'OPChild permettent l'exécution arbitraire de transactions sur FinalizeTokenDeposit.

Nous l'avons construit de manière à ce qu'il prenne en charge plusieurs machines virtuelles, que ce soit EVM, MoveVM ou CosmWasm, les Hooks Bridge peuvent exécuter des transactions arbitraires en fonction du champ de données du message.

Par exemple, voici le format de données pour les chaînes EVM

Indexeurs consacrés

Les Minitias sont également dotées d'un indexeur intégré qui indexe et stocke automatiquement toutes les données pertinentes sur la chaîne. Les données sont ensuite exposées via une API REST qui peut être utilisée pour interroger des données historiques.

Jetons par compte, infos NFT, txs par compte, vous l'appelez. Tout est déjà intégré.

L'indexation est l'un des plus gros problèmes lorsqu'il s'agit de construire des applications sur une chaîne, et cela fait vraiment beaucoup de travail ! Exécuter votre propre indexeur peut être à la fois coûteux et fastidieux. Avec l'indexeur consacré, les développeurs peuvent afficher les soldes des jetons, les NFT, l'historique des transactions et bien plus encore, sans avoir à exécuter leur propre indexeur ou à obtenir le soutien d'un indexeur tiers.

Cet indexeur consacré permet également une prise en charge immédiate de Initia Scan — le blockexplorer d'Initia pour le L1 et chaque L2.

Conclusion

Eh bien, plonger dans The Interwoven Stack a été une expérience passionnante. C'est une technologie magnifiquement conçue qui alimente la vision Interwoven d'Initia. En construisant The Interwoven Stack en tant que modules Cosmos SDK, Initia a réutilisé le SDK en une pile pour construire des rollups optimistes, tout en conservant tous les avantages du Cosmos SDK - ce qui est plutôt cool.

Il y a tellement plus à découvrir dans la pile entrelacée que nous n'avons pas explorée aujourd'hui, je vous encourage vivement àregarder la base de code, et le code source des robotspour le comprendre plus en profondeur.

En fin de compte, une vérité demeure, Initia est l’endroit où les rollups ont vraiment leur place. À partir de zéro, Initia a été construit pour que Minitias puisse prospérer. L’écosystème entrelacé a déjà suscité l’innovation avec des Minitias comme Blackwing, Contro, MilkyWay, Inertie - tous sont des rollups spécifiques à l'application qui seront en direct et disponibles à utiliser dès le premier jour ! Tous, activés par The Interwoven Stack.

Merci à Manan, Zon, et Sawitpour contribuer à cet article.

Disclaimer:

  1. Cet article est repris de [ moyen], Tous les droits d'auteur appartiennent à l'auteur original [Initia]. S'il y a des objections à cette reproduction, veuillez contacter le Apprendre Gatel'équipe et ils s'en occuperont rapidement.
  2. Clause de non-responsabilité : Les points de vue et opinions exprimés dans cet article sont uniquement ceux de l’auteur et ne constituent pas un conseil en investissement.
  3. Les traductions de l'article dans d'autres langues sont effectuées par l'équipe Gate Learn. Sauf mention contraire, la copie, la distribution ou le plagiat des articles traduits est interdit.

Initia: Empilement entrelacé et blockchain modulaire

Avancé10/13/2024, 7:49:38 PM
Cet article présente la pile Interwoven d'Initia, qui vise à soutenir un écosystème de blockchain modulaire, améliorant notamment la scalabilité et la souveraineté grâce aux Rollups optimistes. Initia fournit une plateforme L1 qui collabore avec plusieurs Minitias, ces rollups spécifiques à une application peuvent gérer indépendamment des environnements d'exécution, contrôler l'ordre des transactions et optimiser les frais de gaz. Grâce aux modules OPHost et OPChild, ainsi qu'aux Bots OPinit, une interaction transparente entre L1 et L2 est réalisée, garantissant la sécurité, la flexibilité et un transfert d'actifs efficace.

L'écosystème crypto a dû s'adapter à la nouvelle réalité - Initia est né dedans.

En tant qu'industrie, nous avons dû accepter le fait qu'une seule machine à état ne peut pas évoluer pour correspondre aux ambitions de la crypto. Augmenter le débit tout en maintenant les coûts bas pour les utilisateurs et les opérateurs, tout en recherchant un niveau acceptable de décentralisation, est une bataille presque impossible à gagner avec une approche monolithique.

La réalité est que le succès des chaînes purement monolithiques est devenu une opinion contraire. Entrez dans le débat modulaire vs monolithique, qui a pris une place centrale plus tôt cette année. Mais voici le point clé : il n'y a pas de débat du tout. L'avenir n'est pas l'un ou l'autre - c'est un mélange des deux. Un L1 rapide et programmable, associé à une suite de rollups spécifiques à l'application qui mettent en œuvre l'exécution de manière conjointe avec le L1.

Les mérites de l'approche mixte (ou comme nous aimons l'appeler, Interwoven) deviennent apparents lorsque vous regardez Solana. Au cours des six derniers mois, les équipes ont commencé à construire leurs propres "extensions réseau" personnalisées qui se règlent sur Solana. Mais attendez - Solana n'était-il pas censé gérer l'échelle par lui-même? N'est-ce pas toute leur marque?

Vous voyez, les rollups sont plus que simplement l'extension de l'exécution. Ils concernent également la souveraineté - donnant aux développeurs un contrôle total sur leur environnement d'exécution. Plus de TPS, des frais de gaz plus bas (voire nuls), le contrôle sur l'ordre et le traitement des transactions, et la propriété de l'ensemble de la pile économique de leur entreprise, pour n'en nommer que quelques-uns.

À ce stade, c'est clair : les rollups sont inévitables et ils sont là pour rester.

L'existence d'Initia est construite autour de cette thèse. Il est conçu pour accueillir un écosystème florissant de rollups entrelacés 🪢, connu sous le nom de Minitias.

L'avenir est entrelacé

Initia est conçu pour être le domicile de milliers de Minitias travaillant ensemble de concert pour fournir des applications diverses, puissantes et uniques à travers une expérience cohésive qui est entrelacée par conception.

Jusqu'à présent, deux types d'écosystèmes ont existé. Ceux spécifiquement construits pour le monde des chaînes interconnectées (Cosmos), et les seconds sont ceux qui ont parié sur les rollups post-facto (Ethereum, et maintenant Solano). Chacun avec leur approche a trouvé un certain degré de succès mais pas sans leurs échecs, qui sont des apprentissages inestimables à prendre lors de la construction du nouveau modèle d'un L1.

Initia relie ces extrêmes, c'est un L1 conçu pour soutenir un réseau de L2 interconnectés qui garantissent aux constructeurs de Minitia tout ce dont ils ont besoin pour réussir. Il a été construit dès le premier jour pour éviter le chaos en ayant des designs bien définis et en posant la question simple - que veulent réellement les L2 d'un hub ?

Sur Initia, les rollups appartiennent simplement. Il y a une alignement économique complet entre le L1 et les L2 à travers @initiafdnIntroduire VIP, la suite de produits est sacrément croustillante, et la technologie est conçue sur mesure pour garantir que les Minitias disposent d'oracles, de ponts, de liquidités, d'interopérabilité, de stables natifs, etc. dès le portail. La pile entrelacée rend super simple pour les équipes de déployer un Minitia avec la machine virtuelle de leur choix — que ce soit EVM, MoveVM, ou CosmWasm.

Maintenant, quel est le composant le plus important qui permet les rollups sur Initia? La pile entrelacée - un cadre de rollup optimiste construit à partir de zéro pour le Cosmos SDK.

Prêt à voir la magie sous le capot? Plongeons dans le framework.

La pile entrelacée

Le cadre Optimistic Rollup sur Initia se compose de trois composants qui... vous l'avez deviné, sont assez entrelacés 😛

OPHost, OPChild, et OPinit Bots se réunissent magnifiquement comme trois pièces du puzzle pour former un collectif qui alimente chaque Minita.

OPHost et OPChild sont des modules Cosmos SDK qui forment le cœur de la Stack, ce sont les parties qui vivent sur la chaîne. Étant donné que la Stack OPinit est implémentée au niveau de la chaîne plutôt qu'au niveau du contrat intelligent d'une machine virtuelle spécifique, cela nous a permis de prendre en charge plusieurs machines virtuelles et de donner aux constructeurs de Minitia la liberté de choix.

Sur Initia, les rollups sont des citoyens de premier ordre intégrés directement dans la chaîne. Cela nous a donné la flexibilité de peaufiner les implémentations et de fournir une expérience supérieure.

Le module OPHost vit sur Initia (le L1). Il est responsable de servir de base pour tous les Minitias qui s'installent sur Initia. Les tâches clés d'OPHost incluent :

  • Gérer le pont optimiste (entre le L1 et un L2) et les actifs qui y passent.
  • Supervision de la finalisation des propositions de sortie des Minitias.
  • Faisant office de tribunal pour le challenger et le proposant pour plaider leur cause.

OPChild, d'autre part, vit sur chaque Minitia. C'est comme le battement de cœur de chaque rollup, il est responsable de:

  • Gestion des opérateurs de Rollup.
  • Exécution des messages reçus de la L1.
  • Mise à jour des flux de prix de l'oracle.
  • Gérer les retraits de jetons vers le L1.

L'OPHost & l'OPChild forment ensemble le pont optimiste pour chaque Minitia. Un OPHost sur Initia agit en tant que point final du L1 pour plusieurs modules OPChild à travers de nombreuses Minitias.

Il est important de noter que, pour les rollups, le pont natif fait plus que les transferts de messages, il sert de quartier général du rollup sur le L1. En effet, deux systèmes de consensus différents ne sont pas conscients des machines d'état de l'autre, mais le pont d'un rollup agit comme source de vérité du rollup sur le L1 en soumettant des racines d'état ou une sortie similaire qui peut être vérifiée par rapport à l'état du rollup pour garantir la correction. C'est pourquoi un L1 est souvent appelé couche de règlement.

Mais maintenant, vous pouvez penser - «Qu'est-ce qui relie OPHost et OPChild? Les relais?» Non, c'est ce que font les bots OPinit! En tant qu'extension de ce qui précède, deux systèmes de consensus différents ne peuvent pas communiquer nativement entre eux sans qu'un processus hors chaîne les aide en agissant comme lien physique entre leurs machines à états isolées.

Les robots OPinit sont des processus hors chaîne qui gèrent des actions critiques entre Initia et Minitias. Il existe deux robots différents - l'Exécuteur et le Challenger. En un mot, les deux robots sont ensemble responsables de :

  • Exécution des transferts de jetons.
  • Soumission de propositions de sortie à l'Initia L1.
  • Soumission du lot de transactions à Celestia pour la disponibilité des données (DA).
  • Relayer les mises à jour du flux de prix de l'oracle vers le Minitias.

Dans le reste de l'article, nous plongerons dans la manière dont les fonctionnalités spécifiques sont implémentées dans la pile entrelacée et cela devrait vous donner une image plus claire de la façon dont toutes les pièces fonctionnent ensemble !

Transferts de jetons sur le pont Optimistic

L'un des aspects les plus importants d'un rollup est qu'il hérite de la sécurité du L1 sur lequel il se règle.

Vous savez ce qui est aussi intéressant ? Le pont natif entre un L1 et un rollup est généralement le moyen le plus sûr de transférer des actifs entre les deux. C'est parce que l'utilisation du pont natif n'introduit aucune supposition de confiance supplémentaire - vous ne faites confiance qu'aux deux chaînes impliquées.

Avant de plonger dans le fonctionnement des transferts, abordons le sujet qui fâche.

Pourquoi pas IBC?

Étant donné le fait que toutes les chaînes sur The Interwoven Stack sont construites en utilisant le Cosmos SDK, pourquoi le pont natif ne peut-il pas être simplement un canal IBC ?

Eh bien, c'est parce que les transferts IBC sont instantanés par nature et cela ne fonctionne pas avec les hypothèses de confiance de notre protocole. Un beau jour, un opérateur Minitia malveillant pourrait se réveiller et décider d'insérer malicieusement des transactions qui déplacent les soldes de INIT sur le L2 et retirer tout INIT sur leur Minitia vers le L1. Nous ne voulons pas ça, une erreur comme celle-ci serait catastrophique.

Alors que les retraits vers Initia via le pont Optimistic ont un délai de 7 jours pendant lequel le Challenger peut contester et annuler le retrait en cas de détection de comportement malveillant.

Sur Initia, nous voulons toujours garantir une expérience utilisateur fluide pour le transfert d'actifs entre Mintia et Initia L1. Pour permettre des transferts rapides depuis les L2, nous avons développé une solution sécurisée et personnalisée appelée Minitswap. Vous pouvez en savoir plus à ce sujet ici:@initiafdn\/minitswap-l2-to-l1-withdrawals-in-seconds-not-days-e6de645879b3">Minitswap — L2 to L1 Retraits en quelques secondes, pas en jours.

Dépôts de jetons (L1 → L2)

Le dépôt de jetons de Initia à Minitia est presque instantané. Voici comment cela fonctionne :

  1. L'utilisateur soumet une transaction de dépôt sur Initia, qui verrouille leurs jetons sur le L1 et déclenche un événement de dépôt du module OPHost.
  2. Le bot Executor OPinit écoute constamment les nouveaux événements sur Initia et lorsqu'il voit un événement initiate_token_deposit : \
    2.a — L'Executor construit un message de dépôt de jetons final correspondant et le soumet à la Minitia.
  3. À la réception du message, Minitia frappe les jetons correspondants sur le L2 et les envoie à l'utilisateur.

Assez simple, hein? Fait le travail sans compromettre la sécurité!

Retrait de jeton (L2 → L1)

Les retraits sont là où les choses se compliquent un peu. Alors que le dépôt de L1 à L2 est simple, l'hypothèse selon laquelle les Minitias peuvent toujours faire confiance au L1 ne fonctionne pas dans l'autre sens.

Voici pourquoi : Initia est sécurisé par un ensemble décentralisé de validateurs ayant une participation économique, mais les Minitias sont souvent exploités par un seul opérateur ou par un petit ensemble d'opérateurs, sans participation économique. Ainsi, lorsqu'un Minitia initie un retrait vers le L1, il doit prouver qu'il n'agit pas de manière malveillante.

Voici comment fonctionne un retrait:

  1. L'utilisateur soumet une transaction de retrait sur le Minitia, ce qui entraîne le module OPChild brûlant leurs jetons et émettant l'événement initiate_token_withdrawal.
  2. Encore une fois, l'Executor écoute tous les blocs sur le L2. Il détecte l'événement et enregistre la demande de retrait mais ne la relaie pas immédiatement, le Bot attend un point de contrôle de soumission.
  3. Une fois que le point de contrôle de soumission est atteint, l'Exécuteur:
    3.a - Récupère toutes les demandes de retrait dans l'intervalle.
    3.b — Génère un arbre de Merkle trié des retraits.
    3.c - Crée une sortie L2 avec la racine de Merkle de l'arbre.
    3.d — Soumet la sortie à l'OPHost sur le L1.
  4. Le retrait entre ensuite dans une période de retrait, où le Bot Challenger OPinit peut contester et annuler le retrait s'il détecte quelque chose de suspect.
  5. Si la période de retrait se passe sans aucun défi, l'utilisateur peut appeler finalize_withdrawal sur Initia pour débloquer leurs jetons.
    5.a - Cette fonction prend la demande de retrait et la preuve correspondante.
    5.b — Vérifie la preuve soumise.
    5.c — Et si tout se passe bien, envoyez les jetons à l'utilisateur !

Les retraits prennent un peu de temps mais bon, c'est le compromis pour garantir la sécurité! Cependant, pour offrir une expérience utilisateur supérieure aux utilisateurs d'Interwoven, Initia a également construit@initiafdn/minitswap-l2-to-l1-withdrawals-in-seconds-not-days-e6de645879b3">Minitswap — qui permet des retraits instantanés avec des garanties de sécurité assez décentes en utilisant IBC et le pont OPinit.

Maintenant que vous savez comment fonctionnent les retraits, mais le mécanisme de défi reste une boîte noire - plongeons-y maintenant !

Que se passe-t-il quand un Minitia ment? 🤥

Donc, nous avons appris dans la section précédente qu'un Minitia peut potentiellement mentir. C'est pourquoi la période de retrait existe - pour empêcher un comportement frauduleux de voler des jetons sur le pont OPinit.

Mais qui est responsable d'arrêter un retrait frauduleux ? C'est le travail du bot Challenger OPinit.

  1. Le Challenger surveille constamment les sorties L2 soumises à la L1.
  2. À chaque soumission, il récupère la sortie d'Initia et calcule de manière indépendante la sortie en fonction de l'état de Minitia.
  3. Si la sortie soumise sur Initia et la sortie calculée du Challenger ne correspondent pas, le Challenger supprime la proposition de sortie en envoyant le message DeleteOutput. Seul le Challenger est autorisé à appeler cette fonction.

Rollbacks State-Sync utilisant Celestia ✨

Oui, mais lorsque vous supprimez une proposition invalide, cela signifie-t-il que l'état actuel du rollup est maintenant invalide? Oui, et c'est pourquoi nous avons un mécanisme de rollback bien conçu.

Lors d'un défi réussi, le nœud Minitia peut synchroniser l'état des données précédemment publiées sur Celestia, car tous les lots de transactions d'un rollup sont publiés sur Celestia pour DA, ce qui est pratique en cas de besoin de retour en arrière.

Pour assurer l'intégrité de l'état de Minitia et s'assurer que l'Exécuteur n'agit pas de manière malveillante, les deux Bots - l'Exécuteur et le Challenger - sont conçus pour être des entités distinctes.

Mais attendez, cela ne donne-t-il pas trop de pouvoir au Challenger? Et si le Challenger agit de manière malveillante et commence à supprimer des sorties valides? Oui.

Pour éviter cela, Initia dispose d'un système de contrôle et d'équilibre géré par la gouvernance L1.

Tant le Challenger que le Proposer (celui qui soumet la sortie) peuvent être remplacés par le biais d'une proposition de gouvernance s'ils agissent de manière malveillante. Pour le Challenger, un comportement malveillant signifie supprimer des sorties valides. Pour le Proposer, cela signifie soumettre des sorties invalides.

Lorsqu'une proposition est créée, les validateurs L1 d'Initia votent en l'exécutant eux-mêmes avec le nœud L2 pour vérifier qui a raison et qui a tort. Ce système garantit qu'aucune entité unique ne peut censurer les transactions ou perturber le flux des retraits.

Les Bells & Whistles 💫

Ce ne serait pas un produit du travail d’Initia si nous nous contentions de ce qui est la norme sans aller plus loin.

Initia a rendu la construction de votre propre rollup sacrément simple. Maintenant, beaucoup d'entre vous sauraient qu'il y a beaucoup plus à faire pour construire un rollup que simplement l'héberger. Il y a beaucoup d'infrastructures périphériques que vous, en tant que constructeur, devez mettre en place. Comme des indexeurs, des oracles, des ponts, etc.

Devine quoi? La pile Interwoven est livrée pré-emballée avec tout ce dont vous avez besoin. 🔥

Skip Connect - L'Oracle Enshriné

Avec Passer, Initia est capable de fournir des données de prix d'actifs rapides et à jour à Initia et à chaque Minitia construit sur The Interwoven Stack.

Connect est un service de sidecar oracle consacré géré par les validateurs d'Initia pour pousser les mises à jour de prix on-chain. L'implémentation exploite deux nouvelles fonctionnalités introduites dans la version 0.50 du Cosmos SDK :ABCI++ et Extensions de votepermettant aux validateurs de soumettre eux-mêmes des données arbitraires qui sont ensuite stockées on-chain pour éliminer la possibilité de mises à jour des prix être censurées par une partie malveillante en remplissant les blocs avec du spam.

Une fois la mise à jour du prix effectuée sur la chaîne, les développeurs peuvent la consulter soit via l'interface en ligne de commande (CLI), l'API, ou au niveau du contrat intelligent.

Mais ce n'est pas tout. Les prix de Connect sont relayés à chaque Minitia sur The Interwoven Stack, ce qui garantit qu'ils ont un accès facile à des prix actualisés dès le premier jour.

De cette façon, le Minitia n'est pas chargé d'exécuter l'infrastructure nécessaire et ils n'ont pas non plus besoin de trouver un fournisseur d'oracle tiers, de conclure un accord avec eux et de dépenser des ressources pour l'intégration. Tout est géré pour eux !

Appels de contrat inter-chaînes

Pour être vraiment entrelacés, il doit y avoir des moyens sécurisés et efficaces de communiquer entre les chaînes sur Initia. Il existe plusieurs façons de le faire à la disposition des développeurs, et l'une d'entre elles est par le biais de crochets de pont sur le pont optimiste. Les crochets de pont sont similaires àCrochets IBCdans la fonctionnalité, qui sont utilisés pour permettre aux transferts de jetons d'initier des appels de contrat. Les crochets de pont OPinit sont utilisés pour initier des appels de contrat accompagnés du transfert d'actifs pontés à travers le pont OPinit.

Les crochets du pont sur la mise à jour d'OPHost mettent à jour les métadonnées du pont et les crochets sur l'OPChild permettent l'exécution arbitraire de transactions sur FinalizeTokenDeposit.

Nous l'avons construit de manière à ce qu'il prenne en charge plusieurs machines virtuelles, que ce soit EVM, MoveVM ou CosmWasm, les Hooks Bridge peuvent exécuter des transactions arbitraires en fonction du champ de données du message.

Par exemple, voici le format de données pour les chaînes EVM

Indexeurs consacrés

Les Minitias sont également dotées d'un indexeur intégré qui indexe et stocke automatiquement toutes les données pertinentes sur la chaîne. Les données sont ensuite exposées via une API REST qui peut être utilisée pour interroger des données historiques.

Jetons par compte, infos NFT, txs par compte, vous l'appelez. Tout est déjà intégré.

L'indexation est l'un des plus gros problèmes lorsqu'il s'agit de construire des applications sur une chaîne, et cela fait vraiment beaucoup de travail ! Exécuter votre propre indexeur peut être à la fois coûteux et fastidieux. Avec l'indexeur consacré, les développeurs peuvent afficher les soldes des jetons, les NFT, l'historique des transactions et bien plus encore, sans avoir à exécuter leur propre indexeur ou à obtenir le soutien d'un indexeur tiers.

Cet indexeur consacré permet également une prise en charge immédiate de Initia Scan — le blockexplorer d'Initia pour le L1 et chaque L2.

Conclusion

Eh bien, plonger dans The Interwoven Stack a été une expérience passionnante. C'est une technologie magnifiquement conçue qui alimente la vision Interwoven d'Initia. En construisant The Interwoven Stack en tant que modules Cosmos SDK, Initia a réutilisé le SDK en une pile pour construire des rollups optimistes, tout en conservant tous les avantages du Cosmos SDK - ce qui est plutôt cool.

Il y a tellement plus à découvrir dans la pile entrelacée que nous n'avons pas explorée aujourd'hui, je vous encourage vivement àregarder la base de code, et le code source des robotspour le comprendre plus en profondeur.

En fin de compte, une vérité demeure, Initia est l’endroit où les rollups ont vraiment leur place. À partir de zéro, Initia a été construit pour que Minitias puisse prospérer. L’écosystème entrelacé a déjà suscité l’innovation avec des Minitias comme Blackwing, Contro, MilkyWay, Inertie - tous sont des rollups spécifiques à l'application qui seront en direct et disponibles à utiliser dès le premier jour ! Tous, activés par The Interwoven Stack.

Merci à Manan, Zon, et Sawitpour contribuer à cet article.

Disclaimer:

  1. Cet article est repris de [ moyen], Tous les droits d'auteur appartiennent à l'auteur original [Initia]. S'il y a des objections à cette reproduction, veuillez contacter le Apprendre Gatel'équipe et ils s'en occuperont rapidement.
  2. Clause de non-responsabilité : Les points de vue et opinions exprimés dans cet article sont uniquement ceux de l’auteur et ne constituent pas un conseil en investissement.
  3. Les traductions de l'article dans d'autres langues sont effectuées par l'équipe Gate Learn. Sauf mention contraire, la copie, la distribution ou le plagiat des articles traduits est interdit.
Lancez-vous
Inscrivez-vous et obtenez un bon de
100$
!