作者:Haotian
昨晚@MetaMask推出了 MetaMask Snaps 版本,允许非 EVM 钱包比如 Solana、Sui、Aptos、Cosmos、Starknet 等生态的钱包集成接入,目前已有 34 个 Snaps 内测开放了。
在我看来,这是 MetaMask 非常聪明的生态整合之举,再一次巩固了其插件钱包的龙头地位。MetaMask Snaps 会带来哪些潜在影响?对普通用户有哪些影响?接下来,简单分析下。
其实这是广大用户盼望了许久的功能,由于 MetaMask 只在支持 EVM 链通过 RPC 形式接入,很长一段时间内,用户交互其他生态都得下载一堆对应的钱包,比如: 用 Solflare、Phantom 接入 Solana 生态,用 Keplr、Cosmostation 接入 Cosmos 生态,用 Argent、Braavos 接入 Starknet 生态,Sui 和 Aptos 生态也各自有独立的钱包。
一个资深用户每个公链都玩下来,得下载十多个钱包,不仅用户体验差,也会间接增加不少安全隐患。若 MetaMask 能把这些钱包都集成进来,用户只需要小狐狸一个入口,岂不大呼快哉!
理想很美好,但并非 MetaMask 不想,要同时兼容这些钱包技术上难度不小。
简单来说:MetaMask 基于以太坊生态创建,因此其账户系统、私钥管理、交易签名等都遵循的是以太坊节点接口规范,即使兼容 EVM 的一些链,比如:BNB Chain、Avalanche、zkSync 等都通过不同的 RPC 接入。仅仅是这些 EVM 链也会出现一些适配问题,之前提到 zkSync 交互时的 Gas 费估算错误就因为 zkSync 的 Gas 估算器和 MetaMask 不兼容导致。(MetaMask 的估算 Gas 高于实际 zkSync 的扣费),这会给用户带来不小使用体验上的困扰。
若 MetaMask 要兼容以上所说的非 EVM 链,要完全适配账户系统、地址格式、交易结构、数据逻辑等等其背后的开发工作量有多大可想而知。现在 MetaMask 聪明地搞了一套 Snaps API 接入规范,允许第三方公链钱包方自行突破技术难点来接入,MetaMask 只负责接入的审计工作,其他脏活累活由开发者自行搞定。
这不问题就迎刃而解了:一方面各公链钱包觊觎 MetaMask 的龙头入口地位,希望能接入 MetaMask;另一方面,MetaMask 也能把被这些非 EVM 链分流的用户再拉回来;一举两得,合作双赢。当然,对 MetaMask 的影响一定更大,这也算是其品牌影响力的一次有力的资源吸附效应,可预见的未来,MetaMask 会成为一个超级钱包入口,支配钱包流量,分发 DApp 流量,可操作的商业想象空间很大。
基于这个认知前提,个人认为,MetaMask 只能解决「浅层面」的兼容:
1)Snaps 名字很耐人寻味,快照?说明 Snaps 强调的是快速连接和封装,大概率可承载的原生链功能有限,很难做到百分百复刻;
2)一些基础资产管理和重点生态应用的交互还可以,但原生钱包质押、委托、多签、Mint、Burn 等复杂的功能适配起来比较难;
3)MetaMask Snaps 基本由各链的钱包方提供,因此不存在 MetaMask 抢用户一说,本质上只是多了 MetaMask 一个前端展示入口,用得好还能为各个生态钱包方导流;
4)虽然 MetaMask 做了审计也请了第三方审计公司来一起参与,但不排除这块未来会有安全隐患发生,毕竟这些开发者都想着赶紧抱大佬的腿,技术功课做得怎样有待时间考验;
5)无许可公测阶段,一些钓鱼外链会肆虐而来,建议在新 Snaps 上创建新钱包为主,谨慎导入旧钱包资产。
6)Snaps 仅在 Sandbox 环境下运行,Snaps 无权访问 MetaMask 账户信息,这个隔离很好,与原生钱包解耦,避免原 MetaMask 的资产受到安全威胁。
顺带科普几个小 Q&A:
1)原有私钥能不能直接导入 MetaMask Snaps? 答:理论上可以,完全沿用各钱包原有的私钥管理体系;
2)原先体验糟糕的钱包,接入 MetaMask Snaps,会不会变好? 答:不可以,甚至可能还会更糟糕;
3)原先 MetaMask 的 HD 分层确定性钱包机制还会起作用吗(一个助记词管理多个地址)?答:不可以,非 EVM 链账号和私钥依赖其原生钱包管理,私钥派生和地址生成算法和 MetaMask 无关,切记要各自备份好私钥;
……
Note:以上说法和实际可能存在出入,仅出于合理推测,有实际参与 MetaMask Snaps 开发的开发者朋友可以留言补充更多细节,更多有趣发现有待进一步观察。