
EIP-6963 en bref : une solution possible au problème de la coexistence de plusieurs portefeuilles
TechFlow SélectionTechFlow Sélection

EIP-6963 en bref : une solution possible au problème de la coexistence de plusieurs portefeuilles
EIP-6963 vise à améliorer l'interopérabilité entre plusieurs fournisseurs de portefeuilles, à réduire les barrières d'entrée pour les nouveaux fournisseurs et à améliorer l'expérience utilisateur sur le réseau Ethereum.
Rédaction : Mundus Security
Traduction : TechFlow

L’EIP-6963 récemment proposé vise à résoudre les conflits rencontrés par les utilisateurs lorsqu’ils tentent d’utiliser plusieurs fournisseurs de portefeuilles dans un même navigateur web. Ces conflits peuvent nuire à l’expérience utilisateur, limiter le contrôle des utilisateurs sur leurs interfaces Ethereum et complexifier l’interaction avec les applications décentralisées (dApp).
Présentation du problème
Actuellement, les fournisseurs de portefeuilles proposant une extension de navigateur doivent injecter leur fournisseur Ethereum (conforme à la norme EIP-1193) dans l’objet window.ethereum du navigateur. Ce mécanisme pose problème pour les utilisateurs ayant installé plusieurs extensions de navigateur. En effet, ces extensions se chargent dans les pages web selon un ordre imprévisible et instable, empêchant ainsi l’utilisateur de choisir librement quel portefeuille occupera l’objet window.ethereum. Généralement, c’est le dernier portefeuille chargé qui prend le contrôle.
EIP-6963 : la solution proposée
Pour remédier à ce problème, l’EIP-6963 propose un mécanisme alternatif de découverte des fournisseurs EIP-1193, remplaçant l’utilisation directe de window.ethereum. La proposition introduit un ensemble d’événements de fenêtre permettant un protocole de communication bidirectionnel entre les bibliothèques Ethereum et les scripts injectés par les extensions de portefeuilles. Cette solution améliore l’interopérabilité entre plusieurs fournisseurs de portefeuilles, abaisse les barrières à l’entrée pour les nouveaux venus et améliore l’expérience utilisateur sur le réseau Ethereum.
La proposition décrit une interface normalisée d’information du fournisseur (EIP6963ProviderInfo), essentielle pour remplir les fenêtres contextuelles de sélection de portefeuille. Elle met également en avant l’importance de l’interface d’annonce du fournisseur (EIP6963ProviderDetail), préservant ainsi l’interface EIP-1193 inchangée afin d’assurer la compatibilité ascendante.
Les attributs clés de l’interface d’information du fournisseur sont les suivants :
-
walletId : identifiant global unique du fournisseur de portefeuille (par exemple, io.dopewallet.extension ou awesomewallet).
-
uuid : identifiant local unique du fournisseur de portefeuille conforme à UUID v4.0.
-
name : nom lisible par l’humain du fournisseur de portefeuille (par exemple, DopeWalletExtension ou Awesome).
-
icon : URI pointant vers une image, idéalement carrée avec une résolution minimale de 96x96 px. Les formats PNG, WebP ou vectoriels comme SVG sont recommandés. L’équipe derrière la proposition déconseille fortement les formats avec perte tels que JPG / JPEG.
Concernant les événements déclenchés, les bibliothèques Ethereum et les fournisseurs de portefeuilles utilisent tous deux la fonction window.dispatchEvent pour émettre des événements, et window.addEventListener pour les écouter. Lorsqu’une bibliothèque Ethereum s’initialise, elle émet l’événement « eip6963:requestProvider », tandis que les fournisseurs de portefeuilles répondent en émettant l’événement « eip6963:announceProvider », accompagné des détails de leur interface et de leurs informations.
Impact de l’EIP-6963
Selon des estimations optimistes, l’adoption et la mise en œuvre de l’EIP-6963 pourraient prendre environ trois à six mois. Ce développement pourrait donner lieu à de nouvelles dynamiques autour des portefeuilles d’ici la fin de l’année, brisant potentiellement l’hégémonie de leaders tels que MetaMask et créant un environnement plus concurrentiel entre fournisseurs.
Des portefeuilles tels que Coin98, Coinbase Wallet, Trust Wallet, Phantom, Taho, Rabby, Frame, XDEFI, Rainbow, Zerion, Spot, Frontier, MEW, Dawn Wallet, Blockwallet, Bitski, SafePal, BitKeep et MathWallet devraient bénéficier de cette évolution.
Avantages et inconvénients :
L’EIP-6963 soulève certaines questions de sécurité à prendre en compte.
Avantages :
-
Aucun point de défaillance unique : en permettant plusieurs fournisseurs de portefeuilles, on élimine le risque de point de défaillance unique. Cela est bénéfique pour la sécurité, car si un fournisseur subit une attaque ou une panne technique, les utilisateurs disposent d’alternatives disponibles.
-
Réduction de la dépendance à un fournisseur unique : actuellement, la communauté Ethereum dépend fortement d’un seul fournisseur, MetaMask. Cela comporte des risques potentiels, car une attaque contre MetaMask affecterait la majorité des utilisateurs. En soutenant plusieurs portefeuilles, l’EIP-6963 répartit ce risque.
-
Meilleure maîtrise par l’utilisateur : la possibilité de choisir parmi plusieurs fournisseurs donne aux utilisateurs un meilleur contrôle sur leur sécurité. Ils peuvent sélectionner un portefeuille correspondant à leurs préférences personnelles en matière de sécurité et de niveau de confiance.
Inconvénients :
-
Augmentation de la surface d’attaque : la mise en œuvre de l’EIP-6963 étend la surface d’attaque, puisqu’un plus grand nombre de fournisseurs de portefeuilles deviennent des cibles potentielles pour les acteurs malveillants. Chaque fournisseur doit respecter des normes de sécurité élevées pour minimiser ce risque.
-
Risque potentiel lié à l’exploitation d’images SVG : l’EIP-6963 recommande l’utilisation d’images SVG comme icônes des fournisseurs. Or, les fichiers SVG peuvent contenir du code JavaScript, exposant ainsi à des risques de script intersites (XSS). Bien que la proposition précise que les images SVG doivent être intégrées via la balise <img> pour bloquer l’exécution de JavaScript, cette recommandation ne peut être vérifiée que par des tiers ou auditeurs indépendants lors de chaque implémentation.
-
Conséquences du remplacement de window.ethereum : bien que l’EIP n’enfreigne pas directement les applications existantes en remplaçant window.ethereum, il suggère toutefois de le faire après le choix du portefeuille par l’utilisateur. Cette pratique ne peut être validée que par un tiers ou un auditeur lors de chaque implémentation spécifique.
Conclusion
L’EIP-6963 vise à améliorer l’interopérabilité entre plusieurs fournisseurs de portefeuilles, à abaisser les barrières à l’entrée pour les nouveaux acteurs et à enrichir l’expérience utilisateur sur le réseau Ethereum. Parallèlement, ses implications en matière de sécurité sont complexes.
Les utilisateurs, fournisseurs de portefeuilles et développeurs de bibliothèques Ethereum doivent respecter les meilleures pratiques afin de garantir la sécurité continue de l’écosystème Ethereum.
En appliquant cette proposition, l’écosystème Ethereum peut évoluer vers un environnement plus convivial et compétitif, avantageux tant pour les fournisseurs de portefeuilles que pour leurs utilisateurs.
Bienvenue dans la communauté officielle TechFlow
Groupe Telegram :https://t.me/TechFlowDaily
Compte Twitter officiel :https://x.com/TechFlowPost
Compte Twitter anglais :https://x.com/BlockFlow_News














