Smart Gas Tangem : payez les frais de réseau avec des stablecoins

Cet article est disponible dans les langues suivantes :

Author logo
Jeremie
Post image

AI summary

L’article présente la solution des transactions « smart gas », qui permettent aux utilisateurs de payer les frais de transaction blockchain avec des stablecoins comme l’USDC ou l’USDT, éliminant ainsi le besoin de détenir la monnaie native du réseau (ETH, BNB, etc.). Cette innovation, rendue possible par la mise à niveau EIP-7702, simplifie grandement l’expérience d’auto-conservation et réduit un obstacle majeur pour les nouveaux venus dans l’écosystème crypto. Tangem a développé une implémentation sécurisée et optimisée de cette fonctionnalité, facilitant l’utilisation des portefeuilles sans connaissance technique approfondie.

Les utilisateurs qui migrent des plateformes d’échange centralisées vers des portefeuilles en auto-conservation rencontrent systématiquement le même obstacle : ils retirent des tokens vers leur nouveau portefeuille, tentent d’effectuer une transaction, et découvrent qu’ils ne le peuvent pas. La transaction nécessite des frais de gas payés dans la monnaie native du réseau — ETH sur Ethereum, BNB sur BNB Smart Chain, MATIC sur Polygon — et ils n’en ont pas.

Ce n’est pas un simple désagrément. L’utilisateur doit maintenant obtenir une petite quantité de tokens natifs juste pour déplacer ses propres actifs. Cela signifie trouver une plateforme qui permet de petits achats, payer des frais de retrait qui peuvent dépasser le montant nécessaire, ou trouver un faucet ou un ami capable de lui envoyer de quoi démarrer. Pour beaucoup d’utilisateurs, surtout ceux qui débutent en auto-conservation, c’est à ce moment-là qu’ils abandonnent.

Nous intégrons des transactions smart gas afin d’éliminer totalement cet obstacle.

Qu’est-ce qu’une transaction smart gas ?

Les transactions smart gas permettent aux utilisateurs de payer les frais réseau avec des stablecoins populaires, au lieu des tokens natifs. Si vous détenez de l’USDC ou de l’USDT sur un réseau pris en charge, vous pouvez l’utiliser pour régler directement les frais de transaction.

Exemple : Alice retire 100 USDT de Coinbase vers son portefeuille Tangem sur le réseau Ethereum. Elle veut envoyer 50 USDT à Bob, mais elle n’a pas d’ETH sur Tangem pour payer les frais de gas. Avec les transactions smart gas, l’application détecte son solde en USDT et propose de payer les frais en USDT. Alice confirme et signe la transaction, et 50 USDT sont envoyés à Bob, avec ~0,80 $ en USDT déduits comme frais réseau. Elle n’a jamais eu besoin d’acquérir de l’ETH.

Réseaux et tokens pris en charge

Les transactions smart gas sont disponibles sur les principaux réseaux EVM ayant implémenté l’EIP-7702 (mise à niveau Pectra). Nous avons sélectionné les tokens de frais en fonction de la liquidité, de coûts de gas de transfert prévisibles et d’une adoption large ; principalement des stablecoins indexés sur l’USD que les utilisateurs sont les plus susceptibles de détenir après un retrait depuis une plateforme d’échange.

 

Réseau

Tokens de frais pris en charge

Ethereum

USDC, USDT

BNB Smart Chain

USDC, BSC-USD

Polygon

USDC, USDT0

Arbitrum One

USDC, USDT0

Base

USDC

Comment une transaction smart gas fonctionne en coulisses

Cette fonctionnalité est rendue possible par l’EIP-7702 (« Set Code for EOA »), introduit avec la mise à niveau Pectra en mai 2025. Cette norme représente une évolution majeure dans la façon dont les comptes Ethereum peuvent fonctionner.

Comment fonctionne l’EIP-7702

Traditionnellement, Ethereum distingue deux types de comptes : les Externally Owned Accounts (EOA), contrôlés par des clés privées, et les Contract Accounts, qui contiennent du code exécutable. Les EOA sont simples — ils peuvent détenir des actifs et signer des transactions — mais ils ne peuvent pas exécuter de logique personnalisée. Les comptes de contrat peuvent exécuter du code arbitraire, mais nécessitent un déploiement et ont des propriétés de sécurité différentes.

L’EIP-7702 comble cet écart. Il permet à un EOA de déléguer temporairement au code d’un smart contract en signant un message d’autorisation. Point crucial : cette autorisation ne nécessite pas de transaction on-chain. L’utilisateur signe un message, et cette signature peut être incluse dans une transaction soumise par quelqu’un d’autre.

