Auteur : Rui S, SevenX Ventures ; Compilé par : Deep Wave TechFlow
Le passage des comptes externes (EOA) aux comptes de contrats intelligents (SCA) est en plein essor et est soutenu par de nombreux passionnés, dont Vitalik lui-même. Malgré l’enthousiasme suscité, l’adoption de la SCA n’a pas été aussi répandue que celle de l’EOA. Les problèmes clés incluent les défis du marché baissier, les problèmes de migration, les problèmes de signature, les frais généraux liés au gaz et, plus important encore, les défis d’ingénierie.
L’un des avantages les plus importants de l’abstraction de compte (AA) est la possibilité de personnaliser les fonctionnalités à l’aide de code. Cependant, un défi technique majeur réside dans la non-interopérabilité des fonctionnalités AA, et cette fragmentation entrave l’intégration et ouvre la porte à une dépendance vis-à-vis d’un fournisseur. De plus, assurer la sécurité lors de la mise à niveau et de la combinaison simultanée de fonctionnalités peut s’avérer complexe.
L’abstraction de compte modulaire est apparue comme un sous-ensemble du mouvement AA plus large, une approche innovante visant à dissocier les comptes intelligents de leurs fonctionnalités personnalisées. L’objectif est de créer une structure modulaire pour développer des portefeuilles sécurisés et parfaitement intégrés dotés de fonctionnalités diverses. À l’avenir, il pourra mettre en œuvre un « magasin d’applications » de compte de contrat intelligent gratuit afin que les portefeuilles et les dApp ne se concentrent plus sur la création de fonctions, mais sur l’expérience utilisateur.

L’EOA traditionnelle introduit de nombreux défis tels que les phrases de départ, le gaz, les transactions inter-chaînes et multiples. Nous n’avons jamais eu l’intention d’introduire de la complexité, mais la réalité est que la blockchain n’est pas un jeu facile pour le grand public.
L’abstraction de compte exploite les comptes de contrats intelligents, permettant une vérification et une exécution programmables, permettant aux utilisateurs d’approuver une série de transactions à la fois, plutôt que d’avoir à signer et diffuser chaque transaction, et permettant davantage de fonctionnalités. Il apporte des avantages en termes d’expérience utilisateur (par exemple, abstraction de Gas et clés de session), de coût (par exemple, transactions par lots) et de sécurité (par exemple, récupération sociale, multi-signature). Actuellement, il existe deux manières d’implémenter l’abstraction de compte :
Le sujet de l’abstraction de compte (AA) est en discussion depuis 2015 et a été mis sous les projecteurs cette année par l’ERC 4337. Cependant, le nombre de comptes de contrats intelligents déployés est encore bien inférieur à celui de l’EOA.

Approfondissons ce dilemme :
Bien que AA ait introduit des avantages tels qu’une connexion transparente et l’abstraction de gaz, les personnes actuellement confrontées au marché baissier sont principalement composées d’utilisateurs EOA instruits plutôt que de nouveaux utilisateurs, il n’y a donc aucune incitation pour les dApps et les portefeuilles. Malgré cela, certaines applications de premier plan adoptent progressivement l’AA, comme Cyberconnect, qui a généré environ 360 000 UserOps (transactions AA) en seulement un mois en introduisant son système AA et sa solution sans gaz.
Pour les portefeuilles et les applications qui ont accumulé des utilisateurs et des actifs, la migration des actifs en toute sécurité et commodité reste un défi. Cependant, des initiatives telles que EIP-7377 permettent aux EOA de lancer des transactions de migration uniques.
*Problème de signature :
Le contrat intelligent lui-même ne peut pas naturellement signer de messages car il ne possède pas de clé privée comme EOA. Des efforts tels que l’ERC 1271 rendent une telle signature possible, mais la signature des messages ne fonctionne qu’à la première transaction, ce qui pose un défi pour les portefeuilles utilisant des déploiements contrefactuels. L’ERC-6492 proposé par Ambire est un successeur rétrocompatible de l’ERC-1271 et pourrait résoudre les problèmes précédents.
*Gaz frais généraux :
Le déploiement, la simulation et l’exécution de SCA entraînent des coûts plus élevés que l’EOA standard. Cela devient un obstacle à l’adoption. Cependant, certains tests ont été effectués, tels que le découplage de la création de compte des actions des utilisateurs et la possibilité d’éliminer les sels de compte et les contrôles d’existence, afin de réduire ces coûts.
L’équipe ERC-4337 a créé le référentiel eth-infinitiism pour fournir aux développeurs des implémentations de base. Cependant, à mesure que nous nous étendons vers des fonctionnalités plus granulaires ou spécifiques dans différents cas d’utilisation, l’intégration et le décodage deviennent difficiles.
Dans cet article, nous approfondirons le cinquième problème : les défis d’ingénierie.

