Le Contrat Principal est le composant fondamental on-chain du protocole Wormhole. Il est déployé sur chaque blockchain prise en charge et est responsable de l'émission et de la vérification des messages qui permettent la communication inter-chaînes. Lorsqu'une dApp ou un pont de tokens interagit avec Wormhole, elle envoie généralement des messages via ce contrat. Le Contrat Principal sert de premier point de contact pour toute action qui doit être transmise à une autre chaîne.
Lorsqu'un message est émis sur la chaîne source, le Contrat Principal enregistre l'événement, qui comprend le contenu du message, l'adresse de l'émetteur, le numéro de séquence et le niveau de cohérence. Ces données sont ensuite observées par le Réseau des Gardiens. Il est important de noter que le Contrat Principal est spécifique à chaque chaîne, ce qui signifie que chaque chaîne de l'écosystème Wormhole a sa propre version du contrat déployé et surveillée indépendamment.
Le Contrat Principal n'exécute pas de logique au-delà de l'émission et de la vérification des messages. Son rôle est de publier de manière fiable des événements dans le journal des transactions, qui peuvent ensuite être lus et validés par des composants hors chaîne. La simplicité de sa logique est intentionnelle : elle réduit les surfaces d'attaque et améliore l'auditabilité à travers toutes les chaînes intégrées.
Sur la chaîne de destination, le contrat principal est également responsable de la réception des VAA et de la vérification de leurs signatures. Un message ne peut pas être exécuté sur la chaîne de destination à moins que le VAA ne respecte le seuil de signature requis, qui est généralement de 13 signatures de 19 gardiens. Cela garantit un modèle de sécurité cohérent et vérifiable sur toutes les chaînes.
Un Emitter est tout contrat intelligent qui appelle le publierMessage
fonction sur le contrat principal pour générer un message inter-chaînes. Ceux-ci peuvent être des contrats spécifiques à l'application ou d'autres intégrations au niveau du protocole qui souhaitent envoyer des données à une blockchain différente. Les émetteurs attribuent un numéro de séquence unique à chaque message qu'ils créent, aidant les gardiens à suivre et valider chaque événement avec précision.
Chaque message émis comprend trois composants principaux : la charge utile (ce que l'application veut envoyer), le nonce (pour empêcher la reproduction) et le numéro de séquence (pour préserver l'ordre). La charge utile est généralement des données encodées qui représentent des instructions à exécuter sur la chaîne de destination, comme la création d'un jeton, la mise à jour d'un état ou l'exécution d'une action.
Les émetteurs ne traitent pas les messages - ils se contentent de les soumettre. Leur responsabilité prend fin une fois que le message est enregistré dans le journal des transactions. Après cela, le message dépend du Réseau des Gardiens pour le valider, le signer et le transmettre à la chaîne de destination où il peut être exécuté par un autre contrat intelligent.
Un avantage clé de ce modèle est la modularité. Tout contrat peut être un émetteur tant qu'il intègre l'interface appropriée et appelle le publierMessage
fonctionne correctement. Cela permet aux développeurs de créer leurs propres flux de messagerie en utilisant Wormhole sans avoir besoin de comprendre ou de modifier les éléments internes du protocole de base.
Les journaux de transaction sont la façon dont Wormhole permet une communication sécurisée sans nécessiter de scans complets de la chaîne. Lorsqu'un message est publié via le contrat principal, le contrat émet un événement de journal qui est enregistré dans le journal des événements de la blockchain. Ces journaux sont accessibles sur la chaîne et servent de source de vérité pour l'observation des messages.
Les gardiens surveillent ces journaux pour déterminer quand un message valide a été émis. Ils analysent les journaux en temps réel et extraient les données pertinentes (adresse de l'émetteur, charge utile, nonce, numéro de séquence). Les journaux incluent également un horodatage de bloc, qui peut être utilisé pour faire respecter des politiques basées sur le temps ou des dépendances d'ordre.
Les journaux sont un mécanisme efficace pour la détection des messages car ils évitent la nécessité d'analyser l'état entier de la chaîne. Au lieu de cela, le Réseau Guardian peut surveiller des signatures d'événements spécifiques, réduisant ainsi considérablement la surcharge computationnelle. Cela est particulièrement important lors du passage à plusieurs chaînes avec un fort débit de transactions.
Parce que les journaux sont immuables et vérifiés cryptographiquement par le consensus de la chaîne sous-jacente, ils fournissent une source fiable pour la validation des messages. Cela permet à Wormhole de maintenir un modèle de sécurité cohérent à travers différentes chaînes, même si ces chaînes ont des machines virtuelles ou des modèles de consensus différents.
Les approbations d'action vérifiables (VAA) sont le mécanisme central qui permet à Wormhole de connecter en toute sécurité les événements entre les blockchains. Après qu'un message ait été émis sur la chaîne source et récupéré par les Gardiens, ils signent collectivement un VAA pour attester que le message a été observé et validé. Un VAA n'est pas seulement une signature : il inclut la charge utile complète, des métadonnées telles que les horodatages et les détails de l'émetteur, ainsi qu'un schéma de signature multiple prouvant le consensus parmi les Gardiens.
Un VAA n'est considéré comme valide que s'il inclut des signatures d'une supermajorité de l'ensemble des Gardiens. À l'heure actuelle, Wormhole exige que 13 des 19 Gardiens signent le VAA. Ce seuil équilibre sécurité et performance, permettant une transmission rapide des messages tout en assurant une résistance contre la collusion ou la compromission. Si le seuil n'est pas atteint, le VAA sera rejeté par la chaîne réceptrice.
Le VAA contient le message exact émis à l'origine, sans aucune transformation ni altération. Cette immutabilité est importante car elle permet à la chaîne de destination de vérifier le message par rapport à l'événement original sur la chaîne. Si les signatures et le contenu sont corrects, le message est traité ; sinon, il est ignoré.
Les applications utilisant Wormhole n'ont pas besoin de gérer elles-mêmes le processus de création de VAA. Cela est entièrement pris en charge par le Réseau Guardian. Cependant, les développeurs intégrant Wormhole doivent construire une logique sur la chaîne de destination pour valider le VAA et exécuter les actions correspondantes. Cela peut impliquer de créer des jetons, de mettre à jour un état ou de déclencher une autre fonction de contrat intelligent.
Les Gardiens sont les validateurs décentralisés qui soutiennent la sécurité de Wormhole. Il y a actuellement 19 nœuds Gardiens, opérés par des fournisseurs d'infrastructure indépendants, y compris des organisations bien connues dans l'espace blockchain. Chaque Gardien surveille toutes les blockchains prises en charge dans l'écosystème Wormhole, surveillant les nouveaux messages émis par les Contrats Principaux.
Les Gardiens observent chaque chaîne en temps réel et analysent les journaux de transactions pour détecter lorsqu'un nouveau message est publié. Lorsque cela se produit, chaque Gardien valide indépendamment l'authenticité du message, construit la charge utile du message et le signe avec sa clé privée. Ces signatures sont ensuite combinées en un VAA lorsque le seuil de signature est atteint.
Le rôle des Gardiens est strictement observatoire et attestant : ils n'exécutent aucune logique commerciale ni ne gèrent des fonds. Cette séparation des responsabilités rend le système plus sécurisé et moins susceptible d'être exploité. Les Gardiens ne réalisent pas de consensus entre les chaînes ; au lieu de cela, ils agissent comme une couche de validation externe qui fournit des garanties cryptographiques concernant les événements observés.
Le Spy est un processus d'observation léger qui écoute les messages diffusés au sein du réseau Guardian. Il ne participe pas à la validation ou à la signature, mais il offre une visibilité complète sur le flux de messages, y compris les VAA, les observations et les battements de cœur du Guardian. Les développeurs et les applications peuvent exécuter leur propre instance de Spy pour suivre l'activité de Wormhole sans avoir besoin de faire partie de l'ensemble Guardian.
Le Spy se connecte au réseau de gossip pair-à-pair utilisé par les Guardians et reçoit les messages au fur et à mesure qu'ils sont transmis à travers le système. Cela inclut à la fois des VAAs signés et des observations brutes - des messages non confirmés qui n'ont pas encore atteint le seuil de signature. Cela donne aux développeurs un accès quasi en temps réel à la communication interne de Wormhole.
Un cas d'utilisation courant de Spy est les tableaux de bord d'analytique en temps réel ou les systèmes d'alerte qui notifient les opérateurs lorsque les messages sont retardés ou que les Guardians sous-performent. Étant donné que Spy peut voir les messages de tous les Guardians, il sert de fenêtre transparente sur la santé et les niveaux d'activité du réseau.
Exécuter un Spy ne nécessite pas de permissions ou de credentials spéciaux. C'est un daemon open-source que tout le monde peut déployer. Cela le rend particulièrement utile pour les équipes de dApp qui souhaitent surveiller les messages Wormhole liés à leur application sans dépendre de relais ou d'infrastructures tiers.
Les relayeurs sont des agents hors chaîne qui livrent des VAA aux blockchains de destination. Bien que n'importe qui puisse techniquement relayer un VAA (puisqu'ils sont publics et auto-vérifiables), Wormhole prend en charge des relayeurs structurés qui offrent une livraison et une surveillance automatiques. Ces relayeurs garantissent qu'une fois qu'un message est signé par les Gardiens, il atteint la chaîne cible rapidement et de manière fiable.
Les relais ne font pas partie du consensus et ne nécessitent pas de confiance. Leur seul travail est de soumettre le VAA signé au contrat principal sur la chaîne de destination, qui l'acceptera ou le rejettera en fonction de la validation de la signature. Cela signifie que même si un relais est défectueux ou malveillant, il ne peut pas altérer ou falsifier un message : le VAA est la seule source de vérité.
Il existe deux types principaux de relais dans Wormhole. Les relais standard gèrent les VAA génériques et les soumettent tels quels. Ceux-ci sont utilisés dans le pontage de tokens de base, la messagerie et la communication de protocole. Les relais spécialisés, en revanche, sont conçus pour des cas d'utilisation plus complexes comme Wormhole Connect ou les transferts de tokens natifs, où ils peuvent regrouper des messages, optimiser l'utilisation du gaz ou exécuter une logique de post-traitement.
Les relayeurs améliorent l'expérience utilisateur en éliminant la nécessité de soumettre manuellement le VAA. Sans eux, les utilisateurs devraient télécharger le VAA depuis un point d'accès Guardian et le relayer manuellement à l'aide d'un portefeuille. En automatisant cela, les relayeurs permettent aux dApps d'offrir une expérience inter-chaînes fluide.
Points forts
Le Contrat Principal est le composant fondamental on-chain du protocole Wormhole. Il est déployé sur chaque blockchain prise en charge et est responsable de l'émission et de la vérification des messages qui permettent la communication inter-chaînes. Lorsqu'une dApp ou un pont de tokens interagit avec Wormhole, elle envoie généralement des messages via ce contrat. Le Contrat Principal sert de premier point de contact pour toute action qui doit être transmise à une autre chaîne.
Lorsqu'un message est émis sur la chaîne source, le Contrat Principal enregistre l'événement, qui comprend le contenu du message, l'adresse de l'émetteur, le numéro de séquence et le niveau de cohérence. Ces données sont ensuite observées par le Réseau des Gardiens. Il est important de noter que le Contrat Principal est spécifique à chaque chaîne, ce qui signifie que chaque chaîne de l'écosystème Wormhole a sa propre version du contrat déployé et surveillée indépendamment.
Le Contrat Principal n'exécute pas de logique au-delà de l'émission et de la vérification des messages. Son rôle est de publier de manière fiable des événements dans le journal des transactions, qui peuvent ensuite être lus et validés par des composants hors chaîne. La simplicité de sa logique est intentionnelle : elle réduit les surfaces d'attaque et améliore l'auditabilité à travers toutes les chaînes intégrées.
Sur la chaîne de destination, le contrat principal est également responsable de la réception des VAA et de la vérification de leurs signatures. Un message ne peut pas être exécuté sur la chaîne de destination à moins que le VAA ne respecte le seuil de signature requis, qui est généralement de 13 signatures de 19 gardiens. Cela garantit un modèle de sécurité cohérent et vérifiable sur toutes les chaînes.
Un Emitter est tout contrat intelligent qui appelle le publierMessage
fonction sur le contrat principal pour générer un message inter-chaînes. Ceux-ci peuvent être des contrats spécifiques à l'application ou d'autres intégrations au niveau du protocole qui souhaitent envoyer des données à une blockchain différente. Les émetteurs attribuent un numéro de séquence unique à chaque message qu'ils créent, aidant les gardiens à suivre et valider chaque événement avec précision.
Chaque message émis comprend trois composants principaux : la charge utile (ce que l'application veut envoyer), le nonce (pour empêcher la reproduction) et le numéro de séquence (pour préserver l'ordre). La charge utile est généralement des données encodées qui représentent des instructions à exécuter sur la chaîne de destination, comme la création d'un jeton, la mise à jour d'un état ou l'exécution d'une action.
Les émetteurs ne traitent pas les messages - ils se contentent de les soumettre. Leur responsabilité prend fin une fois que le message est enregistré dans le journal des transactions. Après cela, le message dépend du Réseau des Gardiens pour le valider, le signer et le transmettre à la chaîne de destination où il peut être exécuté par un autre contrat intelligent.
Un avantage clé de ce modèle est la modularité. Tout contrat peut être un émetteur tant qu'il intègre l'interface appropriée et appelle le publierMessage
fonctionne correctement. Cela permet aux développeurs de créer leurs propres flux de messagerie en utilisant Wormhole sans avoir besoin de comprendre ou de modifier les éléments internes du protocole de base.
Les journaux de transaction sont la façon dont Wormhole permet une communication sécurisée sans nécessiter de scans complets de la chaîne. Lorsqu'un message est publié via le contrat principal, le contrat émet un événement de journal qui est enregistré dans le journal des événements de la blockchain. Ces journaux sont accessibles sur la chaîne et servent de source de vérité pour l'observation des messages.
Les gardiens surveillent ces journaux pour déterminer quand un message valide a été émis. Ils analysent les journaux en temps réel et extraient les données pertinentes (adresse de l'émetteur, charge utile, nonce, numéro de séquence). Les journaux incluent également un horodatage de bloc, qui peut être utilisé pour faire respecter des politiques basées sur le temps ou des dépendances d'ordre.
Les journaux sont un mécanisme efficace pour la détection des messages car ils évitent la nécessité d'analyser l'état entier de la chaîne. Au lieu de cela, le Réseau Guardian peut surveiller des signatures d'événements spécifiques, réduisant ainsi considérablement la surcharge computationnelle. Cela est particulièrement important lors du passage à plusieurs chaînes avec un fort débit de transactions.
Parce que les journaux sont immuables et vérifiés cryptographiquement par le consensus de la chaîne sous-jacente, ils fournissent une source fiable pour la validation des messages. Cela permet à Wormhole de maintenir un modèle de sécurité cohérent à travers différentes chaînes, même si ces chaînes ont des machines virtuelles ou des modèles de consensus différents.
Les approbations d'action vérifiables (VAA) sont le mécanisme central qui permet à Wormhole de connecter en toute sécurité les événements entre les blockchains. Après qu'un message ait été émis sur la chaîne source et récupéré par les Gardiens, ils signent collectivement un VAA pour attester que le message a été observé et validé. Un VAA n'est pas seulement une signature : il inclut la charge utile complète, des métadonnées telles que les horodatages et les détails de l'émetteur, ainsi qu'un schéma de signature multiple prouvant le consensus parmi les Gardiens.
Un VAA n'est considéré comme valide que s'il inclut des signatures d'une supermajorité de l'ensemble des Gardiens. À l'heure actuelle, Wormhole exige que 13 des 19 Gardiens signent le VAA. Ce seuil équilibre sécurité et performance, permettant une transmission rapide des messages tout en assurant une résistance contre la collusion ou la compromission. Si le seuil n'est pas atteint, le VAA sera rejeté par la chaîne réceptrice.
Le VAA contient le message exact émis à l'origine, sans aucune transformation ni altération. Cette immutabilité est importante car elle permet à la chaîne de destination de vérifier le message par rapport à l'événement original sur la chaîne. Si les signatures et le contenu sont corrects, le message est traité ; sinon, il est ignoré.
Les applications utilisant Wormhole n'ont pas besoin de gérer elles-mêmes le processus de création de VAA. Cela est entièrement pris en charge par le Réseau Guardian. Cependant, les développeurs intégrant Wormhole doivent construire une logique sur la chaîne de destination pour valider le VAA et exécuter les actions correspondantes. Cela peut impliquer de créer des jetons, de mettre à jour un état ou de déclencher une autre fonction de contrat intelligent.
Les Gardiens sont les validateurs décentralisés qui soutiennent la sécurité de Wormhole. Il y a actuellement 19 nœuds Gardiens, opérés par des fournisseurs d'infrastructure indépendants, y compris des organisations bien connues dans l'espace blockchain. Chaque Gardien surveille toutes les blockchains prises en charge dans l'écosystème Wormhole, surveillant les nouveaux messages émis par les Contrats Principaux.
Les Gardiens observent chaque chaîne en temps réel et analysent les journaux de transactions pour détecter lorsqu'un nouveau message est publié. Lorsque cela se produit, chaque Gardien valide indépendamment l'authenticité du message, construit la charge utile du message et le signe avec sa clé privée. Ces signatures sont ensuite combinées en un VAA lorsque le seuil de signature est atteint.
Le rôle des Gardiens est strictement observatoire et attestant : ils n'exécutent aucune logique commerciale ni ne gèrent des fonds. Cette séparation des responsabilités rend le système plus sécurisé et moins susceptible d'être exploité. Les Gardiens ne réalisent pas de consensus entre les chaînes ; au lieu de cela, ils agissent comme une couche de validation externe qui fournit des garanties cryptographiques concernant les événements observés.
Le Spy est un processus d'observation léger qui écoute les messages diffusés au sein du réseau Guardian. Il ne participe pas à la validation ou à la signature, mais il offre une visibilité complète sur le flux de messages, y compris les VAA, les observations et les battements de cœur du Guardian. Les développeurs et les applications peuvent exécuter leur propre instance de Spy pour suivre l'activité de Wormhole sans avoir besoin de faire partie de l'ensemble Guardian.
Le Spy se connecte au réseau de gossip pair-à-pair utilisé par les Guardians et reçoit les messages au fur et à mesure qu'ils sont transmis à travers le système. Cela inclut à la fois des VAAs signés et des observations brutes - des messages non confirmés qui n'ont pas encore atteint le seuil de signature. Cela donne aux développeurs un accès quasi en temps réel à la communication interne de Wormhole.
Un cas d'utilisation courant de Spy est les tableaux de bord d'analytique en temps réel ou les systèmes d'alerte qui notifient les opérateurs lorsque les messages sont retardés ou que les Guardians sous-performent. Étant donné que Spy peut voir les messages de tous les Guardians, il sert de fenêtre transparente sur la santé et les niveaux d'activité du réseau.
Exécuter un Spy ne nécessite pas de permissions ou de credentials spéciaux. C'est un daemon open-source que tout le monde peut déployer. Cela le rend particulièrement utile pour les équipes de dApp qui souhaitent surveiller les messages Wormhole liés à leur application sans dépendre de relais ou d'infrastructures tiers.
Les relayeurs sont des agents hors chaîne qui livrent des VAA aux blockchains de destination. Bien que n'importe qui puisse techniquement relayer un VAA (puisqu'ils sont publics et auto-vérifiables), Wormhole prend en charge des relayeurs structurés qui offrent une livraison et une surveillance automatiques. Ces relayeurs garantissent qu'une fois qu'un message est signé par les Gardiens, il atteint la chaîne cible rapidement et de manière fiable.
Les relais ne font pas partie du consensus et ne nécessitent pas de confiance. Leur seul travail est de soumettre le VAA signé au contrat principal sur la chaîne de destination, qui l'acceptera ou le rejettera en fonction de la validation de la signature. Cela signifie que même si un relais est défectueux ou malveillant, il ne peut pas altérer ou falsifier un message : le VAA est la seule source de vérité.
Il existe deux types principaux de relais dans Wormhole. Les relais standard gèrent les VAA génériques et les soumettent tels quels. Ceux-ci sont utilisés dans le pontage de tokens de base, la messagerie et la communication de protocole. Les relais spécialisés, en revanche, sont conçus pour des cas d'utilisation plus complexes comme Wormhole Connect ou les transferts de tokens natifs, où ils peuvent regrouper des messages, optimiser l'utilisation du gaz ou exécuter une logique de post-traitement.
Les relayeurs améliorent l'expérience utilisateur en éliminant la nécessité de soumettre manuellement le VAA. Sans eux, les utilisateurs devraient télécharger le VAA depuis un point d'accès Guardian et le relayer manuellement à l'aide d'un portefeuille. En automatisant cela, les relayeurs permettent aux dApps d'offrir une expérience inter-chaînes fluide.
Points forts