mercredi, novembre 20, 2024

Comment modifier ou annuler une transaction Ethereum en attente

Ethereum est une plate-forme logicielle open source basée sur la blockchain avec des milliers d’applications décentralisées (DApps) qui alimentent sa crypto-monnaie native, Ether (ETH), qui peut être envoyée et reçue dans le monde entier sans aucune interférence de tiers.

Conçu pour la première fois en 2013 par le programmeur russo-canadien Vitalik Buterin, Ethereum a été conçu comme une plate-forme pour les DApps auto-exécutables, permanents et immuables avec des cas d’utilisation allant de la finance aux jeux et à l’art.

Les DApps sont souvent appelés contrats intelligents, qui sont des protocoles de transaction Ethereum qui exécutent automatiquement certaines fonctions et actions telles que le traitement des transactions avec des conditions et des accords prédéterminés. L’envoi d’une transaction, son annulation ou la résolution d’une transaction Ethereum en attente sont des actions liées au fonctionnement des contrats intelligents.

Qu’est-ce qu’une transaction Ethereum ?

Les transactions sont des instructions signées cryptographiquement à partir des comptes.

Le réseau Ethereum prend en charge deux principaux types de transactions : les transactions de déploiement de contrat, le type de transaction sans récepteur, et les transactions régulières, le type de transaction le plus simple utilisé pour transférer l’ETH d’un portefeuille à un autre.

Une transaction Ethereum régulière soumise comprend l’identifiant de l’expéditeur ou la signature générée lorsque la clé privée de l’expéditeur signe la transaction et confirme que l’expéditeur a autorisé la transaction Ethereum particulière. L’adresse de réception, un montant d’ETH à transférer de l’expéditeur au destinataire, des informations sur les frais de transaction Ethereum et un champ facultatif pour inclure des données arbitraires font tous partie d’une transaction Ethereum régulière soumise.

Les transactions Ethereum doivent être minées pour devenir valides et nécessitent des frais de la part de l’expéditeur.

Les mineurs d’Ethereum vérifient les transactions légitimes afin de recevoir une récompense pour leur travail dans la création de nouveaux ETH. Lorsqu’un mineur résout un puzzle cryptographique (mathématique), une transaction est considérée comme validée. Ethereum, comme Bitcoin (BTC), dispose d’un système de preuve de travail (PoW) pour empêcher les cyberattaques d’un seul individu ou groupe.

L’obligation pour les utilisateurs de payer des frais de transaction lors de l’utilisation de la blockchain protège le réseau Ethereum des tâches de calcul bâclées ou malveillantes telles que les utilisateurs spammant la blockchain avec une surcharge de transactions inutiles.

Cycle de vie des transactions Ethereum

Une transaction Ethereum passe par une série d’états, en commençant par l’état inconnu jusqu’à ce qu’il soit confirmé dans un bloc.

Inconnu: L’état inconnu fait référence à une transaction que le réseau n’a pas vue ou traitée.

En attente: Lorsqu’une transaction est en attente, elle attend que les mineurs la récupèrent et la traitent, ce qu’on appelle une transaction groupée, également appelée « mempool ». Étant donné que les mineurs accordent la priorité à des prix du gaz plus élevés, les transactions avec des valeurs de gaz inférieures peuvent languir dans la phase d’attente pendant une période prolongée. Les transactions avec les prix du gaz les plus bas peuvent ne jamais être récupérées, les laissant « bloquées » dans le statut en attente pour toujours.

En bloc: Lorsqu’un mineur sélectionne avec succès une transaction et l’exploite dans un bloc, il passe à l’état dans le bloc. Les transactions en bloc sont appelées transactions minées. Si le bloc est fork, une transaction dans le bloc peut revenir à l’état en attente. Lorsqu’une transaction minée (c’est-à-dire une transaction dans l’état de bloc) est inversée par le réseau, elle est connue sous le nom de transaction forkée.

Remplacé : Lorsque l’une des circonstances suivantes se produit, une transaction peut être déplacée de l’état en attente à l’état remplacé :

  • Une nouvelle transaction avec le même nonce du même expéditeur passe à l’état bloqué, ou
  • Une autre transaction avec le même nonce et un prix du gaz supérieur de 12% entre dans la phase d’attente, cette fois du même expéditeur.

Confirmations de transaction Ethereum

Les confirmations de transaction Ethereum sont le nombre de blocs créés depuis le premier bloc qui comprenait cette transaction.

Une transaction Ethereum en attente doit recevoir un certain nombre de confirmations. Plus les frais de gaz sont élevés, plus la certitude que le réseau Ethereum a traité et reconnu la transaction est élevée.

Les blocs récents peuvent être réorganisés, donnant l’impression que le traitement de la transaction a échoué. Même ainsi, la transaction peut être incluse dans un autre bloc et reste valide. La probabilité de réorganisation diminue à chaque bloc miné par la suite, c’est-à-dire que plus les confirmations sont nombreuses, plus la transaction devient immuable.

Confirmations de transaction Ethereum

Des frais de transaction sont une incitation payée par les utilisateurs pour bloquer les mineurs. Il est utilisé pour envoyer une transaction particulière dans la blockchain Ethereum.

