Un contrat intelligent hébergé sur une blockchain s'exécute de manière autonome une fois que tous les termes ou conditions spécifiés dans un contrat ou un accord sont satisfaits, éliminant ainsi le besoin d'intervention d'un intermédiaire.

Les termes du contrat sont rédigés dans un code lisible par machine. Une fois le contrat intelligent terminé, il est irréversible et juridiquement contraignant, ce qui soulève la question : est-il possible de résilier un contrat intelligent ? Et plus important encore, les contrats intelligents peuvent-ils être annulés ?

Cet article explique s'il est possible de révoquer les contrats intelligents et, si possible, comment révoquer l'accès des contrats intelligents à leurs avoirs en crypto-monnaie.

Que signifie la révocation des contrats intelligents ?

Révoquer un contrat intelligent signifie généralement désactiver ou mettre fin à sa fonctionnalité sur une blockchain. Par exemple, la révocation peut empêcher l’accès au portefeuille cryptographique d’un utilisateur et sa capacité à déplacer des jetons. De plus, la révocation d’un contrat intelligent met fin à l’autorisation d’afficher le solde de jetons ou l’adresse publique d’un utilisateur.

Pourquoi les contrats intelligents sont-ils révoqués ?

On peut révoquer un contrat intelligent dans plusieurs circonstances, par exemple s’il n’a pas l’intention d’acheter, de vendre ou de transférer un actif ou d’utiliser à nouveau le contrat intelligent.

Dans d’autres cas, des développeurs malveillants intègrent des portes dérobées dans les contrats intelligents, permettant ainsi un accès non autorisé aux fonds.

Qui peut modifier un contrat intelligent ?

Comme tout contrat, une fois que les parties se sont mises d’accord sur les termes du contrat, ceux-ci sont immuables. Même si les parties le souhaitaient, les termes sont inscrits sur la blockchain, qui est inaltérable. Cela rend les contrats intelligents immuables.

La seule façon de « modifier » les termes d’un contrat est de « mettre à niveau » le contrat, c’est-à-dire d’échanger le contrat intelligent sous-jacent d’une application décentralisée (DApp) contre un autre. Alternativement, les parties peuvent choisir d’avoir un contrat évolutif dès le départ, ce qui permet de modifier le contrat intelligent.

Qui contrôle un contrat intelligent ?

Personne ne contrôle le contrat intelligent une fois le code écrit dans la blockchain. Le code s'exécutera si ou quand une condition ou une stipulation prédéterminée est remplie ou vérifiée. L'action consiste à mettre à jour la blockchain et à envoyer des notifications. Seules les parties ayant accès au contrat intelligent peuvent voir les détails de la transaction.

Puisque personne n’a le contrôle exprès du contrat, les parties doivent déterminer les stipulations et les décrire de manière adéquate et sans ambiguïté pour garantir leur exécution. Et cela soulève la question : les jetons peuvent-ils être verrouillés dans un contrat intelligent ? Lorsqu'un utilisateur envoie des jetons dans un contrat intelligent, personne ne peut les échanger ou les retirer, ce qui revient essentiellement à les verrouiller dans celui-ci.

Le contrat intelligent ne libérera les jetons qu’après une certaine période ou après avoir rempli certaines conditions. Certaines plates-formes permettent même de personnaliser le verrouillage des jetons, l'utilisateur spécifiant la date et l'heure auxquelles les jetons peuvent devenir disponibles.

Que sont les approbations et autorisations de jetons dans les contrats intelligents ?

La seule façon de se protéger contre l’exploitation des contrats intelligents est d’approuver uniquement le retrait des fonds requis, d’éviter les plateformes non testées et de révoquer les approbations et autorisations des jetons.

Mais que sont les approbations et autorisations de jetons ? Les contrats intelligents permettent aux DApp d’automatiser le déplacement des jetons dans son portefeuille, d’où les approbations et autorisations des jetons. Par conséquent, les approbations et autorisations de jetons signifient l’approbation par le propriétaire d’un contrat intelligent pour retirer des jetons d’un portefeuille afin d’exécuter une transaction. Un utilisateur peut utiliser plusieurs moyens pour révoquer l'accès au contrat intelligent à ses jetons :

Révocation des contrats intelligents via l'explorateur de blocs de jetons

Les réseaux individuels disposent généralement d'explorateurs de blocs, tels que Polygonscan et Etherscan, qui contiennent une section d'approbation dans laquelle les utilisateurs peuvent utiliser l'outil d'approbation de jeton pour révoquer les autorisations et les approbations.

