L'EIP-6963 récemment proposé vise à résoudre les problèmes conflictuels qui surviennent lorsque les utilisateurs essaient d'utiliser plusieurs fournisseurs de portefeuilles dans un seul navigateur Web. Dans ce cas, ces problèmes de conflit peuvent entraîner une expérience utilisateur dégradée, empêcher les utilisateurs de contrôler leur interface Ethereum et compliquer le processus d'interaction avec les dApps.
Présentation du problème
Actuellement, les fournisseurs de portefeuilles proposant des extensions de navigateur doivent injecter leur fournisseur Ethereum (conformément à la norme EIP-1193) dans l'objet Ethereum du navigateur. Ce mécanisme crée un problème pour les utilisateurs qui ont installé plusieurs extensions de navigateur. Les extensions de navigateur sont chargées dans les pages Web dans un ordre imprévisible et erratique, ce qui empêche les utilisateurs de choisir leur propre portefeuille Ethereum dans l'objet Ethereum. Habituellement, le dernier portefeuille à charger est celui qui apparaît sur la page de contrôle.
EIP-6963 : Solution proposée
Pour résoudre ce problème, EIP-6963 propose un mécanisme existant pour remplacer le fournisseur EIP-1193 d'Ethereum. La proposition introduit un ensemble d'événements de fenêtre pour activer un protocole de communication bidirectionnel entre les bibliothèques Ethereum et les scripts injectés fournis par les extensions de navigateur. Cette solution optimise l'interopérabilité entre plusieurs fournisseurs de portefeuilles, réduit la barrière à l'entrée pour les nouveaux fournisseurs de portefeuilles et améliore l'expérience utilisateur sur le réseau Ethereum.
La proposition décrit une interface d'informations de fournisseur standardisée (EIP6963ProviderInfo), qui est essentielle pour remplir la fenêtre contextuelle de sélection de portefeuille. Il souligne également l'importance de déclarer l'interface du fournisseur (EIP6963ProviderDetail), qui laisse l'interface du fournisseur EIP-1193 inchangée pour la compatibilité descendante.
Les principales propriétés de l'interface d'informations sur le fournisseur incluent :
walletId : Identifiant global unique du fournisseur de portefeuille (par exemple, io.dopewallet.extension ou awesomewallet).
**uuid : **Identifiant local unique conforme à UUID v4.0 pour le fournisseur de portefeuille.
name : Nom lisible du fournisseur de portefeuille (par exemple, DopeWalletExtension ou Awesome).
icon : Un URI pointant vers une image doit être un carré avec une résolution minimale de 96x96px. Les formats d'image PNG et WebP ou vectoriels tels que SVG sont recommandés. L'équipe de proposition déconseille fortement l'utilisation de formats avec perte tels que JPG/JPEG.
En termes de déclenchement d'événements, la bibliothèque Ethereum et le fournisseur de portefeuille utilisent la fonction dispatchEvent pour émettre des événements et addEventListener pour observer les événements. Lorsque la bibliothèque Ethereum s'initialise, elle émet un événement "eip6963:requestProvider", et le fournisseur de portefeuille émet un événement "eip6963:announceProvider", ainsi que des détails sur son interface de fournisseur et des informations.
Impact de l'EIP-6963
Selon des estimations optimistes, l'acceptation et la mise en œuvre de l'EIP-6963 pourraient prendre environ trois à six mois. Ce développement pourrait conduire à une nouvelle histoire de portefeuille d'ici la fin de l'année, brisant potentiellement l'hégémonie des principaux fournisseurs de portefeuilles comme Metamask et créant un environnement plus concurrentiel entre les 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 sont prêts à en bénéficier. développement.
avantages et inconvénients :
EIP-6963 soulève certains problèmes de sécurité à prendre en compte.
avantage:
AUCUN POINT DE DÉFAILLANCE UNIQUE : En autorisant plusieurs fournisseurs de portefeuilles, nous avons éliminé le problème d'un point de défaillance unique. Ceci est bénéfique en termes de sécurité, car cela signifie que si un fournisseur de portefeuille subit une attaque ou une défaillance technique, les utilisateurs disposent d'alternatives.
Réduire la dépendance à un seul fournisseur : Actuellement, la communauté Ethereum s'appuie fortement sur un seul fournisseur, MetaMask. Cela pose un risque potentiel car si MetaMask est compromis, la plupart des utilisateurs d'Ethereum seront affectés. En prenant en charge plusieurs portefeuilles, EIP-6963 répartit les risques.
Contrôle utilisateur amélioré : La possibilité de choisir plusieurs fournisseurs de portefeuille donne aux utilisateurs un meilleur contrôle sur leur sécurité. Les utilisateurs peuvent choisir un fournisseur de portefeuille qui correspond à leurs préférences de sécurité personnelles et à leur niveau de confiance.
défaut:
** Augmentation de la surface d'attaque : ** La mise en œuvre d'EIP-6963 augmente la surface d'attaque. Cela est dû au nombre accru de fournisseurs de portefeuilles qui peuvent être attaqués par des acteurs malveillants. Chaque fournisseur de portefeuille doit respecter des normes de sécurité élevées pour minimiser ce risque.
**Risques potentiels liés à l'utilisation d'images SVG : **EIP-6963 propose d'utiliser des images SVG comme icônes pour les fournisseurs de portefeuilles. Cependant, les images SVG peuvent contenir du code Java, qui peut présenter un risque de script intersite (XSS). Bien que l'EIP précise que les images SVG doivent être rendues à l'aide de balises pour empêcher l'exécution de Java, cette recommandation ne peut être vérifiée que par des tiers ou des auditeurs de chaque implémentation.
Impact du remplacement d'Ethereum : Bien qu'EIP ne perturbe pas directement les applications existantes en remplaçant Ethereum, il suggère de le faire une fois que les utilisateurs ont choisi un portefeuille. Cette recommandation ne peut être vérifiée dans chaque mise en œuvre que par un tiers ou un auditeur.
en conclusion
EIP-6963 vise à améliorer l'interopérabilité entre plusieurs fournisseurs de portefeuilles, à réduire les barrières à l'entrée pour les nouveaux fournisseurs et à améliorer l'expérience utilisateur sur le réseau Ethereum. Dans le même temps, l'impact sur la sécurité est complexe.
Les utilisateurs, les fournisseurs de portefeuilles et les développeurs de bibliothèques Ethereum doivent respecter les meilleures pratiques pour garantir la sécurité de l'écosystème Ethereum.
En mettant en œuvre cette proposition, l'écosystème Ethereum peut évoluer vers un environnement plus convivial et compétitif, bénéficiant à la fois aux fournisseurs de portefeuilles et à leurs utilisateurs.
Voir l'original
Le contenu est fourni à titre de référence uniquement, il ne s'agit pas d'une sollicitation ou d'une offre. Aucun conseil en investissement, fiscalité ou juridique n'est fourni. Consultez l'Avertissement pour plus de détails sur les risques.
Analyse de la résolution des conflits multi-portefeuilles EIP-6963
Rédigé par : Mundus Security
Compilation : Deep Tide TechFlow
L'EIP-6963 récemment proposé vise à résoudre les problèmes conflictuels qui surviennent lorsque les utilisateurs essaient d'utiliser plusieurs fournisseurs de portefeuilles dans un seul navigateur Web. Dans ce cas, ces problèmes de conflit peuvent entraîner une expérience utilisateur dégradée, empêcher les utilisateurs de contrôler leur interface Ethereum et compliquer le processus d'interaction avec les dApps.
Présentation du problème
Actuellement, les fournisseurs de portefeuilles proposant des extensions de navigateur doivent injecter leur fournisseur Ethereum (conformément à la norme EIP-1193) dans l'objet Ethereum du navigateur. Ce mécanisme crée un problème pour les utilisateurs qui ont installé plusieurs extensions de navigateur. Les extensions de navigateur sont chargées dans les pages Web dans un ordre imprévisible et erratique, ce qui empêche les utilisateurs de choisir leur propre portefeuille Ethereum dans l'objet Ethereum. Habituellement, le dernier portefeuille à charger est celui qui apparaît sur la page de contrôle.
EIP-6963 : Solution proposée
Pour résoudre ce problème, EIP-6963 propose un mécanisme existant pour remplacer le fournisseur EIP-1193 d'Ethereum. La proposition introduit un ensemble d'événements de fenêtre pour activer un protocole de communication bidirectionnel entre les bibliothèques Ethereum et les scripts injectés fournis par les extensions de navigateur. Cette solution optimise l'interopérabilité entre plusieurs fournisseurs de portefeuilles, réduit la barrière à l'entrée pour les nouveaux fournisseurs de portefeuilles et améliore l'expérience utilisateur sur le réseau Ethereum.
La proposition décrit une interface d'informations de fournisseur standardisée (EIP6963ProviderInfo), qui est essentielle pour remplir la fenêtre contextuelle de sélection de portefeuille. Il souligne également l'importance de déclarer l'interface du fournisseur (EIP6963ProviderDetail), qui laisse l'interface du fournisseur EIP-1193 inchangée pour la compatibilité descendante.
Les principales propriétés de l'interface d'informations sur le fournisseur incluent :
En termes de déclenchement d'événements, la bibliothèque Ethereum et le fournisseur de portefeuille utilisent la fonction dispatchEvent pour émettre des événements et addEventListener pour observer les événements. Lorsque la bibliothèque Ethereum s'initialise, elle émet un événement "eip6963:requestProvider", et le fournisseur de portefeuille émet un événement "eip6963:announceProvider", ainsi que des détails sur son interface de fournisseur et des informations.
Impact de l'EIP-6963
Selon des estimations optimistes, l'acceptation et la mise en œuvre de l'EIP-6963 pourraient prendre environ trois à six mois. Ce développement pourrait conduire à une nouvelle histoire de portefeuille d'ici la fin de l'année, brisant potentiellement l'hégémonie des principaux fournisseurs de portefeuilles comme Metamask et créant un environnement plus concurrentiel entre les 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 sont prêts à en bénéficier. développement.
avantages et inconvénients :
EIP-6963 soulève certains problèmes de sécurité à prendre en compte.
avantage:
défaut:
en conclusion
EIP-6963 vise à améliorer l'interopérabilité entre plusieurs fournisseurs de portefeuilles, à réduire les barrières à l'entrée pour les nouveaux fournisseurs et à améliorer l'expérience utilisateur sur le réseau Ethereum. Dans le même temps, l'impact sur la sécurité est complexe.
Les utilisateurs, les fournisseurs de portefeuilles et les développeurs de bibliothèques Ethereum doivent respecter les meilleures pratiques pour garantir la sécurité de l'écosystème Ethereum.
En mettant en œuvre cette proposition, l'écosystème Ethereum peut évoluer vers un environnement plus convivial et compétitif, bénéficiant à la fois aux fournisseurs de portefeuilles et à leurs utilisateurs.