Les frais de transaction de la blockchain Ethereum sont également appelés frais de gaz, car ils sont liés au gaz, un mécanisme de tarification utilisé sur le réseau Ethereum qui fait référence au calcul requis pour traiter la transaction par un mineur. Les tâches de calcul d’une transaction sont mesurées en termes de coût du gaz.

D’autre part, chaque unité de gaz a un prix du gaz donné en ETH. Bien que la complexité d’une transaction particulière détermine le coût du gaz, les utilisateurs peuvent définir leur propre prix et limite de gaz, ou la quantité maximale d’unités de gaz consommées par la transaction.

Qu’est-ce qu’un nonce ?

Un nonce est l’abréviation de « numéro utilisé une seule fois », faisant référence au nombre total de transactions confirmées envoyées depuis l’adresse Ethereum donnée.

Les portefeuilles Ethereum peuvent diffuser plusieurs transactions à partir d’un compte sans trop de retard entre eux, ce qui signifie qu’un calcul de nonce est considéré comme un mécanisme nécessaire qui détermine quelle transaction est traitée en premier. Habituellement, les applications de portefeuille Ethereum s’occupent de la gestion des nonce pour les utilisateurs.

Comment annuler une transaction Ethereum ?

Il existe deux méthodes principales pour annuler une transaction Ethereum en attente : l’annulation dans l’application et la définition d’un nonce personnalisé.

Habituellement, les transactions Ethereum sont en attente pendant des heures ou bloquées lorsque les utilisateurs soumettent avec un prix du gaz bas. Par conséquent, les utilisateurs trouvent souvent nécessaire de modifier les transactions Ethereum.

Lors de la résolution de ce problème, les utilisateurs doivent se rappeler que l’annulation ne peut être tentée que si la transaction est toujours en attente sur le réseau. La première étape est de vérifier dans un explorateur de blocs si la transaction est toujours en attente. Principalement, pour coller le hachage de la transaction, également connu sous le nom d’ID de transaction Ethereum, et si un explorateur de blocs dit « en attente », les utilisateurs peuvent toujours essayer de l’annuler.

Le moyen le plus simple d’annuler une transaction Ethereum bloquée est l’annulation dans l’application, qui oblige les utilisateurs à quitter l’application de portefeuille Ethereum et à fermer leur navigateur, à le rouvrir et à se reconnecter à l’application.

Si ces étapes ne résolvent pas le problème, la deuxième voie viendra à la rescousse.

Annuler une transaction Ethereum en attente en définissant un nonce personnalisé signifie générer une transaction 0 ETH avec un prix du gaz élevé à la propre adresse de l’utilisateur pour éviter qu’une transaction précédente ne soit bloquée. Avant d’envoyer cette deuxième transaction, les utilisateurs doivent noter le nonce utilisé par la transaction en attente d’origine, puis réutiliser le même nonce qu’ils ont noté.

Si les utilisateurs ont plusieurs transactions Ethereum en attente, elles commencent de préférence par la plus ancienne ou la valeur de nonce la plus basse.

Comment accélérer la transaction Ethereum ?

Les utilisateurs peuvent accélérer une transaction Ethereum lente en y ajoutant du gaz. Cette étape peut inciter les mineurs d’Ethereum à lui donner la priorité.

Si un utilisateur d’Ethereum fixe un prix du gaz trop bas, les autres utilisateurs ont la possibilité de surenchérir sur cette offre initiale et la transaction restera en attente. Lorsque la transaction est bloquée, le réseau ne confirme aucune nouvelle transaction à partir de la même adresse de portefeuille jusqu’à ce que le mineur confirme la première transaction.

Dans cette situation, les utilisateurs peuvent choisir d’attendre que le réseau accepte de traiter une transaction au prix fixé ou de soumettre à nouveau la transaction d’origine, mais avec des frais d’essence plus élevés. Cliquer sur le bouton « accélérer » dans leur portefeuille Ethreum devrait permettre à la transaction d’être traitée plus rapidement.

Si l’étape précédente ne fonctionnait pas, les utilisateurs pouvaient accéder à l’onglet avancé pour définir le prix du gaz manuellement.

Après tout, il est conseillé aux utilisateurs de rechercher la transaction sur l’explorateur de blockchain en publiant son hachage pour voir si elle a été traitée avec succès. Si la transaction n’apparaît pas immédiatement, ils devront attendre quelques minutes et actualiser une page.

Les transactions Ethereum peuvent-elles être annulées ?

Les portefeuilles Ethereum ne peuvent pas annuler les transactions Ethereum déjà terminées.

Lorsque les utilisateurs d’Ethereum envoient accidentellement des fonds à la mauvaise adresse ou envoient le mauvais montant d’ETH, ils peuvent annuler la transaction alors qu’elle est toujours en attente. Lorsque la transaction est confirmée et affichée comme « réussie », ce qui signifie qu’elle a été ajoutée au bloc suivant, elle ne peut pas être annulée. La blockchain Ethereum est conçue comme immuable, de sorte que les blocs de données saisis sont irréversibles. Sachant cela, il est essentiel de s’assurer que les détails de la transaction sont corrects avant de cliquer sur le bouton d’envoi.

Enfin, il convient de noter que de nombreuses startups blockchain ont déjà développé des mécanismes qui permettraient aux utilisateurs d’inverser les transactions Ethereum.