Analyse de l'abstraction de compte multi-chaînes : direction future des infrastructures de chiffrement
Du 8 au 11 juillet 2024, la conférence communautaire Ethereum (EthCC) se tiendra à Bruxelles, en Belgique. C'est le plus grand événement annuel Ethereum en Europe, axé sur la technologie et la communauté.
La conférence communautaire Ethereum ( EthCC 7) a vu plus de 350 leaders d'opinion de premier plan dans l'industrie de la blockchain prendre la parole, parmi lesquels un développeur a été invité à participer et a donné une présentation intitulée "Révéler l'avenir : analyse de l'abstraction de compte multi-chaînes".
Aperçu de la présentation:
abstraction de compte(AA) comprend principalement deux points clés : l'abstraction de signature et l'abstraction de paiement. L'abstraction de signature permet aux utilisateurs de choisir n'importe quel mécanisme de vérification qu'ils préfèrent, tandis que l'abstraction de paiement permet d'utiliser plusieurs options de paiement pour les transactions. Cette flexibilité offre une expérience utilisateur plus sécurisée et améliorée.
Dans l'ERC-4337 et l'AA natif, la fonction de point d'entrée de la phase de "validation" est fixe, tandis que dans la phase "d'exécution", seul le point d'entrée de l'AA natif est fixe. Les restrictions de validation des transactions et les étapes d'exécution des transactions ont chacune leurs propres caractéristiques et limitations dans différentes implémentations.
La mise en œuvre d'ERC-4337 sur une chaîne compatible EVM présente deux différences clés : les différences de protocole dans la conception des Rollups et les différences dans la façon de calculer les adresses, entraînant des détails de développement difficiles à remarquer lors de la mise en œuvre d'ERC-4337 entre L1 et L2.
Voici le texte complet du discours :
Bonjour à tous, aujourd'hui je vais vous présenter le concept d'ERC-4337 et d'AA natif, discuter des différences entre eux et analyser en profondeur les principales différences entre la norme 4337 de L1 et L2.
abstraction de compte introduction
1. Qu'est-ce que l'abstraction de compte
abstraction de compte(AA) comprend principalement deux points clés : l'abstraction de la signature et l'abstraction de paiement.
Abstraction de signature : l'utilisateur peut choisir n'importe quel mécanisme de validation qu'il préfère, et pas seulement certaines algorithmes de signature numérique comme ECDSA(.
Abstraction de paiement : les utilisateurs peuvent utiliser plusieurs options de paiement pour les transactions, comme utiliser des actifs ERC-20 au lieu des actifs natifs pour le paiement, ou permettre à un tiers de financer la transaction.
Cette flexibilité offre une expérience utilisateur plus sûre et plus optimale. L'objectif de l'abstraction de compte est d'atteindre ces deux points clés de différentes manières.
![L'avenir des infrastructures de chiffrement ? Analyse de l'abstraction de compte multichaînes])https://img-cdn.gateio.im/webp-social/moments-fbfb77042d4165310922e1ee85da71d9.webp(
) 2. Qu'est-ce que l'ERC-4337
Actuellement, le compte externe ###EOA( dans le protocole Ethereum présente certaines limitations, telles que des méthodes de signature fixes et un design de paiement. L'ERC-4337 résout ces problèmes en introduisant des méthodes de gestion de compte et de traitement des transactions plus flexibles.
structure userOp : dans l'ERC-4337, l'utilisateur envoie la structure userOp au Bundler. Le Bundler collecte plusieurs userOp et les envoie au contrat EntryPoint en appelant la fonction handleOps.
Contrat EntryPoint : Ce contrat traite les transactions comme un système d'exploitation, ses principales fonctions incluent :
Appeler la fonction validate dans le contrat de compte, s'assurer que userOp a obtenu l'autorisation du propriétaire du compte.
Perception de frais.
Appeler la fonction execute dans le contrat de compte, exécuter l'opération cible de userOp.
) 3. Qu'est-ce que l'AA natif
Dans Ethereum, les comptes sont divisés en EOA et comptes de contrat. Cependant, dans l'AA natif, chaque compte est un contrat, et le mécanisme de traitement des transactions est directement intégré dans le protocole de la blockchain.
Conception de l'AA dans les différents réseaux de blockchain :
Abstraction de compte ERC-4337 : Ethereum, Arbitrum, Optimism, Base, Linea, Scroll, Polygon PoS
L'abstraction de compte native suit ERC-4337 : l'ère StarkNet & zkSync
Abstraction de compte native avec conception axée sur la confidentialité : Aztec
Si vous êtes intéressé par Aztec Native AA ou EIP-3074, EIP-7702, aujourd'hui nous allons nous concentrer sur l'AA natif après l'ERC-4337.
Différences entre ERC-4337 et AA natif
1. Rôle du système d'exploitation
AA OS doit répondre aux questions suivantes :
Qui détermine le prix du Gas ?
Qui décide de l'ordre des transactions ? Où se trouve la mémoire tampon ?
Qui déclenche la fonction du point d'entrée ?
Qu'est-ce qui détermine le processus de traitement des transactions ?
Dans l'ERC-4337, ces rôles sont réalisés en collaboration par le Bundler et le contrat EntryPoint.
Dans le AA natif, les utilisateurs envoient leurs userOps à l'opérateur/traceur du serveur officiel, plutôt qu'au Bundler et au contrat EntryPoint.
Dans StarkNet, le Séquenceur est responsable du traitement de toutes ces tâches.
Dans zkSync, la principale différence entre Era et d'autres implémentations AA est que l'Operator doit travailler en collaboration avec le contrat système bootloader###. Le Bootloader ouvre un nouveau bloc, définit ses paramètres(, y compris les paramètres de bloc et d'autres paramètres de Gas), et reçoit les transactions de l'Operator pour vérification.
( 2. Interface de contrat
En raison de l'existence de trois étapes, l'interface de contrat de compte est similaire dans différentes implémentations, ces fonctions de point d'entrée ne peuvent être appelées que par le système d'exploitation de l'abstraction de compte :
ERC-4337 : validation des opérations des utilisateurs
zkSync: validation des transactions, paiement des transactions, exécution des transactions
Dans ERC-4337 et AA natif, la fonction de point d'entrée de la phase de "validation" est fixe, tandis que dans la phase "d'exécution", seul le point d'entrée dans AA natif est fixe.
) 3. Limites des étapes de vérification
En raison de l'absence de limites de coûts pour la validation des transactions,###, en essence, la validation des transactions consiste à appeler une fonction de vue###. Un attaquant peut effectuer une attaque DoS sur le pool de mémoire, ce qui peut compromettre le regroupement(EIP-4337) ou l'opérateur/le tri(AA natif).
EIP-4337 définit quels codes d'opération sont interdits et comment limiter l'accès au stockage. zkSync Era assouplit l'utilisation de certains OpCode :
La logique des contrats ne peut accéder qu'à son propre espace de stockage. Si l'adresse du contrat de compte est l'adresse A, elle peut accéder :
emplacement de stockage appartenant à l'adresse A
emplacement de stockage appartenant à une autre adresse A
Emplacement de stockage keccak256 appartenant à toute autre adresse (A || X) : cela signifie utiliser directement l'adresse comme clé dans la carte ( par exemple, carte )address => value( (, équivalent à accéder à l'emplacement keccak256 )A || X). Par exemple, le solde d'actifs dans un contrat ERC-20.
La logique des contrats ne peut pas accéder aux variables globales, telles que le numéro de bloc. StarkNet n'autorise également pas les appels de contrats externes.
( 4. Limites des étapes d'exécution
Dans zkSync, l'exécution d'appels système nécessite la confirmation de l'existence des drapeaux système. Par exemple, la seule façon d'augmenter le nonce est d'interagir avec le NonceHolder, tandis que le déploiement de contrats nécessite d'interagir avec le ContractDeployer. Les drapeaux système garantissent que les développeurs de compte interagissent consciemment avec les contrats système.
Dans ERC-4337 et StarkNet, il n'y a pas de restrictions particulières lors de la phase d'exécution.
) 5. nombre aléatoire
Dans l'ERC-4337, la conception du nombre aléatoire du point d'entrée distingue la valeur de clé de 192 bits et la valeur aléatoire de 64 bits.
Dans zkSync, le contrat système NonceHolder gère le nonce, garantissant une augmentation stricte, c'est-à-dire en ajoutant 1 au nombre aléatoire.
Dans StarkNet, le nonce est également strictement croissant, mais il n'y a pas de nonce abstrait géré par un contrat spécifique.
6. Utiliser la première transaction pour le déploiement
ERC-4337 contient un champ initcode dans la structure userOp, afin de déployer le contrat de compte de l'expéditeur ### dans son premier userOp ###.
Dans StarkNet et zkSync, les utilisateurs doivent envoyer leur première transaction à un opérateur/ordonneur pour déployer le contrat de compte.
( 7. conception spéciale dans zkSync
Si vous transférez directement de l'ETH d'un EOA Ethereum vers zkSync sans déployer de contrat de compte personnalisé, vous recevrez un compte par défaut avec la même adresse. Ce compte peut fonctionner comme un EOA Ethereum et est également contrôlé par la clé privée de l'EOA Ethereum correspondant.
Ce type de compte est de version None et non version 1. Vous ne pouvez pas appeler les fonctions de DefaultAccount, car il n'a déployé aucun code dans l'espace noyau.
Différences entre L1 4337 et L2 4337
Il y a deux différences clés dans la mise en œuvre d'ERC-4337 sur les chaînes compatibles EVM : la différence de protocole et la différence d'adresse.
) 1. Différences de protocole
Dans la conception des Rollups, L2 doit télécharger des données sur L1 pour la sécurité et le règlement. Dans le contexte de l'ERC-4337, les frais associés à ce processus de téléchargement, tels que les frais de sécurité L1 et les frais de blob, devraient être inclus dans le Gas de pré-validation. Déterminer les frais de téléchargement appropriés dans le Gas de pré-validation est un défi majeur.
2. Différences d'adresse
La méthode de codage des adresses dans la fonction create de zkSync ERA est différente de celle d'Ethereum et d'OP. De plus, StarkNet utilise une fonction de hachage unique pour le calcul des adresses. Dans le contexte de l'ERC-4337 sur les chaînes compatibles EVM, nous supposons généralement que le calcul des adresses est cohérent entre les chaînes. Cependant, il existe un détail difficile à remarquer qui peut entraîner des différences dans les adresses des contrats de compte entre les implémentations ERC-4337 d'Ethereum et de L2.
La question clé est l'ajout de nouveaux codes d'opération dans un hard fork. Par exemple, si la chaîne L2 ne prend pas en charge le hard fork de Shanghai, et que la version de l'EVM n'est pas spécifiée lors de la compilation, l'introduction de push0 entraînera un changement de bytecode, même si le code Solidity est le même.
![L'avenir des infrastructures de chiffrement ? Analyse de l'abstraction de compte multichaîne]###https://img-cdn.gateio.im/webp-social/moments-52ccc7ebff94f6c548dd55bc61aad309.webp###
Conclusion
Voici quelques concepts clés et différences d'implémentation concernant l'abstraction de compte. Nous pouvons voir que, bien que les implémentations d'abstraction de compte sur différentes chaînes aient des objectifs communs, il existe de nombreuses différences dans les détails concrets. Ces différences reflètent les considérations uniques de conception et d'optimisation de chaque chaîne, tout en offrant aux développeurs et aux utilisateurs un plus grand espace de choix. À l'avenir, avec le développement constant de la technologie, nous espérons voir plus d'implémentations innovantes de l'abstraction de compte, apportant une meilleure expérience utilisateur et des fonctionnalités plus puissantes à l'écosystème blockchain.
Voir l'original
Cette page peut inclure du contenu de tiers fourni à des fins d'information uniquement. Gate ne garantit ni l'exactitude ni la validité de ces contenus, n’endosse pas les opinions exprimées, et ne fournit aucun conseil financier ou professionnel à travers ces informations. Voir la section Avertissement pour plus de détails.
7 J'aime
Récompense
7
5
Partager
Commentaire
0/400
MaticHoleFiller
· 07-22 02:32
Le canard n'a pas encore été mis sur la chaîne.
Voir l'originalRépondre0
TokenUnlocker
· 07-22 02:32
AA natif, invincible dans le monde
Voir l'originalRépondre0
Anon4461
· 07-22 02:29
aa les infrastructures sont vraiment la grande tendance
Voir l'originalRépondre0
RooftopReserver
· 07-22 02:25
Outil de récolte des nouveaux pigeons AA?
Voir l'originalRépondre0
WagmiWarrior
· 07-22 02:13
Ne fais pas de chichis, il suffit de bien s'occuper des infrastructures.
Comparaison de l'abstraction de compte multi-chaînes : les principales différences entre ERC-4337 et AA natif
Analyse de l'abstraction de compte multi-chaînes : direction future des infrastructures de chiffrement
Du 8 au 11 juillet 2024, la conférence communautaire Ethereum (EthCC) se tiendra à Bruxelles, en Belgique. C'est le plus grand événement annuel Ethereum en Europe, axé sur la technologie et la communauté.
La conférence communautaire Ethereum ( EthCC 7) a vu plus de 350 leaders d'opinion de premier plan dans l'industrie de la blockchain prendre la parole, parmi lesquels un développeur a été invité à participer et a donné une présentation intitulée "Révéler l'avenir : analyse de l'abstraction de compte multi-chaînes".
Aperçu de la présentation:
abstraction de compte(AA) comprend principalement deux points clés : l'abstraction de signature et l'abstraction de paiement. L'abstraction de signature permet aux utilisateurs de choisir n'importe quel mécanisme de vérification qu'ils préfèrent, tandis que l'abstraction de paiement permet d'utiliser plusieurs options de paiement pour les transactions. Cette flexibilité offre une expérience utilisateur plus sécurisée et améliorée.
Dans l'ERC-4337 et l'AA natif, la fonction de point d'entrée de la phase de "validation" est fixe, tandis que dans la phase "d'exécution", seul le point d'entrée de l'AA natif est fixe. Les restrictions de validation des transactions et les étapes d'exécution des transactions ont chacune leurs propres caractéristiques et limitations dans différentes implémentations.
La mise en œuvre d'ERC-4337 sur une chaîne compatible EVM présente deux différences clés : les différences de protocole dans la conception des Rollups et les différences dans la façon de calculer les adresses, entraînant des détails de développement difficiles à remarquer lors de la mise en œuvre d'ERC-4337 entre L1 et L2.
Voici le texte complet du discours :
Bonjour à tous, aujourd'hui je vais vous présenter le concept d'ERC-4337 et d'AA natif, discuter des différences entre eux et analyser en profondeur les principales différences entre la norme 4337 de L1 et L2.
abstraction de compte introduction
1. Qu'est-ce que l'abstraction de compte
abstraction de compte(AA) comprend principalement deux points clés : l'abstraction de la signature et l'abstraction de paiement.
Cette flexibilité offre une expérience utilisateur plus sûre et plus optimale. L'objectif de l'abstraction de compte est d'atteindre ces deux points clés de différentes manières.
![L'avenir des infrastructures de chiffrement ? Analyse de l'abstraction de compte multichaînes])https://img-cdn.gateio.im/webp-social/moments-fbfb77042d4165310922e1ee85da71d9.webp(
) 2. Qu'est-ce que l'ERC-4337
Actuellement, le compte externe ###EOA( dans le protocole Ethereum présente certaines limitations, telles que des méthodes de signature fixes et un design de paiement. L'ERC-4337 résout ces problèmes en introduisant des méthodes de gestion de compte et de traitement des transactions plus flexibles.
) 3. Qu'est-ce que l'AA natif
Dans Ethereum, les comptes sont divisés en EOA et comptes de contrat. Cependant, dans l'AA natif, chaque compte est un contrat, et le mécanisme de traitement des transactions est directement intégré dans le protocole de la blockchain.
Conception de l'AA dans les différents réseaux de blockchain :
Si vous êtes intéressé par Aztec Native AA ou EIP-3074, EIP-7702, aujourd'hui nous allons nous concentrer sur l'AA natif après l'ERC-4337.
Différences entre ERC-4337 et AA natif
1. Rôle du système d'exploitation
AA OS doit répondre aux questions suivantes :
Dans l'ERC-4337, ces rôles sont réalisés en collaboration par le Bundler et le contrat EntryPoint.
Dans le AA natif, les utilisateurs envoient leurs userOps à l'opérateur/traceur du serveur officiel, plutôt qu'au Bundler et au contrat EntryPoint.
Dans StarkNet, le Séquenceur est responsable du traitement de toutes ces tâches.
Dans zkSync, la principale différence entre Era et d'autres implémentations AA est que l'Operator doit travailler en collaboration avec le contrat système bootloader###. Le Bootloader ouvre un nouveau bloc, définit ses paramètres(, y compris les paramètres de bloc et d'autres paramètres de Gas), et reçoit les transactions de l'Operator pour vérification.
( 2. Interface de contrat
En raison de l'existence de trois étapes, l'interface de contrat de compte est similaire dans différentes implémentations, ces fonctions de point d'entrée ne peuvent être appelées que par le système d'exploitation de l'abstraction de compte :
Dans ERC-4337 et AA natif, la fonction de point d'entrée de la phase de "validation" est fixe, tandis que dans la phase "d'exécution", seul le point d'entrée dans AA natif est fixe.
) 3. Limites des étapes de vérification
En raison de l'absence de limites de coûts pour la validation des transactions,###, en essence, la validation des transactions consiste à appeler une fonction de vue###. Un attaquant peut effectuer une attaque DoS sur le pool de mémoire, ce qui peut compromettre le regroupement(EIP-4337) ou l'opérateur/le tri(AA natif).
EIP-4337 définit quels codes d'opération sont interdits et comment limiter l'accès au stockage. zkSync Era assouplit l'utilisation de certains OpCode :
( 4. Limites des étapes d'exécution
Dans zkSync, l'exécution d'appels système nécessite la confirmation de l'existence des drapeaux système. Par exemple, la seule façon d'augmenter le nonce est d'interagir avec le NonceHolder, tandis que le déploiement de contrats nécessite d'interagir avec le ContractDeployer. Les drapeaux système garantissent que les développeurs de compte interagissent consciemment avec les contrats système.
Dans ERC-4337 et StarkNet, il n'y a pas de restrictions particulières lors de la phase d'exécution.
) 5. nombre aléatoire
6. Utiliser la première transaction pour le déploiement
( 7. conception spéciale dans zkSync
Si vous transférez directement de l'ETH d'un EOA Ethereum vers zkSync sans déployer de contrat de compte personnalisé, vous recevrez un compte par défaut avec la même adresse. Ce compte peut fonctionner comme un EOA Ethereum et est également contrôlé par la clé privée de l'EOA Ethereum correspondant.
Ce type de compte est de version None et non version 1. Vous ne pouvez pas appeler les fonctions de DefaultAccount, car il n'a déployé aucun code dans l'espace noyau.
Différences entre L1 4337 et L2 4337
Il y a deux différences clés dans la mise en œuvre d'ERC-4337 sur les chaînes compatibles EVM : la différence de protocole et la différence d'adresse.
) 1. Différences de protocole
Dans la conception des Rollups, L2 doit télécharger des données sur L1 pour la sécurité et le règlement. Dans le contexte de l'ERC-4337, les frais associés à ce processus de téléchargement, tels que les frais de sécurité L1 et les frais de blob, devraient être inclus dans le Gas de pré-validation. Déterminer les frais de téléchargement appropriés dans le Gas de pré-validation est un défi majeur.
2. Différences d'adresse
La méthode de codage des adresses dans la fonction create de zkSync ERA est différente de celle d'Ethereum et d'OP. De plus, StarkNet utilise une fonction de hachage unique pour le calcul des adresses. Dans le contexte de l'ERC-4337 sur les chaînes compatibles EVM, nous supposons généralement que le calcul des adresses est cohérent entre les chaînes. Cependant, il existe un détail difficile à remarquer qui peut entraîner des différences dans les adresses des contrats de compte entre les implémentations ERC-4337 d'Ethereum et de L2.
La question clé est l'ajout de nouveaux codes d'opération dans un hard fork. Par exemple, si la chaîne L2 ne prend pas en charge le hard fork de Shanghai, et que la version de l'EVM n'est pas spécifiée lors de la compilation, l'introduction de push0 entraînera un changement de bytecode, même si le code Solidity est le même.
![L'avenir des infrastructures de chiffrement ? Analyse de l'abstraction de compte multichaîne]###https://img-cdn.gateio.im/webp-social/moments-52ccc7ebff94f6c548dd55bc61aad309.webp###
Conclusion
Voici quelques concepts clés et différences d'implémentation concernant l'abstraction de compte. Nous pouvons voir que, bien que les implémentations d'abstraction de compte sur différentes chaînes aient des objectifs communs, il existe de nombreuses différences dans les détails concrets. Ces différences reflètent les considérations uniques de conception et d'optimisation de chaque chaîne, tout en offrant aux développeurs et aux utilisateurs un plus grand espace de choix. À l'avenir, avec le développement constant de la technologie, nous espérons voir plus d'implémentations innovantes de l'abstraction de compte, apportant une meilleure expérience utilisateur et des fonctionnalités plus puissantes à l'écosystème blockchain.