C’est ce qui rend les transactions smart gas possibles : les utilisateurs peuvent autoriser l’attachement de notre logique de contrat à leur compte sans payer de frais de gas pour cette autorisation elle-même.

Pourquoi c’est important

Avant l’EIP-7702, obtenir une fonctionnalité similaire nécessitait soit :

  1. Account abstraction (ERC-4337) : oblige les utilisateurs à migrer vers une nouvelle adresse de portefeuille smart contract, ce qui casse la compatibilité avec leur EOA existant.
     
  2. Méta-transactions : nécessite que les contrats de tokens prennent en charge des fonctions « permit » ou une infrastructure de relais spécifique.
     
  3. Relais centralisés : introduisent des hypothèses de confiance et des points potentiels de censure

L’EIP-7702 permet aux utilisateurs de conserver leur adresse existante tout en obtenant des capacités de smart contract à la demande.

Implémentation du smart contract de Tangem

Nous avons développé un smart contract sur mesure plutôt que d’adopter des solutions existantes. Les implémentations « prêtes à l’emploi » que nous avons évaluées étaient soit plus coûteuses pour les utilisateurs (en raison d’une surcharge inutile), soit incluaient des fonctionnalités qui augmentaient la surface d’attaque sans apporter de bénéfice à notre cas d’usage.

Notre implémentation s’appuie sur deux contrats :

Tangem7702Smart gasExecutor

C’est le contrat auquel délègue l’EOA de l’utilisateur. Il gère :

  1. Vérification de signature — valide que les paramètres de la transaction smart gas ont été signés par le propriétaire du compte via la signature de données typées EIP-712
  2. Exécution de la transaction — exécute la transaction souhaitée par l’utilisateur (par ex., un transfert de tokens)
  3. Compensation des frais — calcule le gas réellement consommé et transfère le montant approprié du token de frais au bénéficiaire des frais

Le contrat conserve un stockage minimal — uniquement un nonce pour la protection contre la relecture. La disposition du stockage est décalée via la fonctionnalité de disposition de stockage personnalisée de Solidity afin d’éviter les collisions si le contrat est un jour mis à niveau.

// Structures de données principales
struct Transaction {
    address to;
    uint value;    // Doit actuellement être 0
    bytes data;
}
struct Fee {
    address feeToken;           // Token utilisé pour le paiement des frais
    uint maxTokenFee;           // Frais maximum en unités du token
    uint coinPriceInToken;      // Prix de la monnaie native exprimé en token
    uint feeTransferGasLimit;   // Limite de gas pour le transfert des frais
    uint baseGas;               // Surcharge fixe (vérification de signature, mise à jour du nonce)
    address feeReceiver;        // Adresse de collecte des frais
}
struct Smart gasTransaction {
    Transaction transaction;
    Fee fee;
    uint nonce;    // Depuis le stockage du contrat de l’utilisateur
}

Constantes clés :

  • BASE_GAS = 60,000 — Surcharge fixe de gas pour la vérification de signature, les mises à jour du nonce et la structure d’exécution

Tangem7702EntryPoint : le contrat Entry Point

Nous avons également déployé un contrat Entry Point qui sert d’interface de notre relais pour exécuter les transactions smart gas. Son rôle est simple et essentiel : il vérifie que le code de contrat attaché à l’adresse de l’utilisateur correspond exactement à ce que nous attendons avant de transférer la transaction pour exécution.

function executeTransaction(
    Smart gasTransaction calldata gasslessTx,
    bytes calldata signature,
    bool forced,
    address executor
) external

Le paramètre forced contrôle le comportement lorsque le gas de transfert des frais dépasse feeTransferGasLimit :

  • false — annule la transaction (utilisé lors de l’estimation du gas)
  • true — émet un événement et continue (utilisé lors de l’exécution réelle, puisque le gas est déjà dépensé)

Cela protège notre infrastructure de relais. Comme nous payons les coûts réels de gas à l’avance et recevons une compensation depuis le solde de tokens de frais de l’utilisateur, nous avons besoin de l’assurance que le contrat attaché calculera et transférera correctement cette compensation. L’Entry Point garantit que nous interagissons uniquement avec des comptes exécutant notre code de contrat audité. 

Paramètres de frais

