Le passage des comptes détenus en externe (EOA) aux comptes de contrats intelligents (SCA) gagne du terrain et a été adopté par de nombreux enthousiastes, y compris Vitalik lui-même. Malgré cet engouement, l'adoption des SCA n'est pas aussi répandue que celle des EOA. Les principaux sont les défis posés par les marchés baissiers, les problèmes de migration, les problèmes de signature, les frais généraux liés au gaz et, surtout, les difficultés d'ingénierie.
L'avantage le plus important des Abstractions de comptes (AA) est la possibilité d'utiliser du code pour personnaliser les fonctionnalités. Cependant, l'un des principaux défis techniques est la non-interopérabilité des fonctionnalités des AA, et la fragmentation entrave l'intégration et ouvre la porte à l'enfermement dans le fournisseur. En outre, assurer la sécurité tout en mettant à jour et en composant des fonctionnalités peut s'avérer complexe.
L'abstraction modulaire des comptes est un sous-ensemble du mouvement AA plus large. Cette approche innovante permet de séparer les comptes intelligents de leurs fonctions personnalisées. L'objectif est de créer une structure modulaire permettant de développer des portefeuilles sécurisés, intégrés de manière transparente et dotés de diverses fonctionnalités. À l'avenir, elle pourrait créer un "magasin d'applications" gratuit pour les comptes de contrats intelligents, qui libérerait les portefeuilles et les dApps des fonctions de construction et se concentrerait sur l'expérience de l'utilisateur.
Après avoir lu cet article, les lecteurs pourront se faire une idée de ce qui suit :
Paysage SCA
L'EOA traditionnelle pose de nombreux problèmes, tels que la phrase d'amorçage, le gaz, la chaîne croisée et les transactions multiples. Nous n'avons jamais eu l'intention d'introduire de la complexité, mais en fait, la blockchain n'est pas un jeu facile pour les masses.
L'abstraction de compte s'appuie sur le compte du contrat intelligent pour permettre une validation et une exécution programmables, où l'utilisateur peut approuver une série de transactions en une seule fois, plutôt que de signer et de diffuser chacune d'entre elles, et mettre en œuvre de nombreuses autres fonctionnalités. Il apporte des avantages à l'expérience de l'utilisateur (par ex. l'abstraction de gaz et les clés de session), le coût (ex. transaction par lots), et la sécurité (ex. récupération sociale, multi-sig). Actuellement, il existe deux façons de réaliser l'abstraction des comptes :
👉 Si vous ne connaissez pas l'AA ou l'ERC4337, consultez les recherches précédentes de SevenX ici.
Le thème de l'abstraction de compte (AA) fait l'objet de discussions depuis 2015 et a été propulsé sous les feux de la rampe par l'ERC4337 cette année. Toutefois, le nombre de comptes de contrats intelligents déployés reste dérisoire par rapport aux EOA.
Penchons-nous sur ce dilemme :
Dans cet article, nous allons nous pencher sur le problème n°5 : les difficultés d'ingénierie.
🤔️
Pour en savoir plus sur les difficultés d'ingénierie :
Pour naviguer dans ces eaux, nous avons besoin de contrats évolutifs qui garantissent des mises à niveau sûres et efficaces, de noyaux réutilisables pour améliorer l'efficacité globale du développement et d'interfaces normalisées pour garantir que les comptes contractuels puissent passer sans heurts d'un front-end à l'autre.
Ces termes convergent vers un concept singulier : La construction d'une architecture modulaire d'abstraction de comptes (Modular AA).
L'AA modulaire est une niche au sein du mouvement AA plus large qui envisage la modularisation des comptes intelligents afin de les personnaliser pour les utilisateurs et de permettre aux développeurs d'améliorer les fonctionnalités de manière transparente avec un minimum de restrictions.
Cependant, quel que soit le secteur, la mise en place et la promotion d'une nouvelle norme constituent un défi de taille. Les phases initiales peuvent donner lieu à de nombreuses solutions différentes avant que tout le monde ne se mette d'accord sur la solution principale. Cependant, il est encourageant de voir que ceux qui travaillent sur l'abstraction des comptes, qu'il s'agisse du SDK 4337, des développeurs de portefeuilles, des équipes chargées de l'infrastructure ou des concepteurs de protocoles, s'unissent pour accélérer le processus.
Comment le compte appelle-t-il les modules à réaliser des fonctions
Appel externe et appel de délégué :
À propos de delegateCall
L'appel de délégué est similaire à l'appel, mais au lieu d'exécuter le contrat cible dans son propre contexte, il l'exécute dans le contexte de l'état actuel du contrat appelant. Cela signifie que tout changement d'état effectué par le contrat cible est répercuté sur le stockage du contrat appelant.
Contrat de mandataire et appel de délégué
Pour réaliser la structure composable et évolutive, il est nécessaire de disposer d'une connaissance fondamentale appelée "contrat de mandataire".
Une architecture sûre
Ce qui est sûr :
Safe est une infrastructure modulaire de comptes intelligents conçue pour offrir une sécurité et une flexibilité éprouvées. Elle permet aux développeurs de créer des applications et des portefeuilles diversifiés. Notamment, de nombreuses équipes construisent sur Safe ou s'en inspirent. Biconomy a lancé son compte en élargissant Safe avec les signatures natives 4337 et 1/1. Avec le déploiement de plus de 164 000 contrats et une valeur de plus de 30,7 milliards d'euros, Safe est sans aucun doute le leader dans le domaine de l'espace.
Quelle est la structure de Safe ?
Ce qui se passe lorsque nous adoptons Safe :
Architecture de diamant ERC2535
À propos de l'ERC2535, Diamond Proxies :
L'ERC2535 normalise les diamants, un système de contrat intelligent modulaire qui peut être mis à niveau/étendu après le déploiement et n'a pratiquement aucune limite de taille. Jusqu'à présent, de nombreuses équipes s'en sont inspirées, comme le Kernel de Zerodev et l'expérience de Soul Wallet.
Qu'est-ce que la structure du diamant ?
Ce qui se passe lorsque nous adoptons Diamond :
Les architectures Safe et Diamond présentent de nombreuses similitudes : elles s'appuient toutes deux sur des contrats de substitution et font référence à des contrats logiques pour assurer l'évolutivité et la modularité.
Néanmoins, la principale distinction réside dans le traitement des contrats logiques. Voici un aperçu plus détaillé :
L'approche "Safe Smart Account" et l'approche "Diamond" sont des exemples de structures distinctes impliquant des mandataires et des modules. Il est essentiel de trouver un équilibre entre la flexibilité et la sécurité, et ces deux méthodes pourraient se compléter à l'avenir.
Quelle est la séquence des modules d'appel ?
Développons notre discussion en présentant l'ERC6900, une norme proposée par l'équipe Alchemy, inspirée par Diamond et adaptée spécifiquement à l'ERC-4337. Il relève le défi de la modularité des comptes intelligents en fournissant des interfaces communes et en coordonnant les efforts entre les développeurs de plugins et de portefeuilles.
Le processus de transaction de l'AA comprend trois processus principaux : la validation, l'exécution et l'accrochage. Toutes ces étapes peuvent être gérées en utilisant le compte proxy pour appeler les modules, comme nous l'avons vu précédemment. Bien que différents projets puissent utiliser des noms différents, il est important de comprendre la logique sous-jacente similaire.
Noms de fonctions dans différents modèles
ERC6900
Il est essentiel de séparer les modules en fonction d'une logique différente. Une approche normalisée devrait dicter la manière dont les fonctions de validation, d'exécution et de crochet pour les comptes de contrats intelligents devraient être écrites. Qu'il s'agisse de Safe ou d'ERC6900, la normalisation permet de réduire les efforts de développement spécifiques à certaines implémentations ou à certains écosystèmes et d'éviter le verrouillage des fournisseurs.
Comment trouver et vérifier les modules de manière ouverte ?
Une solution qui prend de l'ampleur consiste à créer un lieu permettant aux utilisateurs de découvrir des modules vérifiables, que l'on peut appeler "registre". Ce registre fonctionne comme un "App Store" et vise à favoriser un marché modulaire simplifié mais florissant.
Protocole Safe{Core}
Le protocole Safe{Core} Le protocole Safe est un protocole open-source interopérable pour les comptes de contrats intelligents, conçu pour améliorer l'accessibilité pour les différents fournisseurs et développeurs tout en maintenant une sécurité solide grâce à des normes et des règles bien définies.
Motif en strass
Le processus se déroule comme suit :
Bien que ce schéma n'en soit qu'à ses débuts, il offre la possibilité 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é et aux portefeuilles de s'intégrer, et aux utilisateurs de localiser facilement les modules et de vérifier leurs informations d'attestation. Plusieurs utilisations futures pourraient être envisagées :
Le concept de "registre des modules" ouvre des perspectives de monétisation pour les développeurs de plugins et de modules. Il pourrait également ouvrir la voie à un "marché des modules". Certains aspects pourraient être supervisés par l'équipe de Safe, tandis que d'autres pourraient se manifester sous la forme de places de marché décentralisées, invitant à des contributions et à des enregistrements d'audit transparents pour tous. En intégrant cela, nous pouvons éviter le verrouillage des fournisseurs et soutenir l'expansion de l'EVM en ajoutant une expérience utilisateur améliorée qui attire un public plus large.
Si ces approches garantissent la sécurité d'un seul module, la sécurité générale des comptes de contrats intelligents n'est pas infaillible. Il peut être difficile de combiner des modules légitimes et de prouver qu'ils n'ont pas de collisions de stockage, ce qui souligne l'importance de l'infrastructure des portefeuilles ou des AA pour répondre à ces préoccupations.
En utilisant une pile de comptes de contrats intelligents modulaires, les fournisseurs de portefeuilles et les dApps peuvent être libérés des complexités de la maintenance technique. Par ailleurs, les développeurs de modules externes ont la possibilité d'offrir des services spécialisés adaptés aux besoins individuels. Toutefois, les défis à relever consistent à trouver un équilibre entre flexibilité et sécurité, à faire progresser les normes modulaires et à mettre en œuvre des interfaces normalisées qui permettent aux utilisateurs de mettre à niveau et de modifier facilement leurs comptes intelligents.
Cependant, les comptes modulaires de contrats intelligents (SCA) ne représentent qu'une pièce du puzzle de l'adoption. Pour exploiter pleinement le potentiel de l'ACS, il faut que les solutions de la couche 2 apportent un soutien supplémentaire à la couche protocolaire, par exemple une infrastructure de regroupement robuste et un système de mise en commun d'égal à égal, un mécanisme de signature de l'ACS plus rentable et plus réalisable, une synchronisation et une gestion de l'ACS entre les chaînes et la mise au point d'interfaces conviviales.
Nous envisageons un avenir où la participation sera généralisée, ce qui soulève des questions intéressantes : Une fois que le flux d'ordres SCA devient suffisamment rentable, comment les mécanismes traditionnels de valeur extractible par les mineurs (MEV) entreront-ils dans le champ pour construire des bundlers et capturer de la valeur ? Lorsque l'infrastructure arrivera à maturité, comment les Abstractions de comptes (AA) pourront-elles servir de couche fondamentale pour les transactions "basées sur l'intention" ? Restez à l'écoute ; le paysage évolue de minute en minute.
Le passage des comptes détenus en externe (EOA) aux comptes de contrats intelligents (SCA) gagne du terrain et a été adopté par de nombreux enthousiastes, y compris Vitalik lui-même. Malgré cet engouement, l'adoption des SCA n'est pas aussi répandue que celle des EOA. Les principaux sont les défis posés par les marchés baissiers, les problèmes de migration, les problèmes de signature, les frais généraux liés au gaz et, surtout, les difficultés d'ingénierie.
L'avantage le plus important des Abstractions de comptes (AA) est la possibilité d'utiliser du code pour personnaliser les fonctionnalités. Cependant, l'un des principaux défis techniques est la non-interopérabilité des fonctionnalités des AA, et la fragmentation entrave l'intégration et ouvre la porte à l'enfermement dans le fournisseur. En outre, assurer la sécurité tout en mettant à jour et en composant des fonctionnalités peut s'avérer complexe.
L'abstraction modulaire des comptes est un sous-ensemble du mouvement AA plus large. Cette approche innovante permet de séparer les comptes intelligents de leurs fonctions personnalisées. L'objectif est de créer une structure modulaire permettant de développer des portefeuilles sécurisés, intégrés de manière transparente et dotés de diverses fonctionnalités. À l'avenir, elle pourrait créer un "magasin d'applications" gratuit pour les comptes de contrats intelligents, qui libérerait les portefeuilles et les dApps des fonctions de construction et se concentrerait sur l'expérience de l'utilisateur.
Après avoir lu cet article, les lecteurs pourront se faire une idée de ce qui suit :
Paysage SCA
L'EOA traditionnelle pose de nombreux problèmes, tels que la phrase d'amorçage, le gaz, la chaîne croisée et les transactions multiples. Nous n'avons jamais eu l'intention d'introduire de la complexité, mais en fait, la blockchain n'est pas un jeu facile pour les masses.
L'abstraction de compte s'appuie sur le compte du contrat intelligent pour permettre une validation et une exécution programmables, où l'utilisateur peut approuver une série de transactions en une seule fois, plutôt que de signer et de diffuser chacune d'entre elles, et mettre en œuvre de nombreuses autres fonctionnalités. Il apporte des avantages à l'expérience de l'utilisateur (par ex. l'abstraction de gaz et les clés de session), le coût (ex. transaction par lots), et la sécurité (ex. récupération sociale, multi-sig). Actuellement, il existe deux façons de réaliser l'abstraction des comptes :
👉 Si vous ne connaissez pas l'AA ou l'ERC4337, consultez les recherches précédentes de SevenX ici.
Le thème de l'abstraction de compte (AA) fait l'objet de discussions depuis 2015 et a été propulsé sous les feux de la rampe par l'ERC4337 cette année. Toutefois, le nombre de comptes de contrats intelligents déployés reste dérisoire par rapport aux EOA.
Penchons-nous sur ce dilemme :
Dans cet article, nous allons nous pencher sur le problème n°5 : les difficultés d'ingénierie.
🤔️
Pour en savoir plus sur les difficultés d'ingénierie :
Pour naviguer dans ces eaux, nous avons besoin de contrats évolutifs qui garantissent des mises à niveau sûres et efficaces, de noyaux réutilisables pour améliorer l'efficacité globale du développement et d'interfaces normalisées pour garantir que les comptes contractuels puissent passer sans heurts d'un front-end à l'autre.
Ces termes convergent vers un concept singulier : La construction d'une architecture modulaire d'abstraction de comptes (Modular AA).
L'AA modulaire est une niche au sein du mouvement AA plus large qui envisage la modularisation des comptes intelligents afin de les personnaliser pour les utilisateurs et de permettre aux développeurs d'améliorer les fonctionnalités de manière transparente avec un minimum de restrictions.
Cependant, quel que soit le secteur, la mise en place et la promotion d'une nouvelle norme constituent un défi de taille. Les phases initiales peuvent donner lieu à de nombreuses solutions différentes avant que tout le monde ne se mette d'accord sur la solution principale. Cependant, il est encourageant de voir que ceux qui travaillent sur l'abstraction des comptes, qu'il s'agisse du SDK 4337, des développeurs de portefeuilles, des équipes chargées de l'infrastructure ou des concepteurs de protocoles, s'unissent pour accélérer le processus.
Comment le compte appelle-t-il les modules à réaliser des fonctions
Appel externe et appel de délégué :
À propos de delegateCall
L'appel de délégué est similaire à l'appel, mais au lieu d'exécuter le contrat cible dans son propre contexte, il l'exécute dans le contexte de l'état actuel du contrat appelant. Cela signifie que tout changement d'état effectué par le contrat cible est répercuté sur le stockage du contrat appelant.
Contrat de mandataire et appel de délégué
Pour réaliser la structure composable et évolutive, il est nécessaire de disposer d'une connaissance fondamentale appelée "contrat de mandataire".
Une architecture sûre
Ce qui est sûr :
Safe est une infrastructure modulaire de comptes intelligents conçue pour offrir une sécurité et une flexibilité éprouvées. Elle permet aux développeurs de créer des applications et des portefeuilles diversifiés. Notamment, de nombreuses équipes construisent sur Safe ou s'en inspirent. Biconomy a lancé son compte en élargissant Safe avec les signatures natives 4337 et 1/1. Avec le déploiement de plus de 164 000 contrats et une valeur de plus de 30,7 milliards d'euros, Safe est sans aucun doute le leader dans le domaine de l'espace.
Quelle est la structure de Safe ?
Ce qui se passe lorsque nous adoptons Safe :
Architecture de diamant ERC2535
À propos de l'ERC2535, Diamond Proxies :
L'ERC2535 normalise les diamants, un système de contrat intelligent modulaire qui peut être mis à niveau/étendu après le déploiement et n'a pratiquement aucune limite de taille. Jusqu'à présent, de nombreuses équipes s'en sont inspirées, comme le Kernel de Zerodev et l'expérience de Soul Wallet.
Qu'est-ce que la structure du diamant ?
Ce qui se passe lorsque nous adoptons Diamond :
Les architectures Safe et Diamond présentent de nombreuses similitudes : elles s'appuient toutes deux sur des contrats de substitution et font référence à des contrats logiques pour assurer l'évolutivité et la modularité.
Néanmoins, la principale distinction réside dans le traitement des contrats logiques. Voici un aperçu plus détaillé :
L'approche "Safe Smart Account" et l'approche "Diamond" sont des exemples de structures distinctes impliquant des mandataires et des modules. Il est essentiel de trouver un équilibre entre la flexibilité et la sécurité, et ces deux méthodes pourraient se compléter à l'avenir.
Quelle est la séquence des modules d'appel ?
Développons notre discussion en présentant l'ERC6900, une norme proposée par l'équipe Alchemy, inspirée par Diamond et adaptée spécifiquement à l'ERC-4337. Il relève le défi de la modularité des comptes intelligents en fournissant des interfaces communes et en coordonnant les efforts entre les développeurs de plugins et de portefeuilles.
Le processus de transaction de l'AA comprend trois processus principaux : la validation, l'exécution et l'accrochage. Toutes ces étapes peuvent être gérées en utilisant le compte proxy pour appeler les modules, comme nous l'avons vu précédemment. Bien que différents projets puissent utiliser des noms différents, il est important de comprendre la logique sous-jacente similaire.
Noms de fonctions dans différents modèles
ERC6900
Il est essentiel de séparer les modules en fonction d'une logique différente. Une approche normalisée devrait dicter la manière dont les fonctions de validation, d'exécution et de crochet pour les comptes de contrats intelligents devraient être écrites. Qu'il s'agisse de Safe ou d'ERC6900, la normalisation permet de réduire les efforts de développement spécifiques à certaines implémentations ou à certains écosystèmes et d'éviter le verrouillage des fournisseurs.
Comment trouver et vérifier les modules de manière ouverte ?
Une solution qui prend de l'ampleur consiste à créer un lieu permettant aux utilisateurs de découvrir des modules vérifiables, que l'on peut appeler "registre". Ce registre fonctionne comme un "App Store" et vise à favoriser un marché modulaire simplifié mais florissant.
Protocole Safe{Core}
Le protocole Safe{Core} Le protocole Safe est un protocole open-source interopérable pour les comptes de contrats intelligents, conçu pour améliorer l'accessibilité pour les différents fournisseurs et développeurs tout en maintenant une sécurité solide grâce à des normes et des règles bien définies.
Motif en strass
Le processus se déroule comme suit :
Bien que ce schéma n'en soit qu'à ses débuts, il offre la possibilité 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é et aux portefeuilles de s'intégrer, et aux utilisateurs de localiser facilement les modules et de vérifier leurs informations d'attestation. Plusieurs utilisations futures pourraient être envisagées :
Le concept de "registre des modules" ouvre des perspectives de monétisation pour les développeurs de plugins et de modules. Il pourrait également ouvrir la voie à un "marché des modules". Certains aspects pourraient être supervisés par l'équipe de Safe, tandis que d'autres pourraient se manifester sous la forme de places de marché décentralisées, invitant à des contributions et à des enregistrements d'audit transparents pour tous. En intégrant cela, nous pouvons éviter le verrouillage des fournisseurs et soutenir l'expansion de l'EVM en ajoutant une expérience utilisateur améliorée qui attire un public plus large.
Si ces approches garantissent la sécurité d'un seul module, la sécurité générale des comptes de contrats intelligents n'est pas infaillible. Il peut être difficile de combiner des modules légitimes et de prouver qu'ils n'ont pas de collisions de stockage, ce qui souligne l'importance de l'infrastructure des portefeuilles ou des AA pour répondre à ces préoccupations.
En utilisant une pile de comptes de contrats intelligents modulaires, les fournisseurs de portefeuilles et les dApps peuvent être libérés des complexités de la maintenance technique. Par ailleurs, les développeurs de modules externes ont la possibilité d'offrir des services spécialisés adaptés aux besoins individuels. Toutefois, les défis à relever consistent à trouver un équilibre entre flexibilité et sécurité, à faire progresser les normes modulaires et à mettre en œuvre des interfaces normalisées qui permettent aux utilisateurs de mettre à niveau et de modifier facilement leurs comptes intelligents.
Cependant, les comptes modulaires de contrats intelligents (SCA) ne représentent qu'une pièce du puzzle de l'adoption. Pour exploiter pleinement le potentiel de l'ACS, il faut que les solutions de la couche 2 apportent un soutien supplémentaire à la couche protocolaire, par exemple une infrastructure de regroupement robuste et un système de mise en commun d'égal à égal, un mécanisme de signature de l'ACS plus rentable et plus réalisable, une synchronisation et une gestion de l'ACS entre les chaînes et la mise au point d'interfaces conviviales.
Nous envisageons un avenir où la participation sera généralisée, ce qui soulève des questions intéressantes : Une fois que le flux d'ordres SCA devient suffisamment rentable, comment les mécanismes traditionnels de valeur extractible par les mineurs (MEV) entreront-ils dans le champ pour construire des bundlers et capturer de la valeur ? Lorsque l'infrastructure arrivera à maturité, comment les Abstractions de comptes (AA) pourront-elles servir de couche fondamentale pour les transactions "basées sur l'intention" ? Restez à l'écoute ; le paysage évolue de minute en minute.