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

Ethereum, conceptualisé pour la première fois en 2013 par le programmeur russo-canadien Vitalik Buterin, 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 en passant par 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 de 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 de compte signées cryptographiquement.

Le réseau Ethereum prend en charge deux principaux types de transactions : les transactions de mise en œuvre 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 envoyée 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, les 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 envoyée.

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

Les mineurs d’Ethereum vérifient les transactions légitimes pour recevoir une récompense pour leur travail dans la création d’un nouvel ETH. Lorsqu’un mineur résout un casse-tête 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 informatiques imprudentes ou malveillantes, telles que les utilisateurs spammant la blockchain avec une surcharge de transactions inutile.

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 à bas prix du gaz peuvent ne jamais se rétablir, les laissant « bloquées » dans le statut d’attente pour toujours.

En bloc: Lorsqu’un mineur sélectionne avec succès une transaction et l’extrait dans un bloc, il passe à l’état de bloc. Les transactions bloquées 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 à l’état de bloc) est annulée par le réseau, elle est appelée transaction forkée.

Remplacé : Lorsque l’un des événements suivants 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 en bloc, 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 à partir du premier bloc qui comprenait cette transaction.

Une transaction Ethereum en attente doit recevoir un certain nombre de confirmations. Plus le tarif du gaz est élevé, 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 est toujours valide. La probabilité de réorganisation diminue avec chaque bloc extrait par la suite, c’est-à-dire que plus il y a de commits, plus la transaction devient immuable.

Confirmations de transaction Ethereum

Des frais de transaction sont une incitation que les utilisateurs paient pour bloquer les mineurs. Il est utilisé pour envoyer une transaction particulière sur 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 exprimé en ETH. Bien que la complexité d’une transaction particulière détermine le coût du gaz, les utilisateurs peuvent fixer leur propre prix et limite de gaz, ou le nombre maximum d’unités de gaz consommées par la transaction.

Qu’est-ce qu’un nonce ?

Un nonce est l’abréviation de « nombre utilisé une seule fois », qui fait 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 d’un compte sans trop de retard, 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 restent bloquées lorsque les utilisateurs expédient avec un prix de l’essence 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 qu’ils doivent faire 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 de soumettre 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 valeur nonce la plus ancienne ou la plus basse.

Comment accélérer la transaction Ethereum ?

Les utilisateurs peuvent accélérer une transaction Ethereum lente en ajoutant de l’essence. Cette étape peut inciter les mineurs d’Ethereum à la prioriser.

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 soit prêt à traiter une transaction au prix fixé ou de renvoyer la transaction d’origine, mais à un tarif de gaz plus élevé. Cliquer sur le bouton « accélérer » dans votre portefeuille Ethreum devrait permettre à la transaction de se traiter plus rapidement.

Si l’étape ci-dessus n’a pas fonctionné, les utilisateurs peuvent 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 dans l’explorateur de blockchain en publiant son hachage pour voir si elle a été traitée correctement. Si la transaction n’apparaît pas immédiatement, ils devront attendre quelques minutes et rafraîchir 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, les blocs de données saisis sont donc 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 Soumettre.

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.