Недавно предложенный EIP-6963 направлен на решение противоречивых проблем, возникающих, когда пользователи пытаются использовать несколько поставщиков кошельков в одном веб-браузере. В этом случае эти конфликтные проблемы могут привести к ухудшению пользовательского опыта, помешать пользователям управлять своим интерфейсом Ethereum и усложнить процесс взаимодействия с dApps.
Введение в проблему
В настоящее время провайдеры кошельков, предлагающие расширения для браузера, должны внедрить своего провайдера ethereum (в соответствии со стандартом EIP-1193) в объект ethereum браузера. Этот механизм создает проблему для пользователей, у которых установлено несколько расширений браузера. Расширения браузера загружаются на веб-страницы в непредсказуемом и беспорядочном порядке, что делает невозможным для пользователей выбор собственного кошелька Ethereum в объекте ethereum. Обычно последний загружаемый кошелек — это тот, который открывает страницу управления.
EIP-6963: Предлагаемое решение
Чтобы решить эту проблему, EIP-6963 предлагает существующий механизм для замены провайдера EIP-1193 Ethereum. Предложение вводит набор событий окна, чтобы включить протокол двусторонней связи между библиотеками Ethereum и внедряемыми скриптами, предоставляемыми расширениями браузера. Это решение оптимизирует взаимодействие между несколькими поставщиками кошельков, снижает входной барьер для новых поставщиков кошельков и улучшает взаимодействие с пользователем в сети Ethereum.
В предложении описывается стандартизированный интерфейс информации о провайдере (EIP6963ProviderInfo), который необходим для заполнения всплывающего окна выбора кошелька. Также подчеркивается важность объявления интерфейса провайдера (EIP6963ProviderDetail), который оставляет интерфейс провайдера EIP-1193 без изменений для обратной совместимости.
Ключевые свойства в информационном интерфейсе поставщика включают в себя:
walletId: Глобальный уникальный идентификатор поставщика кошелька (например, io.dopewallet.extension или awesomewallet).
**uuid: **совместимый с UUID v4.0 локальный уникальный идентификатор поставщика кошелька.
name: Удобочитаемое имя поставщика кошелька (например, DopeWalletExtension или Awesome).
icon: URI, указывающий на изображение, должен быть квадратным с минимальным разрешением 96x96px. Рекомендуются PNG и WebP или векторные форматы изображений, такие как SVG. Команда предложения настоятельно не рекомендует использовать форматы с потерями, такие как JPG/JPEG.
Что касается запуска событий, и библиотека Ethereum, и поставщик кошелька используют функцию dispatchEvent для генерации событий и addEventListener для наблюдения за событиями. Когда библиотека Ethereum инициализируется, она генерирует событие «eip6963:requestProvider», а провайдер кошелька генерирует событие «eip6963:announceProvider» вместе с деталями интерфейса и информацией своего провайдера.
Влияние EIP-6963
По оптимистичным оценкам, принятие и внедрение EIP-6963 может занять от трех до шести месяцев. Это развитие событий может привести к новой истории кошелька к концу года, что может нарушить гегемонию ведущих поставщиков кошельков, таких как Metamask, и создать более конкурентную среду среди поставщиков.
Кошельки, такие как Coin98, Coinbase Wallet, Trust Wallet, Phantom, Taho, Rabby, Frame, XDEFI, Rainbow, Zerion, Spot, Frontier, MEW, Dawn Wallet, Blockwallet, Bitski, SafePal, BitKeep и MathWallet, готовы извлечь выгоду из этого. развитие .
за и против:
EIP-6963 поднимает некоторые вопросы безопасности, которые необходимо учитывать.
преимущество:
НЕТ ЕДИНСТВЕННОЙ ТОЧКИ ОТКАЗА: Разрешив несколько поставщиков кошельков, мы устранили проблему единой точки отказа. Это выгодно с точки зрения безопасности, так как это означает, что если один поставщик кошельков подвергается атаке или техническому сбою, у пользователей есть доступные альтернативы.
Уменьшение зависимости от одного провайдера: В настоящее время сообщество Ethereum в значительной степени зависит от одного провайдера, MetaMask. Это представляет потенциальный риск, потому что если MetaMask будет скомпрометирован, это повлияет на большинство пользователей Ethereum. Поддерживая несколько кошельков, EIP-6963 распределяет риски.
Расширенный контроль пользователей. Возможность выбора нескольких поставщиков кошельков дает пользователям больший контроль над своей безопасностью. Пользователи могут выбрать поставщика кошелька, который соответствует их личным предпочтениям безопасности и уровню доверия.
недостаток:
** Увеличенная поверхность атаки: ** Внедрение EIP-6963 увеличивает поверхность атаки. Это связано с увеличением числа поставщиков кошельков, которые могут быть атакованы злоумышленниками. Каждый поставщик кошельков должен придерживаться высоких стандартов безопасности, чтобы свести к минимуму этот риск.
**Потенциальные риски использования изображений SVG: **EIP-6963 предлагает использовать изображения SVG в качестве значков для поставщиков кошельков. Однако изображения SVG могут содержать код Java, который может представлять риск межсайтового скриптинга (XSS). Хотя EIP указывает, что изображения SVG должны отображаться с использованием тегов для предотвращения выполнения Java, эта рекомендация может быть проверена только третьими лицами или аудиторами каждой реализации.
Влияние замены эфириума: Хотя EIP не нарушает работу существующих приложений напрямую, заменяя эфириум, он предлагает сделать это после того, как пользователи выберут кошелек. Эта рекомендация может быть проверена в каждой реализации только третьей стороной или аудитором.
в заключение
EIP-6963 направлен на улучшение взаимодействия между несколькими провайдерами кошельков, снижение входных барьеров для новых провайдеров и улучшение взаимодействия с пользователем в сети Ethereum. В то же время влияние на безопасность комплексное.
Пользователи, поставщики кошельков и разработчики библиотек Ethereum должны придерживаться лучших практик, чтобы обеспечить безопасность экосистемы Ethereum.
Реализуя это предложение, экосистема Ethereum может развиваться в сторону более удобной и конкурентной среды, что принесет пользу как поставщикам кошельков, так и их пользователям.
Посмотреть Оригинал
Содержание носит исключительно справочный характер и не является предложением или офертой. Консультации по инвестициям, налогообложению или юридическим вопросам не предоставляются. Более подробную информацию о рисках см. в разделе «Дисклеймер».
Анализ разрешения конфликтов с несколькими кошельками EIP-6963
Автор: Mundus Security
Сборник: Deep Tide TechFlow
Недавно предложенный EIP-6963 направлен на решение противоречивых проблем, возникающих, когда пользователи пытаются использовать несколько поставщиков кошельков в одном веб-браузере. В этом случае эти конфликтные проблемы могут привести к ухудшению пользовательского опыта, помешать пользователям управлять своим интерфейсом Ethereum и усложнить процесс взаимодействия с dApps.
Введение в проблему
В настоящее время провайдеры кошельков, предлагающие расширения для браузера, должны внедрить своего провайдера ethereum (в соответствии со стандартом EIP-1193) в объект ethereum браузера. Этот механизм создает проблему для пользователей, у которых установлено несколько расширений браузера. Расширения браузера загружаются на веб-страницы в непредсказуемом и беспорядочном порядке, что делает невозможным для пользователей выбор собственного кошелька Ethereum в объекте ethereum. Обычно последний загружаемый кошелек — это тот, который открывает страницу управления.
EIP-6963: Предлагаемое решение
Чтобы решить эту проблему, EIP-6963 предлагает существующий механизм для замены провайдера EIP-1193 Ethereum. Предложение вводит набор событий окна, чтобы включить протокол двусторонней связи между библиотеками Ethereum и внедряемыми скриптами, предоставляемыми расширениями браузера. Это решение оптимизирует взаимодействие между несколькими поставщиками кошельков, снижает входной барьер для новых поставщиков кошельков и улучшает взаимодействие с пользователем в сети Ethereum.
В предложении описывается стандартизированный интерфейс информации о провайдере (EIP6963ProviderInfo), который необходим для заполнения всплывающего окна выбора кошелька. Также подчеркивается важность объявления интерфейса провайдера (EIP6963ProviderDetail), который оставляет интерфейс провайдера EIP-1193 без изменений для обратной совместимости.
Ключевые свойства в информационном интерфейсе поставщика включают в себя:
Что касается запуска событий, и библиотека Ethereum, и поставщик кошелька используют функцию dispatchEvent для генерации событий и addEventListener для наблюдения за событиями. Когда библиотека Ethereum инициализируется, она генерирует событие «eip6963:requestProvider», а провайдер кошелька генерирует событие «eip6963:announceProvider» вместе с деталями интерфейса и информацией своего провайдера.
Влияние EIP-6963
По оптимистичным оценкам, принятие и внедрение EIP-6963 может занять от трех до шести месяцев. Это развитие событий может привести к новой истории кошелька к концу года, что может нарушить гегемонию ведущих поставщиков кошельков, таких как Metamask, и создать более конкурентную среду среди поставщиков.
Кошельки, такие как Coin98, Coinbase Wallet, Trust Wallet, Phantom, Taho, Rabby, Frame, XDEFI, Rainbow, Zerion, Spot, Frontier, MEW, Dawn Wallet, Blockwallet, Bitski, SafePal, BitKeep и MathWallet, готовы извлечь выгоду из этого. развитие .
за и против:
EIP-6963 поднимает некоторые вопросы безопасности, которые необходимо учитывать.
преимущество:
недостаток:
в заключение
EIP-6963 направлен на улучшение взаимодействия между несколькими провайдерами кошельков, снижение входных барьеров для новых провайдеров и улучшение взаимодействия с пользователем в сети Ethereum. В то же время влияние на безопасность комплексное.
Пользователи, поставщики кошельков и разработчики библиотек Ethereum должны придерживаться лучших практик, чтобы обеспечить безопасность экосистемы Ethereum.
Реализуя это предложение, экосистема Ethereum может развиваться в сторону более удобной и конкурентной среды, что принесет пользу как поставщикам кошельков, так и их пользователям.