MetaMask Snaps 是 MetaMask 钱包的一个新功能(插件),它旨在创建一个无需许可的生态系统,开发人员可以在其中以他们想要的任何方式扩展 MetaMask,MetaMask Snaps 是开源钱包扩展开发并为具有不同需求的最终用户提供多样化和个性化解决方案的好方法,并且据公开信息,MetaMask 是迄今为止唯一支持自定义插件的钱包提供商。
作者:Darren,Everest Ventures Group
MetaMask Snaps 是什么?
MetaMask Snaps 是 MetaMask 钱包的一个新功能(插件),它旨在创建一个无需许可的生态系统,开发人员可以在其中以他们想要的任何方式扩展 MetaMask,MetaMask Snaps 是开源钱包扩展开发并为具有不同需求的最终用户提供多样化和个性化解决方案的好方法,并且据公开信息,MetaMask 是迄今为止唯一支持自定义插件的钱包提供商。
用户使用流程:
1、首先在这个网站下载 MetaMask Flask;
注:目前项目还处于开发人员测试阶段,下载 Flask 时会有风险提示:
2、下载好 Flask 之后,即可开始下载自己想要使用的 Snaps,这里拿 AA Snap 来举例子(由于目前还处于开发人员测试阶段,因此本文将使用开发人员的视频截图):
1)在AA Snap 官网连接 MetaMask 钱包,接着会在 MetaMask 中弹出请求连接的窗口,点击连接;
2)Approve & Install;
3)接着在这里连接你的联系人钱包;
4)接着你可以看到你的 EOA 钱包和账户抽象钱包,账户抽象钱包是合约钱包,因此它的地址是确定的且在连接 MetaMask 后自动生成的;
5)接下来我们可以尝试发送 0.1$MATIC 到合约钱包:复制合约钱包地址并像往常发送代币给其他 EOA 钱包地址一样直接发送;
等待一段时间就可以看到发送给合约钱包的 $MATIC 到达;
6)接着我们尝试从合约钱包发送 0.05$MATIC 到 EOA 钱包;
接着确认交易 “sign”,等待一段时间可以看到代币发送成功;
7)最后可以去polygonscan查询合约账户是否部署成功(可以看到已经部署成功);
以上就是简单的用户使用教程,通过以上使用教程我们也可以了解到在使用 MetaMask Snaps 之前我们还是需要先学会使用 MetaMask,因此 MetaMask Snaps 的出现其实并没有降低用户使用门槛,更多的是给目前的存量用户提供更好的体验和更多的功能,更好地留住目前的存量用户。
MetaMask Snaps 的进展和项目
目前,MetaMask Snaps 还处于相对早期的发展阶段。现有的 Snaps 正在持续开发和测试,同时 MetaMask 团队还通过多种方式鼓励更多的开发人员在 MetaMask 上构建 Snaps。目前主要采用以下两种方式:
1、MetaMask Grants DAO:这是一个由 ConsenSys 资助的实验性员工主导计划,旨在向全球外部开发人员提供赠款,以在 MetaMask 生态系统中建立有影响力的体验。在 Grants DAO 中,社区可以发起提案,决定是否向某个 Snaps 项目发放赠款,只要提案得到一定比例的支持票数,就可以通过。
2、举办赞助黑客松活动:此外,MetaMask 还举办赞助了多个黑客松活动,以吸引更多的开发人员来开发 Snaps。
迄今为止,已经有许多开发人员对 Snaps 的开发表现出了浓厚的兴趣,并且积极投入其中。同时,也已经有大量的 Snaps 项目正在进行开发和测试。本文将选取其中几个在黑客松活动中获胜或在 Grants DAO 中获得高比例支持票数的 Snaps 项目进行分析。
- MPC Snap:将多因素身份验证集成到 MetaMask 中
MPC Snap 在 Metamask 中集成了 MPC 技术,使用户能够使用 MPC 技术进行私钥管理。在使用 MPC Snap 时,用户可以设置二次身份验证(2FA)来访问 MetaMask 钱包。随后,每当用户准备签署交易时,MPC Snap 的 MPC SDK 将进行阈值 ECDSA 签名。这是通过将私钥分成两部分完成的:一部分存储在本地快照中的共享,另一部分存储在签名服务器上的共享。经过几轮通信,签名服务器和 Snap 能够共同对以太坊交易进行签名,并在 Goerli 网络上得到确认。
此外,与助记词不同,这种设置不会因为出现单点故障而导致不可逆的密钥丢失。如果用户的笔记本电脑被黑客攻击,或者签名服务器遭到入侵,用户不会失去他们的私钥。
- CoinChoice Snap:使用任何货币充值 Gas
在一些打算进行钱包操作的用户中,很可能遇到钱包里没有足够的以太坊来支付 gas 的情况,尤其是当涉及到领取空投代币或出售代币时更为常见。以往,解决这个问题需要从中心化交易所提款或从另一个钱包中提取资金。然而,当需要操作多个钱包并且区块链网络拥堵时,这两种方法都会带来很多麻烦。
CoinChoice Snap 旨在解决这个问题。它是一个存在于用户 MetaMask 扩展浏览器中的工具,为每一笔交易提供了根据用户需求管理 gas 的能力。如果用户更愿意持有 USDC 而不是ETH,他们可以使用 USDC 来支付 gas。这样,用户可以选择使用自己想要的货币来支付交易所需的 gas。
Invisible Keys Snap:多云私钥存储
Invisible Keys Snap,与 MPC Snap 类似,旨在改善用户的私钥管理方式。Invisible Keys 的多云钱包将用户的私钥存储在两个或多个云存储服务(如 Google Drive、Dropbox 等)中,即使其中一个服务被泄露,私钥也永远不会被暴露出去。
- Smart Account Session Snap:游戏 Dapp 自动批准
在Web3中,金融化游戏(GameFi)的用户体验感是一个相当常见的问题。在体验 GameFi 时,用户经常需要多次签名才能继续进行游戏。Smart Account Session Snap 的目标是为游戏dapps 创建无缝的用户体验,并为他们提供一种安全的自动批准方式。
以下是用户的使用流程:
1、连接您的 EOA 并安装 Smart account session Snap。
2、在 MetaMask 地址之上启用智能账户。MetaMask EOA 将成为该智能账户的控制者。
3、在您的智能账户上启用会话模块。模块为您的 Smart Safe 帐户启用额外的访问控制逻辑。本质上,每个智能账户都通过两种方式进行控制。由 MetaMask 帐户所有者使用他们的签名密钥和具有自己的自定义访问逻辑的可选模块。
4、创建会话。
5、这将在您的智能账户上创建一个临时会话密钥,这些密钥被授权通过模块在您的钱包上进行交易。会话可以具有诸如开始时间、结束时间和权限之类的参数,用于 Dapp 合约上的自定义操作。
6、使用上述会话密钥发送自动批准的交易,无需 MetaMask 弹出窗口获取 gas 或签名。
- Blackbelt Snap:针对诈骗的实时自我防御
在 web3 中,安全问题一直是一个非常常见但又很严重的问题。攻击者可以利用前端漏洞,在用户毫不知情的情况下,在用户界面中注入恶意合约,导致用户与合约进行交互并丢失与协议交互过程中所涉及的资金。Blackbelt Snap 的目标是解决这个问题。用户可以通过 Blackbelt Snap 实时查看数据的安全评估,如果用户在使用过程中发现一个安全评分很低的协议,他们可以向 Blackbelt Snap 举报,随后,其他用户在与该协议进行交互之前,也能够看到该协议被举报的次数。
通过 Blackbelt Snap,用户可以更好地了解协议的安全性,并共同参与保护社区免受恶意活动的侵害。这种举报机制能够提高用户的警觉性,并减少对不安全协议的风险敞口。
- Unipass Smart Contract Wallet MetaMask Snap:具有基于电子邮件的社交恢复功能
该 Snap 的目标是引入由 Unipass 公司构建的功能,将具有账户抽象功能的智能合约钱包功能纳入 MetaMask。该项目首先将添加社交恢复功能,以消除用户对种子短语管理的需求。种子短语管理一直是使用外部账户钱包(如 MetaMask)时的主要问题和安全隐患之一。随后,该项目将逐步添加其他功能,如使用 ERC-20 代币支付 gas 的 gas 提取和批量交易,从而大大减少操作难度并改善用户体验。
社交恢复系统的潜力是众所周知的,然而到目前为止,MetaMask 内部尚未实现社交恢复功能,而市场上其他一些钱包,如 Argent,已经提供了类似功能相当长一段时间。Unipass 能够很好地实现这一愿景,因为他们已经在市场上推出了广泛用于游戏 dapp 的无助记词和无 gas 钱包。除了通过账户抽象和多方计算(MPC)利用智能合约钱包的功能之外,Unipass 还利用DKIM 电子邮件协议,通过 Domain Key 生成的签名,安全验证和授权监护人进行交易。这对于像 Argent 这样的现有解决方案来说是一大改进,因为 Argent 要求监护人自行持有加密钱包,这使得任何拥有钱包的受信任方都可以充当用户的监护人。
- Forta Snap:Web3 的去中心化摄像头和报警系统
Forta 于 2021 年 10 月推出,一些知名 DeFi 项目如 Lido、Compound、Aave、MakerDAO、Balancer、dYdX 和 UMA,正在使用它来监控其协议的关键方面。Forta 由 OpenZeppelin孵化,并得到 a16z、Blockchain Capital、Coinbase Ventures 和其他公司的支持。它是一个实时检测网络,用于区块链活动的安全和运营监控。Forta 实时检测 DeFi、NFT、治理、跨链桥和其他 Web3 系统上的威胁和异常。通过及时且相关的警报,协议和投资者可以迅速做出反应,以消除威胁并防止或最大程度地减少资金损失。
众所周知,Web3 充斥着用户被钓鱼和诈骗的案例。在 2022 年上半年,骗子和黑客通过网络钓鱼和其他漏洞窃取了超过 20 亿美元。然而,Web3 的安全性仍处于起步阶段,迄今为止,大部分关注点都是通过审计、形式验证和漏洞奖励来保护 DeFi 协议。然而,像 Forta 这样的安全堆栈并没有普及到大多数用户,但许多常见的攻击,如网络钓鱼、无限制的令牌批准和诈骗却也主要针对缺乏保护的日常用户。因此,Forta Snap 的目标是在 MetaMask 中构建终端用户保护安全功能,利用 Forta 机器人的检测功能,帮助更多用户预防诈骗和网络钓鱼攻击。一旦项目成功,MetaMask 用户将在他们的钱包体验中增强基于链的诈骗和网络钓鱼预防,从而增强现有基于 URL 的保护机制。
- Safeheron Multi Party Compute (MPC) key sharding Snap:账户和密钥管理
Safeheron 是一家开源、透明的数字资产自托管服务平台,成立于2019 年,总部位于新加坡。 基于安全多方计算(MPC)和可信执行环境(TEE)技术,Safeheron 为机构客户提供一站式、全方位的数字资产自托管解决方案,使客户100% 掌握私钥和资产控制权,并提升资产安全和管理效率。该 Snap 由 Safeheron 与 MetaMask 合作围绕改进 MetaMask 的密钥管理体验展开,特别侧重于帮助用户管理他们的秘密恢复短语 (SRP) 以减少网络钓鱼攻击,并降低这些密钥丢失的可能性。
由于底层的多方计算机 (MPC) 算法,私钥永远不会完整地保存在一台设备上,这意味着攻击者获得这些私钥并窃取用户资金的可能性大大降低。此外,如果用户丢失了 3 台设备中的 1 台,他们可以使用剩余的 2 台设备向新设备发布新的密钥碎片以维护其安全。如果该项目成功,MetaMask 团队将能够验证 MetaMask snap 作为新密钥管理体验的创新加速器,大幅降低用户被黑客攻击/网络钓鱼/丢失的私钥相关的单点故障风险。
- StarkNet Snap:将 StarkWare 集成到首创的 ZK-Rollup Snap 中
迄今为止,由于使用与以太坊不同的地址和帐户格式,StarkNet 尚未与 MetaMask 直接兼容,换句话说即非 EVM 兼容。而 StarkNet Snap 允许用户通过基于他们原本的 MetaMask 秘密恢复短语 (SRP) 创建一个 StarkNet 帐户来管理 StarkNet 上的资产, StarkNet snap 还允许开发者部署 StarkNet 账户,在 StarkNet 上进行交易,并与 StarkNet 智能合约进行交互,它可以与任何 dapp 连接以访问 StarkNet,开发人员可以尝试将他们的 dapp 与此 snap 集成。
此外,如果不小心删除了 StarkNet Snap 也无需担心,删除快照不会删除用户的 StarkNet 帐户或交易历史记录。并且 StarkNet Snap 恢复直接利用 MetaMask 的秘密恢复短语,恢复 MetaMask 帐户并安装 StarkNet snap 后用户现有的帐户将自动恢复。
- Snap Directory:用于添加、搜索、发现和安装 Snaps 的 Web 目录
可以预见未来 MetaMask 将会有大量的 Snaps 可供选择,而每个 Snap 都有不同的功能、权限和安全性等信息,用户需要花费大量时间来查询这些信息,这严重影响了用户体验,并且在一定程度上阻碍了 MetaMask Snaps 的快速发展。
而 Snap Directory 的目标就是创建一个网站,使用户能够在其中快速找到 Snaps,并验证它们的信息以及了解它们的安全风险。网站上的所有数据都将是透明的,可以由社区进行外部审计,开发人员也可以进行身份验证,并将他们的快照添加到Snap目录中。
主要影响
通过前文的阅读,我们可以了解到 MetaMask Snaps 所带来的影响是非常重大的。可以预见如果 MetaMask Snaps 的发展顺利,可能会产生以下影响:
- MetaMask Snaps 将进一步巩固 MetaMask 在钱包赛道的领先地位。MetaMask Snaps 对现有的 MetaMask 存量用户将会有很大的帮助,能够为他们提供更好的 web3 体验。
- MetaMask Snaps 可以被看作是 web3 生态系统中的一个突破。它将一个简单的以太坊钱包转变为一个完整的 web3 管理工具,使我们能够自定义和增强用户的 web3 体验,这是目前其他钱包项目所没有实现的。
- MetaMask Snaps 有可能吸引更多的 web2 开发人员进入 web3 领域。它使得复杂的Web3 技术对开发人员来说更加易于理解和应用,并将显著促进传统 Web2 应用程序与Web3 的集成。
可能存在的问题和隐患
1、安全方面:
从前文可以观察到,MetaMask Snaps 与谷歌浏览器的扩展程序有着相似之处。在安全性方面,谷歌浏览器会扫描每个提交到谷歌网上应用商城的扩展程序,但这个步骤并不足够严谨,难免会有一些漏网之鱼,因此,多年来谷歌浏览器的扩展程序发生了许多信息泄漏事件。
而在 MetaMask Snap 中,前文提到的 Snap Directory 项目在一定程度上也可以帮助用户评估 Snaps 的安全性,然而这还远远不够,与谷歌浏览器不同,钱包存储着用户大量的资金,因此需要更高标准的安全性。可想而知,对于 MetaMask Snaps 而言,安全性是一个必须要保障的要点。这可能是 MetaMask Snaps 发展过程中的一个潜在隐患。因此,MetaMask Snaps 的发展还需要更多改进和安全保障,用户才能够放心使用。
2、门槛方面:
在学习如何使用 MetaMask Snaps 之前,用户必须首先学习如何使用 MetaMask 钱包,这是一种 EOA 钱包,需要了解如何使用私钥、助记词等,对于那些从未接触过 web3 的用户来说这并不友好。MetaMask Snaps 的出现并没有降低使用门槛,更多地是为已经熟悉使用MetaMask 的存量用户提供服务和帮助。
但我们可以推测,新一轮的牛市需要大量新鲜血液注入 web3 领域,但目前来看,进入 web3 的门槛还是相对较高,因此,降低门槛是非常重要的。同样,低门槛的web3钱包也可能更加能够吸引新用户,我们知道目前已经出现了许多低门槛的 web3 钱包,其中一些可以直接通过推特一键绑定登录钱包,一些可以使用邮箱、手机号登录,甚至还有一些只需要进行人脸识别即可登录钱包。而 MetaMask Snaps 在这方面并没有为 MetaMask 提供优势,因此,或许MetaMask 想在新一轮牛市中继续保持领先地位,还需要多在降低门槛方面下功夫。