Voici les étapes typiques suivies lors de l'utilisation d'un outil d'approbation de jeton, et veuillez noter que seul le propriétaire de l'adresse peut révoquer les contrats intelligents connectés :

1. Accédez à la page d'approbation du jeton.

2. Tapez votre adresse dans la barre de recherche et cliquez sur « rechercher ».

3. Tout contrat intelligent associé à l'adresse pouvant dépenser au nom de l'utilisateur apparaîtra dans la liste des actifs, qui fournit des informations supplémentaires telles que l'allocation de jetons du contrat intelligent, le hachage de transaction et les normes de jetons.

4. Connectez-vous au portefeuille en cliquant sur le bouton « Se connecter à Web3 ».

5. Une fois la connexion confirmée, sélectionnez le(s) contrat(s) à révoquer.

Comment révoquer les approbations de jetons et l'autorisation des contrats intelligents sur Ethereum

Voici les étapes habituelles suivies lors de la révocation de contrats intelligents sur le réseau principal Ethereum :

Étape 1 : Révoquer les outils d'accès

Les utilisateurs peuvent suivre et révoquer les contrats intelligents connectés à leurs adresses à l'aide de plusieurs outils d'accès de révocation tiers. Connectez-vous à l’un de ces sites Web pour commencer le processus :

  • zone approuvée : Ethereum

  • Révoquer : plusieurs réseaux

  • EverRise : plusieurs réseaux

  • Éthallowance : Ethereum

  • Unrekt : plusieurs réseaux

  • Beefy.finance : chaîne intelligente BNB

  • Etherscan : Ethereum

  • Cointool : plusieurs réseaux

Étape 2 : Connectez le portefeuille

Une fois connecté au site Web, recherchez et cliquez sur le bouton « Connecter le portefeuille ». Lorsque vous connectez le site Web à votre portefeuille, assurez-vous qu’ils sont sur le même réseau, car les outils de révocation d’accès ne fonctionnent que dans un seul type de chaîne.

Par exemple, si vous êtes connecté au réseau principal Ethereum, vous ne pouvez pas révoquer un contrat intelligent Polygon, car seuls les contrats intelligents Ethereum sont pris en charge et seront affichés.

Étape 3 : Sélectionnez le contrat intelligent

L'outil de contrat intelligent affichera tous les contrats intelligents compatibles, indiquant leurs autorisations d'accès et leurs limites de dépenses. Les utilisateurs doivent sélectionner ceux qu’ils souhaitent révoquer. En cas de doute, sélectionnez tout et accordez de nouvelles autorisations lors du prochain lancement de chaque DApp.

Étape 4 : Révoquer l'accès

Cliquez sur le bouton « révoquer », payez la transaction et attendez une minute ou deux pour terminer la transaction. Déconnectez-vous et reconnectez-vous au site Web pour confirmer que la transaction révoquée a réussi (le contrat intelligent ne doit pas figurer dans la liste).

La révocation de l’accès aux jetons met-elle également fin aux stratégies DeFi ?

Non. Les utilisateurs conserveront leurs positions dans les stratégies de finance décentralisée (DeFi) telles que la mise en commun, le jalonnement et les prêts, leur permettant de continuer à recevoir des récompenses. Cependant, cela peut les affecter de manière significative, selon le contexte et la manière dont la stratégie est structurée.

Dans les écosystèmes DeFi, les utilisateurs autorisent souvent les contrats intelligents à accéder à leurs jetons pour diverses fonctions telles que le trading, le prêt ou le jalonnement. Si un utilisateur révoque cet accès, le contrat intelligent ne peut plus déplacer ou gérer les jetons de l'utilisateur en son nom.

Cette action peut perturber les stratégies en cours qui reposent sur la capacité du contrat à interagir avec les jetons. Cependant, la stratégie DeFi sous-jacente n’est pas interrompue mais mise en pause ou rendue inactive jusqu’à ce que l’accès soit à nouveau accordé ou que la stratégie soit ajustée.

Déconnecter un portefeuille d'un projet équivaut-il à supprimer l'autorisation d'utiliser des fonds ?

Non, ils ne sont pas la même chose. La déconnexion d'un portefeuille d'un projet annule uniquement les autorisations permettant aux autres utilisateurs de consulter les soldes de jetons, l'adresse publique et les activités passées, et arrête le lancement de transactions. Attention cependant, cela n’empêchera pas l’exécution des transactions.

D’un autre côté, supprimer l’autorisation d’utiliser des fonds signifie révoquer l’autorisation d’un DApp d’accéder et de déplacer le contenu d’un portefeuille.