Ethereum

Les développeurs d'Ethereum proposent un nouveau type de transaction avec EIP-7702

Les développeurs d'Ethereum proposent un nouveau type de transaction avec EIP-7702

Un groupe d'éminents développeurs d'Ethereum, dont Vitalik Buterin, a proposé un nouveau type de transaction (EIP-7702) pour améliorer la fonctionnalité et la sécurité des comptes externes (EOA). La proposition vise à résoudre des problèmes courants tels que le regroupement de transactions, le parrainage et la désescalade des privilèges.

Selon le Brouillon EIP-7702, le nouveau type de transaction « ajoute un champ contract_code et une signature, et convertit le compte signataire (pas nécessairement le même que le tx.origin) en un portefeuille de contrat intelligent pour la durée de cette transaction ». La proposition vise à offrir des fonctionnalités similaires à l'EIP-3074.

La motivation derrière l'EIP-7702 est de fournir des améliorations fonctionnelles à court terme aux EOA, augmentant ainsi la convivialité des applications et, dans certains cas, permettant une sécurité améliorée. La proposition décrit trois applications particulières : le traitement par lots, le parrainage et la désescalade des privilèges.

Bien que l'EIP-3074 résolve ces cas d'utilisation, les auteurs de l'EIP-7702 estiment qu'il présente des problèmes de compatibilité ascendante. Ils déclarent que l'EIP-3074 « introduit deux opcodes, AUTH et AUTHCALL, qui n'auraient aucune utilité dans un monde d' »abstraction de compte de fin de partie » où finalement tous les utilisateurs utilisent des portefeuilles de contrats intelligents. »

De plus, ils soutiennent que l'EIP-3074 « conduit au développement d'un écosystème de « contrat d'appelant » qui serait distinct du « portefeuille de contrat intelligent ». écosystème, conduisant à une possible fragmentation des efforts.

La spécification EIP-7702 détaille le format de charge utile de la transaction et le processus d'exécution de la transaction, qui implique de définir temporairement le code de contrat du compte signataire et de le remettre vide à la fin de la transaction.

Les auteurs expliquent comment EIP-7702 peut convertir les cas d'utilisation d'EIP-3074, en déclarant que « la conversion d'un flux de travail EIP-3074 existant nécessite assez peu de travail ».

Ils soutiennent également qu'EIP-7702 est conçu pour être compatible avec les futures abstractions de comptes, évitant ainsi la création d'écosystèmes de codes séparés et le besoin de nouveaux opcodes qui pourraient devenir obsolètes.

Malgré les avantages potentiels, les auteurs reconnaissent qu'EIP-7702 brise l'invariant selon lequel le solde d'un compte ne peut diminuer qu'en raison des transactions provenant de ce compte, ce qui peut avoir des conséquences sur la conception du pool de mémoire et d'autres EIP.

Comme pour toute proposition exigeant que les utilisateurs signent un code de contrat, les auteurs soulignent l'importance pour les portefeuilles des utilisateurs d'être prudents quant au code de contrat qu'ils signent, en soulignant les considérations de sécurité partagées avec EIP-3074.

To Top