MetaMask Snaps: Web3小程序的崛起与挑战

Web3 小型应用的新篇章:深入解析 MetaMask Snaps

MetaMask Snaps 是一个具有长远理想的项目,但抛开其理想化的外衣,更适合将其视为 Web3 世界的小型应用,或者称之为 dApplet。

对于开发者,尤其是中国国内的开发者来说,这个概念并不陌生。近年来,"生态打造"、"超级App"等互联网术语频繁出现,大型科技公司一直在努力将互联网环境封闭化,以便从服务提供者转变为标准制定者。

如今,这种趋势似乎也开始向 Web3 领域蔓延。

Web3 小程序?MetaMask Snaps 解读

截至2024年6月,尽管 Snaps 已经存在将近一年,其概念提出更是至少四年前的事,但普通用户对它的了解仍然很少。即便是那些每天都会打开 MetaMask 的加密货币爱好者,也可能对 MetaMask Snaps 一无所知。然而,当解释说它"就像小程序那样"时,开发者们通常会露出会心的微笑。

这种情况让人联想到微信小程序刚推出时的情形。由于功能入口不明显,初期使用量很低。后来将入口改到首页下拉位置后,使用量才开始大幅增长。MetaMask 如果想要构建生态系统,如何吸引用户进入这个生态可能是一个亟待解决的关键问题。

小程序自诞生以来在互联网行业就争议不断。前端工程师普遍认为它只是大公司为垄断流量、封闭生态而创造的商业工具,对技术发展贡献有限。Web3 的 Snaps 能为社区带来多少价值还有待观察。浏览 MetaMask 的文档,越发感觉未来的 Snap 开发者可能会面临诸多限制和挑战。

自 MetaMask 开启 Snaps 公测版至今已近一年,但其官网列出的可用 Snaps 数量并不多,截至2024年6月仅有68个。考虑到早在2020年左右官方就提出了 Snaps 的概念,Web3 公司和开发人员其实已经有相当长的时间来了解和准备。

目前还没有看到专职开发 Snaps 的人员,但 Web2 领域的小程序开发者不在少数,他们对小程序的普遍看法是开发体验较差。小程序虽然使用前端技术栈,但是阉割版的,平台出于各种原因对开发者能做的事情进行了限制。各平台的技术能力和文档质量参差不齐,导致开发者需要踩过各种奇怪的坑才能被认为"有经验"。

在 Web3 领域,出于安全等因素考虑,Snaps 很可能面临类似的情况。它必须在一个隔离的安全环境中运行,使用的是"安全 ECMAScript",实际上是对 JavaScript API 做了一些限制,比如无法访问 DOM、Node.js、浏览器插件 API 等。

基于安全考虑,一个基础的 Snaps 实际上能做的事情很有限。大部分功能都需要先获得相应的权限,所以 Snaps 在安装时需要向用户申请相关权限。可用的权限包括生命周期、交易、签名、CRON 等。

相比于繁荣的 Web3 生态,目前可用的 Snaps 数量确实很少,MetaMask 对它们进行了一些分类。

Snaps 类型

根据 MetaMask 官网的分类,大致可以分为 4 种类型:

账户管理(Account Management)

这类 Snaps 主要通过 MPC(多方计算)技术,提高私钥的安全性。

传统的私钥保护方式存在一些问题:

  1. 如果忘记了助记词的存放位置,很可能就会失去对钱包资产的访问权。
  2. 如果存储助记词的设备遭受恶意软件攻击,黑客可能会盗取助记词。一些用户可能会将助记词拆分存储以提高安全性,但这也增加了管理难度和遗忘风险。

MPC 技术可以自动将私钥拆分为多份,分别存储在不同位置,只在需要进行交易签名时才重新组合生成完整私钥,而且这个过程中不会生成完整的私钥,最大限度地保护私钥免遭泄露。

目前只有 3 个账户管理类的 Snaps,分别是 Capsule, Silent Shard 和 Safeheron。

  • Capsule 利用设备的 PassKey、恢复密码和 2FA 共同维护同一份密钥,如果丢失其中一个,可以通过另外两个进行恢复。
  • Silent Shard 和 Safeheron 则是通过在多台设备上安装他们的应用来实现这一功能。

