EIP-7702

Intermédiaire

Qu’est-ce que la proposition EIP-7702 ?

La proposition EIP-7702 est une proposition conçue pour améliorer les capacités des comptes détenus en externe (CDE). Les CDE sont des comptes de base sur le réseau Ethereum, qui peuvent envoyer des transactions et interagir avec des smart contracts. Cependant, il leur manque certaines fonctionnalités que l’on retrouve dans certains portefeuilles crypto, comme le traitement par lots de transactions et le parrainage du gas.
La proposition EIP-7702 vise à permettre temporairement aux CDE de se comporter comme des comptes de smart contract dans le cadre d’une seule transaction, introduisant ainsi des fonctionnalités généralement réservées aux portefeuilles de smart contract. La proposition EIP-7702 a été créé en réponse à certaines limites et critiques de la proposition EIP-3074.

Bien que la proposition EIP-7702 ne soit pas actuellement en ligne, elle bénéficie d’un soutien notable de la communauté et beaucoup pensent qu’elle pourrait remplacer la proposition EIP-3074. Si cela se produit, la norme EIP-7702 pourrait être mise en œuvre dans la mise à niveau Pectra d’Ethereum, prévue pour fin 2024.

Fonctionnement de la proposition EIP-7702

La proposition EIP-7702 présente un nouveau type de transaction sur le réseau Ethereum qui comprend un champ spécial appelé contract_code. Cela donne à un CDE certaines propriétés de smart contract pour la durée de la transaction. Voyons comment cela fonctionne.

Préparation de la transaction

L’utilisateur commence par préparer une transaction, y compris les détails habituels tels que l’adresse de destination, la limite de gas et toutes les données qui doivent être envoyées. En plus de ces détails, il inclut un code spécial de smart contract dans le champ contract_code. Ce code décrit les fonctionnalités du smart contract qui seront temporairement affectées à leur CDE.

Autorisation 

L’utilisateur signe ensuite la transaction. Cette signature est cruciale car elle authentifie la transaction et inclut une liste d’autorisations qui détaille le contract_code et les conditions dans lesquelles il doit être exécuté. Ce dernier vérifie et autorise essentiellement l’attribution temporaire du code du smart contract au CDE.

Exécution

Lorsque la transaction est soumise à Ethereum, le réseau la traite en attribuant temporairement le contract_code spécifié au CDE. Au cours de cette phase, la transaction est traitée comme si le CDE était un smart contract, en utilisant les fonctionnalités fournies par le contract_code.

Retour à l’état d’origine

Une fois la transaction terminée, le réseau Ethereum supprime automatiquement le contract_code temporaire du CDE. Le CDE revient à son état d’origine, perdant les capacités temporaires de smart contract acquises.

Analogie avec une livraison

Imaginez que Bob soit chauffeur-livreur et dispose d’une voiture ordinaire qui ne peut transporter que de petits colis. Un jour, Bob reçoit une demande de livraison pour un colis plus volumineux. Ainsi, au lieu de refuser la commande, Bob décide de louer une remorque qu’il attachera à sa voiture. Il livre le colis et rend la remorque au magasin de location, retrouvant ainsi sa voiture telle qu’elle est habituellement.

Dans cette analogie :

  • La voiture ordinaire est le CDE.

  • La remorque temporaire est le contract_code qui offre des capacités supplémentaires.
  • L’itinéraire de livraison est la transaction.

  • La location et le retour de la remorque représentent le caractère temporaire du contract_code, qui n’est actif que pendant la transaction.

Avantages de la norme EIP-7702

Sécurité

En supprimant automatiquement le code de contrat temporaire après la transaction, la norme EIP-7702 réduirait le risque d’actions non autorisées afin de garantir que les améliorations ne sont actives que pendant la transaction, ce qui limite les vulnérabilités potentielles.

Flexibilité

La proposition EIP-7702 permettrait divers cas d’utilisation, tels que le regroupement de transactions, où plusieurs actions peuvent être combinées en une seule transaction. Elle soutiendrait également le parrainage du gas, permettant à un compte de payer les frais de transaction d’un autre compte.

Adoption du portefeuille intelligent

En permettant aux CDE de fonctionner temporairement comme des smart contracts, la proposition EIP-7702 pourrait encourager l’utilisation des fonctionnalités de portefeuille intelligent sans les risques de sécurité associés aux modifications permanentes apportées aux CDE.

Conclusion

La proposition EIP-7702 est une proposition qui vise à remédier aux limites des CDE en leur accordant temporairement des capacités de smart contract. Elle peut améliorer la sécurité en limitant la durée des fonctionnalités des smart contracts à la durée d’une seule transaction et peut également offrir plus de flexibilité grâce au regroupement des transactions, au parrainage du gas et à d’autres fonctionnalités.

Bien que son avenir ne soit pas encore certain, le soutien substantiel pour la proposition EIP-7702 indique qu’il est fort possible qu’elle soit incluse dans la prochaine mise à niveau Pectra d’Ethereum, prévue pour fin 2024.