EIP-6963概述:多钱包冲突的可能解决方案

目前,提供浏览器扩展的钱包提供程序必须将们的以太坊提供程序(根据 EIP-1193 标准)注入到浏览器的 window.ethereum 对象中。这种机制对安装了多个浏览器扩展的用户来说造成了一种问题。浏览器扩展以不可预测和不稳定的顺序加载到网页中,导致用户无法自主选择 window.ethereum 对象中的以太坊的钱包。通常,最后加载的钱包是弹出控制页面那个。

EIP-6963概述:多钱包冲突的可能解决方案

最近提出的 EIP-6963 旨在解决用户在单个 Web 浏览器中尝试使用多个钱包提供程序时出现的冲突问题。在这种情况下,这些冲突问题可能会导致用户体验下降,阻碍用户对其以太坊界面的控制,并使与 dApp 交互的过程复杂化。

问题简介

目前,提供浏览器扩展的钱包提供程序必须将们的以太坊提供程序(根据 EIP-1193 标准)注入到浏览器的 window.ethereum 对象中。这种机制对安装了多个浏览器扩展的用户来说造成了一种问题。浏览器扩展以不可预测和不稳定的顺序加载到网页中,导致用户无法自主选择 window.ethereum 对象中的以太坊的钱包。通常,最后加载的钱包是弹出控制页面那个。

EIP-6963:提出的解决方案

为了解决这个问题,EIP-6963 提出了一种替代 window.ethereum 的 EIP-1193 提供程序的现机制。该提案引入了一组窗口事件,使以太坊库和浏览器扩展提供的注入脚本之间能够进行双向通信协议。这个解决方案优化了多个钱包提供程序之间的互操作性,降低了新钱包提供程序的准入门槛,并改善了以太坊网络上的用户体验。

该提案概述了一个标准化的提供程序信息接口(EIP6963ProviderInfo),这对于填充钱包选择弹出窗口至关重要。它还强调了宣布提供程序接口(EIP6963ProviderDetail)的重要性,这使得 EIP-1193 提供程序接口保持不变,以保证向后兼容性。

提供程序信息接口中的关键属性包括:

  • walletId:钱包提供程序的全局唯一标识符(例如,io.dopewallet.extension 或 awesomewallet)。
  • uuid:符合 UUID v4.0 的钱包提供程序的本地唯一标识符。
  • name:钱包提供程序的人类可读名称(例如,DopeWalletExtension 或 Awesome)。
  • icon:指向图像的 URI,应为 96x96px 的最小分辨率的正方形。建议使用 PNG 和 WebP 或矢量图像格式如 SVG。该提案团队强烈反对使用像 JPG / JPEG 这样的有损格式。

在触发事件方面,以太坊库和钱包提供程序都使用 window.dispatchEvent 函数来发出事件,并使用 window.addEventListener 来观察事件。当以太坊库初始化时,它会发出“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 提出了一些需要考虑的安全问题。

优点

没有单点故障:通过允许多个钱包提供商,我们消除了单点故障的问题。这在安全方面是有益的,因为这意味着如果一个钱包提供商遭受攻击或技术故障,用户有可用的替代选择。

减少对单个提供商的依赖:目前,以太坊社区严重依赖于一个提供商,MetaMask。这会带来潜在的风险,因为如果 MetaMask 被攻击,大部分以太坊用户将受到影响。通过支持多个钱包,EIP-6963 分散了风险。

增强用户控制:选择多个钱包提供商的能力使用户对自己的安全拥有更大的控制权。用户可以选择与其个人安全偏好和信任水平相符的钱包提供商。

缺点:

增加攻击面:实施 EIP-6963 会增加攻击面。这是由于可以被恶意行为者攻击的钱包提供商数量增加。每个钱包提供商都应遵守高安全标准,以最小化这种风险。

SVG 图像利用的潜在风险:EIP-6963 提议使用 SVG 图像作为钱包提供商的图标。然而,SVG 图像可能包含 JavaScript 代码,可能会带来跨站脚本(XSS)风险。虽然 EIP 确实指定 SVG 图像应使用<img>标签呈现以防止 JavaScript 执行,但这个建议只能由第三方或每个实现的审计员进行验证。

取代 window.ethereum 的影响:虽然 EIP 没有直接通过取代 window.ethereum 来破坏现有应用,但它建议在用户选择钱包后这样做。此建议只能由第 3 方或审计员在每次实施中验证。

结论

EIP-6963 旨在增强多个钱包提供商之间的互操作性,降低新提供商的准入门槛,并改善以太坊网络上的用户体验。同时,对于安全性的影响是复杂的。

用户、钱包提供商和以太坊库开发人员必须遵守最佳实践,以确保以太坊生态系统保持安全。

通过实施这个提案,以太坊生态系统可以朝着更加用户友好和竞争环境的方向发展,既有利于钱包提供商,也有利于他们的用户。

(声明:请读者严格遵守所在地法律法规,本文不代表任何投资建议)

(0)
Gao的头像Gao
上一篇 2023年5月30日 下午3:06
下一篇 2023年5月30日 下午3:12

相关推荐

  • 贝莱德高压监管下申请比特币ETF,为何加密社区却普遍唱衰?

    在近期 SEC 监管压力巨大,且多支现货比特币 ETF 未被批准的情况下,全球最大资管巨头的比特币 ETF 申请令人非常意外。Variant Fund 顾问、执业律师 Jake Chervinsky(@jchervinsky)在 Twitter 上写道:「SEC 多年来一直坚决拒绝批准现货比特币 ETF,这种态度已经根深蒂固。明知道 SEC 对此的消极态度,贝莱德却仍希望在纳斯达克上市比特币 ETF。我们每个人都应该知道这事儿有多重要,对吧?」

    2023年6月17日
    2.5K
  • Web3五部曲系列文之厘清Web3核心特征及未来趋势和价值

    什么样的项目才应该称作 Metaverse 项目?为什么 NFT 受到了如此热捧?元宇宙的终极形态应该是怎样的?之前为何大部分明星和知名品牌发行 NFT 走向了失败?Game 和 NFT、Metaverse 究竟应该如何结合?作为一个创业者,如何成功发行一个 NFT?未来投资者们应该如何看待这一系列比 token 更加难以定价的另类资产?

    2023年1月27日
    1.1K
  • 对话Bankless创始人David :Bankless成长记、网络国家与以太坊

    在黑山 Zuzalu 的某间餐厅,深潮 TechFlow 记者与 Bankless 联合创始人、BanklessDAO 的发起者大卫 霍夫曼(David Hoffman)进行了交流,对了,他现在还有一个新的 Title—— Bankless Ventures 合伙人 (General Partner)。

    2023年6月13日
    659

发表回复

登录后才能评论
微信

联系我们
邮箱:whylweb3@163.com
微信:gaoshuang613