Auteur original : David
Au cours des derniers mois, les discussions sur l’abstraction de compte et les portefeuilles de contrats intelligents ont été très animées.
Avec le développement rapide de l’écosystème Ethereum, il est devenu de plus en plus important de parvenir à une expérience utilisateur unifiée et transparente. Dans la feuille de route d’Ethereum 2.0, l’abstraction, la fusion et le partage de comptes occupent une position tout aussi importante.
Vitalik Buterin a également tweeté que les portefeuilles de contrats intelligents offrent une meilleure expérience utilisateur que les portefeuilles EOA.
Pour les vétérans de la cryptographie, l’utilisation d’un portefeuille EOA est une compétence suffisante. Mais du point de vue d'attirer davantage de nouveaux utilisateurs, le portefeuille EOA a encore certains problèmes dans l'interface utilisateur et dans la compréhension des coûts : signatures confuses, où obtenir les frais d'essence et la logique dure « action = transaction »….
Par conséquent, la communauté est progressivement parvenue à un consensus sur la nécessité d’une transition en douceur des comptes EOA vers les portefeuilles de contrats intelligents, ce qui est également devenu politiquement correct.
Mais les informations populaires dans la communauté Crypto ne parlent généralement que du récit, et non de la manière de le réaliser :
Si nous savons tous que les portefeuilles de contrats intelligents sont supérieurs aux EOA, cette voie est évidente. La question est de savoir comment y parvenir. Où se trouve le pont ?
Ce qui est encore plus difficile à résoudre, c'est le problème pratique de la dépendance au chemin : j'ai déjà divers actifs sur mon compte EOA. Vous me demandez maintenant de les migrer vers un compte de contrat intelligent. Est-ce problématique ?
Comment pouvons-nous réaliser efficacement cette transformation ? Comment pouvons-nous faciliter la migration des ressources des utilisateurs ?
Il n’y a pas de routes dans ce monde à moins que quelqu’un ne les ait pavées à l’avance.
Récemment, la proposition EIP-7377, une solution potentielle, a été proposée par Matt Garnett, développeur de Go Ethereum. Elle vise à ajouter un nouveau type de transaction permettant aux comptes EOA de migrer définitivement vers des portefeuilles de contrats intelligents via une transaction unique. Cela ouvre la voie à une plus grande abstraction des comptes Ethereum.
Motivation pour EIP-7377
Depuis 2015, les portefeuilles de contrats intelligents sont considérés comme une solution clé aux problèmes d'expérience utilisateur d'Ethereum. Comparés aux comptes EOA, ils offrent une plus grande programmabilité, permettant la conception de mécanismes complexes et améliorant la sécurité et la convivialité.
Cependant, pour des raisons historiques, seul un petit nombre d'utilisateurs d'Ethereum utilisent actuellement des portefeuilles de contrats intelligents, tandis qu'un volume important d'actifs est encore stocké sur des comptes EOA. Cela constitue un obstacle au développement d'Ethereum.
À mesure que les actifs s'accumulent, les utilisateurs ne peuvent pas facilement migrer manuellement tous les actifs du compte EOA vers une nouvelle adresse de contrat intelligent. Cette opération est très complexe, tant en termes de coûts que de procédures opérationnelles.
L'objectif de l'EIP-7377 est donc de répondre à ce besoin pratique en fournissant un mécanisme de migration au niveau du protocole de l'EOA vers les portefeuilles de contrats intelligents, permettant une transition en douceur. Cela pourrait considérablement inciter les utilisateurs existants à migrer et offrir une solution de transition EOA plus pragmatique aux nouveaux utilisateurs entrant sur le marché avant que l'abstraction des comptes ne se généralise.
Une explication simple de la mise en œuvre technique de l'EIP-7377
Alors, comment cette proposition permet-elle spécifiquement de transférer l’EOA vers un portefeuille de contrats intelligents ?
Dans le message original sur le forum technique, l'auteur a brièvement expliqué :
La signification générale de ce résumé est que l'EIP-7377 propose un nouveau type de transaction 0x 04, qui est spécifiquement utilisé pour les « transactions de migration ».
Dans le langage technique du message original :
Le champ de code du compte expéditeur, dans l'arborescence d'état, est défini comme un pointeur vers le code spécifié dans le stockage de code. Parallèlement, la transaction de migration peut également définir directement la valeur de stockage du compte expéditeur. Le champ de stockage de la transaction est écrit dans l'arborescence de stockage du compte expéditeur sous forme de paire clé-valeur. De plus, le stockage de code utilise des pointeurs plutôt que du code en ligne. L'avantage est que le code partagé peut être réutilisé, la redondance est réduite et la taille de l'arborescence d'état est optimisée.
La description originale ci-dessus est très obscure et difficile à comprendre pour les personnes sans connaissances techniques. Après avoir consulté des amis techniciens et des sources publiques, nous avons tenté de simplifier tous les détails techniques et d'utiliser des métaphores pour comprendre rapidement l'EIP-7377 :
L'EIP-7377 propose un type de transaction spécial qui peut être compris comme une « carte de migration ».
Les utilisateurs ordinaires n'ont qu'à lancer cette transaction de carte de migration pour migrer les actifs de leur compte vers le portefeuille de contrats intelligents.
Il s'agit de l'équivalent de votre compte sur le site web d'origine, qui contient votre nom d'utilisateur, votre mot de passe, votre avatar et d'autres informations (votre EOA d'origine contient le nom de la cryptomonnaie, sa quantité, sa chaîne, sa limite de gaz, etc.). Cependant, les fonctionnalités de ce site web ne sont pas suffisantes et vous souhaitez migrer complètement vers un nouveau site.
Pour faciliter la migration, le nouveau site web a introduit une « carte de migration ». Il vous suffit de soumettre cette carte sur le nouveau site web et les informations de votre compte seront automatiquement copiées, reliant ainsi vos anciennes et nouvelles données. C'est bien plus pratique que de transférer manuellement vos données une par une.
Par ailleurs, pour des raisons de sécurité, la « carte de migration » ne peut être utilisée qu'une seule fois ; les migrations et actualisations répétées des données ne sont pas autorisées. De plus, le nouveau site web héritera de certaines règles de vérification de l'ancien site web, empêchant ainsi les autres utilisateurs de savoir si vous êtes un nouvel utilisateur ou un ancien utilisateur.
C'est l'effet technique visé par l'EIP-7377. Grâce à une « carte » spéciale appelée « transaction de migration », et en manipulant directement le code du compte et le stockage, une migration fluide de l'EOA vers un portefeuille de contrats intelligents est réalisée de manière sécurisée et efficace.
Bien entendu, les objets spécifiques de la migration ne sont pas les noms d’utilisateur, les mots de passe et les avatars mentionnés ci-dessus, mais divers types d’informations liées aux actifs cryptographiques :
(Remarque : en raison de mon expérience non technique, je ne peux pas comprendre pleinement l’intégralité du contenu de cette proposition. J’accepte avec plaisir d’autres corrections et ajouts de la part d’experts techniques. Adresse du message d’origine : https://eips.ethereum.org/EIPS/eip-7377?ref=newsletter.ether.fm)
Impact potentiel, importance et risques de l'EIP-7377
La migration des EOA vers des comptes de contrats intelligents proposée par l'EIP-7377 aura un impact positif sur l'écosystème Ethereum à long terme. Nous pensons qu'elle constituera une étape clé dans le développement de l'abstraction des comptes.
Cette approche de migration fluide, prise en charge au niveau du protocole, peut réduire considérablement la difficulté et la dépendance au chemin d'accès à la migration vers les portefeuilles de contrats intelligents. Les utilisateurs de cryptomonnaies sont souvent peu familiarisés avec les technologies sous-jacentes et, poussés par la priorité donnée aux actifs, hésitent à innover proactivement. Si le protocole sous-jacent prend déjà en charge la migration en un clic, associée à des incitations appropriées et à des interfaces utilisateur conviviales, la volonté des utilisateurs de migrer augmentera théoriquement de manière significative.
Cependant, nous devons également être conscients du risque que cette nouvelle fonctionnalité soit utilisée pour des attaques malveillantes. Parmi les méthodes malveillantes possibles, on peut citer :
Attaque de phishing : créez une fausse transaction de transfert, puis trompez les utilisateurs pour qu'ils approuvent la transaction via un lien de phishing, transférant ainsi illégalement des actifs.
Implantation de code malveillant : les pirates peuvent altérer le code pendant le processus de migration pour implanter des portes dérobées et prendre le contrôle du compte.
Vol de migration répété : profitant de la limitation selon laquelle les transactions de migration ne peuvent être exécutées qu'une seule fois, les pirates peuvent lancer des transactions de migration répétées après une migration légitime, prétendant faussement qu'il y a échec, puis demander à l'utilisateur d'approuver à nouveau, volant ainsi des actifs.
Dans le monde des cryptomonnaies, une simple mise à niveau ou innovation de protocole ne peut pas permettre d'atteindre la vision globale du jour au lendemain. Dans le contexte de la Forêt Noire, les mises à niveau de protocole nécessitent également des audits, des vérifications de sources fiables, des programmes de primes et d'autres mesures pour prévenir ces menaces et garantir la sécurité des transactions de migration.
Enfin, nous devons également réfléchir à :
La transformation des infrastructures et des protocoles nécessite une force motrice écologique forte. Qui favorisera la migration à grande échelle des utilisateurs de l'EOA vers les comptes de contrats intelligents ? Qui assumera les risques techniques et la sécurité des actifs pendant le processus de migration ?
Dans le monde de la cryptographie qui prône la liberté et la décentralisation, comment de telles mises à niveau du système peuvent-elles former un consensus et une synergie ?
L'écosystème Ethereum est vaste et compte de nombreux acteurs. Bien que cette transition soit positive, elle peut également susciter le scepticisme et la résistance de divers groupes. La planification et les détails du processus de transition nécessitent une conception minutieuse afin de parvenir à un consensus communautaire et de garantir que les intérêts des utilisateurs ne soient pas lésés.
De l’idéal à la réalité, de la conception à la mise en œuvre, le chemin est encore long.