Une explication supplémentaire des défis techniques est la suivante :
Pour résoudre ces problèmes, nous avons besoin de contrats évolutifs pour garantir des mises à niveau sûres et efficaces, de cœurs réutilisables pour améliorer l’efficacité globale du développement et d’interfaces standardisées pour garantir que les comptes de contrats peuvent passer en douceur entre les différents frontaux.
Ces termes convergent vers un concept commun : construire une architecture d’abstraction de compte modulaire (Modular AA).
Modular AA est une niche au sein du mouvement AA plus large qui envisage de modulariser les comptes intelligents pour adapter les services aux utilisateurs et permettre aux développeurs d’améliorer de manière transparente les fonctionnalités avec un minimum de restrictions.
Cependant, l’établissement et la promotion de nouvelles normes constituent un défi de taille dans tout secteur. De nombreuses solutions différentes peuvent émerger dans les premières étapes avant que tout le monde n’accepte la solution principale. Cependant, il est encourageant de constater que le SDK 4337, les développeurs de portefeuilles, les équipes d’infrastructure et les concepteurs de protocoles travaillent ensemble pour accélérer ce processus.
Appels externes et appels délégués :

Bien que déléguécall soit similaire à call, au lieu d’exécuter le contrat cible dans son propre contexte, il exécute le contrat cible dans l’état actuel du contrat appelant. Cela signifie que tout changement d’état effectué par le contrat cible sera appliqué au stockage du contrat appelant.

Afin de mettre en œuvre des structures composables et évolutives, une connaissance de base appelée « contrats d’agence » est requise.

Safe est une infrastructure de compte intelligent modulaire de premier plan conçue pour offrir une sécurité et une flexibilité éprouvées, permettant aux développeurs de créer diverses applications et portefeuilles. Il convient de noter que de nombreuses équipes s’appuient sur Safe ou s’en inspirent. Biconomy lance son compte en étendant la multi-signature native 4337 et 1/1 sur Safe. Avec plus de 164 000 contrats déployés et une valeur bloquée de plus de 30,7 milliards de dollars, Safe est sans aucun doute le premier choix dans ce domaine.
Le compte Safe est un contrat proxy car il appelle un contrat singleton. Le compte Safe contient le propriétaire, le seuil et l’adresse d’implémentation, qui sont définis comme variables pour l’agent, définissant ainsi son état.
Le singleton sert le compte Safe et intègre et définit différentes intégrations, notamment des plugins, des hooks, des gestionnaires de fonctions et des validateurs de signature.
Les modules sont très puissants. En tant que type modulaire, les plug-ins peuvent définir différentes fonctions telles que les flux de paiement, les mécanismes de récupération et les clés de session, et servir de pont entre les chaînes entre Web2 et Web3 en obtenant des données hors chaîne. D’autres modules tels que Hooks agissent comme des gardes de sécurité et les gestionnaires de fonctions répondent à toutes les instructions.
Chaque fois qu’un nouveau plugin est introduit, un nouveau singleton doit être déployé. Les utilisateurs conservent l’autonomie nécessaire pour mettre à niveau Safe vers la version singleton souhaitée en fonction de leurs préférences et exigences.
La nature modulaire des plugins permet aux développeurs de créer des fonctionnalités de manière indépendante. Ils sont ensuite libres de sélectionner et de combiner ces plug-ins en fonction de leurs propres cas d’utilisation, facilitant ainsi une approche hautement personnalisable.

ERC 2535 standardise Diamond Agent, un système de contrat intelligent modulaire qui peut être mis à niveau/étendu après le déploiement et qui n’a pratiquement aucune restriction de taille. Jusqu’à présent, de nombreuses équipes s’en sont inspirées, comme les expériences Kernel de Zerodev et Soul Wallet.
Il existe de nombreuses similitudes entre les architectures Safe et Diamond, les deux s’appuyant sur des contrats proxy comme noyau et faisant référence à des contrats logiques pour l’évolutivité et la modularité.
Cependant, la principale différence réside dans la gestion des contrats logiques. Voici des instructions plus détaillées :
La « méthode Safe Smart Account » et la « méthode Diamond » sont des exemples de différentes structures impliquant des agents et des modules. Il est essentiel de trouver un équilibre entre flexibilité et sécurité, et les deux approches sont susceptibles de se compléter à l’avenir.
Développons notre discussion en introduisant le standard proposé par l’équipe Alchemy, ERC 6900, inspiré de Diamond et spécifiquement adapté pour ERC-4337. Il résout le défi de la modularité des comptes intelligents en fournissant une interface commune et en coordonnant le travail entre les développeurs de plugins et de portefeuilles.
En ce qui concerne le processus de transaction d’AA, il existe trois processus principaux : la vérification, l’exécution et le hook. Comme nous l’avons vu précédemment, ces étapes peuvent être gérées en appelant le module à l’aide d’un compte proxy. Même si différents projets peuvent utiliser des noms différents, il est important de saisir une logique sous-jacente similaire.