Lorsque vous approuvez une transaction smart gas, vous signez un message contenant :

  • Token de frais : quel stablecoin sera utilisé pour le paiement (par ex., USDC)
  • Prix du token : le taux de change entre le token de frais et la monnaie native, utilisé pour calculer le coût équivalent
  • Frais maximum : la limite supérieure que l’utilisateur est prêt à payer — c’est ce qui est affiché dans l’application Tangem
  • Paramètres supplémentaires pour la protection contre la relecture et les spécificités de la transaction

Le frais maximum donne aux utilisateurs une certitude sur le coût. Les frais réellement facturés sont basés sur la consommation réelle de gas et seront généralement inférieurs à ce maximum.

Modèle de sécurité

Nous avons évalué des solutions existantes (account abstraction ERC-4337, fournisseurs smart gas tiers), mais construire notre propre contrat a été une décision de sécurité délibérée. Les solutions génériques de transactions smart gas incluent souvent :

  • La prise en charge d’appels de contrats arbitraires (ce qui élargit ce qu’une signature compromise pourrait autoriser)
  • Des capacités de transactions par lots (ce qui augmente la complexité et le risque d’interactions inattendues)
  • Des mécanismes de mise à niveau (introduisant des risques liés aux clés admin)

Notre contrat est conçu spécifiquement pour des transferts de tokens avec paiement des frais. Il fait une seule chose, ce qui le rend plus facile à auditer et à analyser.

Facteur

ERC-4337

Implémentation de Tangem

Surcharge de gas

Plus élevée (infrastructure bundler)

Plus faible (exécution directe)

Surface d’attaque

Plus large (davantage de fonctionnalités)

Minimale (usage unique)

Risque de collision de stockage

Varie selon l’implémentation

Atténué via une disposition de stockage personnalisée

Mise à niveau

Souvent incluse (risque de clé admin)

Non upgradable

Audit

Le contrat a été audité par Pessimistic, une société de sécurité blockchain spécialisée dans l’analyse de smart contracts. Le rapport d’audit complet est disponible sur GitHub. 

Expérience utilisateur

Malgré la complexité technique sous-jacente, l’expérience côté utilisateur est simple :

  1. Vous initiez une transaction (envoyer, swap, envoyer via swap) sur un réseau pris en charge
  2. Si vous avez un solde dans un stablecoin pris en charge, l’application vous propose l’option de payer les frais dans ce token
  3. Vous voyez le frais maximum dans la dénomination du stablecoin et vous confirmez la transaction
  4. En coulisses : vous signez à la fois l’autorisation EIP-7702 (attacher le smart contract de Tangem à votre compte) et les paramètres de la transaction smart gas
  5. Ce lot signé est envoyé à notre backend, qui soumet la transaction au réseau
  6. La transaction s’exécute et les frais sont déduits de votre solde de stablecoin

De votre point de vue, c’est une transaction normale — sauf que vous n’avez pas eu besoin de coins natifs pour la réaliser.

Limitations et points à considérer

Les transactions smart gas fonctionnent actuellement avec les stablecoins listés plus haut dans cet article. Nous les avons sélectionnés en fonction de la liquidité, de l’adoption et de la compatibilité technique. D’autres limitations incluent :

  • Prime de frais : les transactions smart gas peuvent coûter légèrement plus cher que les paiements de gas en natif, en raison de la surcharge d’exécution du contrat et de la nécessité de convertir les prix des tokens. Nous avons optimisé notre contrat pour minimiser cette prime.
     
  • Prise en charge des réseaux : l’EIP-7702 n’est disponible que sur les réseaux ayant implémenté la mise à niveau Pectra. Nous avons activé la fonctionnalité sur les réseaux où le support de l’EIP-7702 et la liquidité des stablecoins la rendent pratique.

Conclusion

Les transactions smart gas suppriment l’un des points de friction les plus persistants de l’auto-conservation. En s’appuyant sur l’EIP-7702, nous permettons aux utilisateurs de transiger uniquement avec les tokens qu’ils détiennent déjà.

Pour les utilisateurs venant des plateformes d’échange, cela signifie que leurs tokens retirés sont immédiatement utilisables. Pour l’écosystème au sens large, c’est un pas vers une infrastructure crypto qui s’adapte aux utilisateurs là où ils en sont, plutôt que d’exiger qu’ils comprennent la mécanique du gas avant de pouvoir déplacer leur propre argent.

À ne pas manquer ! Nous baissons les prix de 20 %

La vente flash se termine bientôt ! Staking avec récompense en BTC. Appuyez pour obtenir

Obtenez Tangem
Author logo
Auteurs Jeremie