这类 Snaps 能吸引多少 Web3 用户还有待观察,从 Snaps 网站显示的数据来看,这类 Snaps 数量较少,安装量也不高。

使用方法并不复杂。安装完成后,用户的 MetaMask 钱包中会多出一个地址。

互操作性(Interoperability)

这类 Snaps 主要提供了对非 EVM 网络的兼容,包括 Solana、Cosmos、Near、Sui 等多个知名公链。目前这类 Snaps 占比最大,超过整个 Snaps 生态的一半。

Web3 小程序?MetaMask Snaps 解读

通知和聊天(Communication)

这类 Snaps 虽然有其独特之处,但在当前阶段,愿意通过链来发送消息的用户仍属少数。这类应用可能需要更长的时间来发展和普及。

安全(Security)

这类 Snaps 的需求相对较大,特别是考虑到 MetaMask 自身在用户遇到钓鱼交易时的警告功能不够完善。交易作为加密货币和区块链领域最常见的操作,具有高风险和高敏感性。通过 Snaps 提供的交易洞察相关功能,开发者可以向用户展示更丰富的交易信息,提供对交易的分析和见解,最大限度地避免用户的资产损失。

有用户曾遇到被钓鱼网站转走账户余额,而 MetaMask 从连接钱包到转账成功全程没有任何警告的情况。希望这类安全型 Snaps 能够弥补 MetaMask 自身的不足。从 Snaps 官网显示的数据来看,安全型 Snaps 确实是除了多链支持外需求最大的,目前占总数的两成。

MetaMask Snaps 提供了「endowment:transaction-insight」和「endowment:signature-insight」权限来满足相关需求。Snap 申请相关权限后,可以在用户发起交易或签名时读取原始交易或签名的有效负载。Snap 可以对其进行分析,然后向用户显示更详细的安全性说明。

Web3 小程序?MetaMask Snaps 解读

展望

MetaMask 希望通过 Snaps 将自己的领域扩展到其他链平台,但最终能走多远还很难预测。参考 Web2 领域的小程序经验,虽然许多应用提供了小程序版本,但通常功能较为简陋,难以与原生应用相比,新功能更新也常常滞后,有些小程序甚至会引导用户使用其原生应用。随着小程序的爆发式增长,更多应用也开始推出自己的小程序平台,各家努力巩固自己的市场地位,整个 Web 世界逐渐变得更加"中心化"。

Web3 领域的资本运作可能不会比 Web2 更明智。如果 Snaps 未来发展良好,很可能会有更多钱包跟随这一趋势。如果真的发展到这种程度,Web3 领域的开发者可能需要针对各个钱包的"Snaps"开发相应的版本,这可能会给他们带来很大的工作压力。然而,如果各家都来打造自己的"Snaps"生态,又几乎等于没有独特的生态系统。这似乎也暗合了它们"去中心化"的理念。

未来可能会出现各种"Snaps-like"产品,平台之间差异巨大,此时对各平台的兼容可能成为开发者的日常工作,最终可能会达到难以忍受的程度。在这种情况下,Snaps 标准可能会在众多开发者的期待中诞生,同时会有各种 "SIP"(Snap Improvement Proposals)供社区讨论,整个社区可能会呈现出繁荣的景象。

无论如何,MetaMask Snaps 至少是由一群充满激情的开发者构建的、旨在解决实际问题的产品,而不是一个金融骗局。

然而,对于 MetaMask 当前的大部分用户来说,Snaps 还不是一个特别必要的功能。MetaMask 在接下来可能需要在如何更有效地推广方面投入更多精力。

Web3 小程序?MetaMask Snaps 解读

此页面可能包含第三方内容,仅供参考(非陈述/保证),不应被视为 Gate 认可其观点表述,也不得被视为财务或专业建议。详见声明
  • 赞赏
  • 4
  • 分享
评论
0/400
SerumSquirrelvip
· 9小时前
讲道理 MetaMask 这块做慢了啊
回复0
Degen4Breakfastvip
· 9小时前
又是老一套 又想做平台垄断是吧
回复0
CoffeeNFTradervip
· 9小时前
唔 说白了就是小程序呗
回复0
交易,随时随地
qrCode
扫码下载 Gate APP
社群列表
简体中文
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)