Séparer les modules en fonction de logiques différentes est crucial. Une approche standardisée devrait spécifier comment les fonctions de vérification, d’exécution et de Hook des comptes de contrats intelligents doivent être écrites. Qu’il s’agisse de Safe ou d’ERC 6900, la normalisation contribue à réduire le besoin d’efforts de développement uniques pour une implémentation ou un écosystème spécifique et évite la dépendance vis-à-vis d’un fournisseur.
Une solution en plein essor consiste à créer un lieu permettant aux utilisateurs de découvrir des modules vérifiables, ce que l’on pourrait appeler un « registre ». Ce registre est similaire à un « magasin d’applications » conçu pour faciliter un marché modulaire simplifié mais prospère.

Safe{Core} Protocol est un protocole de compte de contrat intelligent open source et interopérable conçu pour accroître l’accessibilité pour une variété de fournisseurs et de développeurs grâce à des normes et des règles clairement définies, tout en maintenant une sécurité renforcée.

Le processus se déroule comme suit :
Bien que ce modèle en soit encore à ses débuts, il a le potentiel d’établir une norme de manière décentralisée et collaborative. Leur registre permet aux développeurs d’enregistrer leurs modules, aux auditeurs de vérifier leur sécurité, aux portefeuilles à intégrer et aux utilisateurs de trouver facilement des modules et de vérifier leurs informations d’attestation. Il pourrait y avoir les utilisations suivantes à l’avenir :
Le concept de « registre de modules » offre des opportunités rentables aux développeurs de plugins et de modules. Cela pourrait également ouvrir la voie à un « marché des modules ». Certains de ces aspects peuvent être supervisés par l’équipe Safe, tandis que d’autres peuvent se manifester sous la forme de marchés décentralisés qui invitent chacun à contribuer et fournissent une piste d’audit transparente. En adoptant cette approche, nous pouvons éviter la dépendance vis-à-vis d’un fournisseur et soutenir l’expansion d’EVM en offrant une meilleure expérience utilisateur qui attire un public plus large.
Bien que ces méthodes garantissent la sécurité des modules individuels, la sécurité globale des comptes de contrats intelligents n’est pas absolument fiable. Combiner des modules légitimes et prouver qu’ils n’ont pas de conflits de stockage peut être un défi, soulignant l’importance des portefeuilles ou de l’infrastructure AA pour résoudre de tels problèmes.
En tirant parti d’une pile de comptes de contrats intelligents modulaire, les fournisseurs de portefeuilles et les dApps peuvent échapper à la complexité de la maintenance technique. Dans le même temps, les développeurs de modules externes ont la possibilité de fournir des services professionnels adaptés aux besoins individuels. Cependant, les défis à relever incluent la recherche d’un équilibre entre flexibilité et sécurité, la promotion de normes modulaires et la mise en œuvre d’interfaces standardisées permettant aux utilisateurs de mettre à niveau et de modifier facilement leurs comptes intelligents.
Cependant, les comptes de contrats intelligents modulaires (SCA) ne sont qu’une pièce du puzzle de l’adoption. Pour exploiter pleinement le potentiel de SCA, la prise en charge de la couche de protocole par des solutions de deuxième couche est également requise, ainsi qu’une infrastructure de regroupement puissante et des pools de mémoire peer-to-peer, des mécanismes de signature SCA plus rentables et réalisables, une synchronisation SCA inter-chaînes. et de gestion, ainsi que le développement d’interfaces conviviales.
Nous envisageons un avenir avec une large participation, ce qui soulève des questions intéressantes : une fois que le processus de commande de SCA deviendra suffisamment rentable, comment les mécanismes traditionnels de valeur extractible par les mineurs (MEV) entreront-ils dans l’espace, créeront-ils des regroupeurs et capteront-ils de la valeur ? Lorsque l’infrastructure arrive à maturité, comment l’abstraction de compte (AA) peut-elle devenir la couche de base pour les transactions « basées sur l’intention » ? Restez à l’écoute car ce domaine est en constante évolution.