
Pour les utilisateurs débutants qui découvrent les « Frame Transactions » dans le contexte d’Ethereum et des discussions Hegotá, le modèle mental le plus accessible consiste à imaginer une transaction structurée en plusieurs étapes coordonnées. Un frame vérifie l’expéditeur, un autre autorise le paiement, puis les frames suivants effectuent l’action utilisateur. Cet article explore cette structure élémentaire, sans aborder en détail la proposition plus vaste EIP-8141.
L’EIP-8141 introduit un nouveau type de Frame Transaction, actuellement défini par le type de transaction 0x06.
Une transaction unique peut comporter jusqu’à 64 frames, chacun disposant de son propre mode d’exécution et de ses limites de gas.
Les frames permettent de dissocier la validation, le paiement du gas et l’exécution utilisateur.
L’opcode APPROVE autorise spécifiquement l’exécution, le paiement, ou les deux.
L’abstraction des frames favorise l’abstraction native des comptes, le batching atomique, le parrainage du Gas et la vérification programmable des signatures.
La spécification officielle des Frame Transactions EIP-8141 décrit un nouveau type de transaction dont la validité et le paiement du gas peuvent être déterminés de façon abstraite. Spécification EIP-8141
Le payload de la transaction inclut l’adresse de l’expéditeur, les signatures, les frais et une liste de frames. Chaque frame précise son mode, ses indicateurs, sa cible, ses limites d’exécution et de gas d’état, sa valeur et ses données. La version actuelle fixe MAX_FRAMES à 64 et FRAME_TX_TYPE à 0x06.
En comparaison, une transaction legacy suit une logique fixe où l’expéditeur signe et paie. L’abstraction des frames transforme ce schéma en une séquence programmable.
Chaque frame EIP-8141 possède l’un des trois modes d’exécution :
| Mode | Objectif principal |
|---|---|
| VERIFY | Identifie le frame comme étape de validation de transaction |
| SENDER | Exécute le frame en utilisant l’expéditeur de la transaction comme appelant |
| DEFAULT | Exécute le frame avec l’identité ENTRY_POINT définie par le protocole |
Le mode d’exécution détermine le contexte d’opération du frame. Un frame VERIFY permet d’exécuter la logique de vérification avant les frames sender, tandis que le mode SENDER autorise des opérations comme si elles étaient initiées par l’expéditeur. Le mode DEFAULT offre une identité neutre au niveau du protocole.
Cette modularité est essentielle pour l’abstraction native des comptes, car la validation ne dépend plus d’une clé privée ou d’un schéma de signature unique.
L’EIP-8141 ajoute l’opcode APPROVE afin de mettre à jour le contexte d’approbation d’une transaction.
La logique de validation peut recourir à différents périmètres d’approbation :
APPROVE_PAYMENT autorise le paiement du gas.
APPROVE_EXECUTION autorise l’exécution des frames sender suivants.
APPROVE_EXECUTION_AND_PAYMENT autorise les deux.
La cible du frame doit être l’appelant de APPROVE, ce qui limite qui peut accorder l’autorisation. Après approbation de l’exécution, les frames SENDER suivants s’exécutent dans le contexte de l’expéditeur.
Cette distinction permet à un contrat sponsor ou à un paymaster d’autoriser le coût maximal du gas, tandis que la logique de validation propre à l’utilisateur autorise séparément l’exécution.
La spécification actuelle propose sept instructions liées aux frames :
| Opcode | Fonction |
|---|---|
| APPROVE | Autorise le paiement et/ou l’exécution |
| TXPARAM | Lit les paramètres de la transaction |
| FRAMEDATALOAD | Charge les données d’un frame spécifié |
| FRAMEDATACOPY | Copie les données d’entrée du frame en mémoire |
| FRAMEPARAM | Lit les paramètres et le statut d’exécution du frame |
| SIGPARAM | Lit les métadonnées de la signature |
| SIGDATACOPY | Copie les données de signature prises en charge |
Par exemple, TXPARAM peut révéler des informations propres à la transaction comme l’expéditeur, le frais maximal, le hash de signature et le nombre de frames. FRAMEPARAM expose des détails tels que le mode d’exécution, les indicateurs, le gas consommé et la présence d’un flag de batch atomique. Ces opérations de consultation ont un coût de gas de 2.
Les Frame Transactions dissocient le paiement du Gas de l’expéditeur. Un frame VERIFY peut autoriser un autre compte ou un contrat sponsor à payer, ce qui constitue un mécanisme natif de parrainage du Gas.
Par exemple, un utilisateur peut détenir des stablecoins tandis qu’un autre compte assure le paiement du gas. La Frame Transaction peut transférer des tokens ERC-20 pour rémunérer le sponsor, alors que le coût de la transaction Ethereum est réglé par le payeur désigné.
Chaque frame possède ses propres limites d’exécution et de Gas d’état. Le Gas non utilisé diminue le montant facturé au payeur, au lieu d’augmenter la capacité d’exécution des frames restants.
Un batch atomique relie plusieurs frames d’exécution pour qu’ils réussissent ou échouent ensemble.
Par exemple, une approbation ERC-20 suivie d’un swap : si le flag batch atomique est activé et que le swap échoue, l’approbation précédente est annulée aussi. Cela évite qu’une autorisation de token non souhaitée demeure après l’échec de la transaction.
C’est une raison concrète pour laquelle les Frame Transactions simplifient les interactions multi-étapes avec les Smart Contracts.
Le framework ERC-4337 d’abstraction de compte d’Ethereum utilise des smart accounts, des bundlers, des UserOperations et des paymasters pour offrir une gestion programmable du portefeuille. Les Frame Transactions apportent davantage de flexibilité directement à la couche protocole.
La validation programmable de l’EIP-8141 prend en charge différents schémas de signature, la rotation de clé, l’agrégation future de signatures et une perspective vers la résistance post-quantique. Le code par défaut permet aux comptes sans code de contrat déployé de participer, tandis qu’un frame de déploiement peut prendre en charge la création de compte avant la vérification.
Cette flexibilité implique des compromis : une logique de validation arbitraire peut engendrer des risques de déni de service ou d’invalidation massive. Par conséquent, des règles spécifiques du mempool public limitent le préfixe de validation et la gestion des Frame Transactions en attente.
Une Frame Transaction Ethereum correspond à une transaction unique composée de plusieurs frames programmables. Plutôt que d’imposer validation, paiement du gas et exécution dans un seul rôle, l’EIP-8141 permet à des frames distincts de gérer chaque fonction.
La distinction fondamentale est la suivante : L’EIP-8141 est la proposition de protocole ; les Frame Transactions sont le nouveau format de transaction qu’elle introduit. Leur structure modulaire permet le parrainage du gas, le batching atomique, la validation programmable, des signatures flexibles et l’abstraction native des comptes, sans transformer chaque fonctionnalité en système transactionnel autonome.
Oui. Le mode VERIFY sert à valider la transaction et fonctionne sans modifier durablement l’état. Cela permet aux nœuds de simuler la validation en toute sécurité avant d’intégrer ou de maintenir une Frame Transaction en attente dans le mempool public.
Non systématiquement. Dans l’EIP-8141, le payeur est sélectionné via une logique de validation programmable et ne peut donc pas toujours être déterminé à partir des données de la transaction. L’approbation du paiement intervient lors du processus de validation.
L’autorisation de l’expéditeur est établie en premier, puis celle du paiement est confirmée pour le compte ou le paymaster couvrant le coût du gas. Ce découpage permet qu’une partie valide l’exécution tandis qu’une autre autorise le paiement du gas.
Non. La gestion du Gas dans les Frame Transactions interdit à un frame d’emprunter le budget de Gas non utilisé d’un autre frame. Chaque frame dispose de ses propres limites d’exécution et de Gas d’état, et la limite totale de Gas de la transaction comprend le Gas intrinsèque ainsi que les limites des frames concernés.
Un paymaster canonique suit une implémentation définie par le protocole, dont le code doit correspondre à la spécification attendue ; les nœuds peuvent suivre ses engagements de gas en attente plus efficacement. Les paymasters non-canoniques sont soumis à des restrictions de mempool plus strictes, notamment une limite d’une transaction en attente, pour réduire les risques d’invalidation massive et de déni de service.
Ce contenu est destiné à des fins éducatives uniquement. L’EIP-8141 s’inscrit dans la feuille de route évolutive d’Ethereum, et ses spécifications peuvent évoluer avant activation sur le mainnet.











