Web3 的小程序 MetaMask Snaps 會是非 EVM 生態救星嗎?

2023-09-22 14:49 ForesightNews


作者:Peng SUN,Foresight News

MetaMask 要做 Snaps 插件系統、實現向非 EVM 網絡的跨鏈協議交互的想法最早可以追溯到 2019 年。當時,MetaMask Snap 所設想的用例還是兼容 DNS 域名解析、合約账戶與 Layer2 等等,試圖通過共享的測試套件,提供一個跨客戶端的去中心化標准平台。

一晃四年,當 MetaMask 推出 Snaps 开放測試版、兼容非 EVM 網絡時,竟發覺此情此景有些機緣巧合。2019 年「以太坊殺手」、「高性能公鏈」敘事盛行,DeFi Summer 尚未來臨,基於 EVM 的鏈上應用尚未大行其道,主動兼容多鏈生態就成爲錢包的一大敘事。盡管上一輪牛市使人們認爲非 EVM 出路有限,但與以太坊相關的敘事卻也隨熊市的低谷走到階段性的盡頭。人們开始在以太坊與 EVM 之外尋找新的出路,Cosmos、Starknet、波卡、Dfinity、Aptos、Sui、Solana 等非 EVM 網絡都在今年發出了更多的聲音。

MetaMask Snaps 與多鏈的未來可謂天作之合,考慮到 MetaMask 佔有 80% 以上的市場份額,這也爲 Crypto 大規模採用提供了更多的可能。今天,筆者將對 MetaMask Snaps 現況、技術特點及其未來影響做一梳理與探討。

一、MetaMask Snaps:支持跨鏈的「通用 OS」

對 MetaMask 而言,Snaps 是其創建完全無需許可的生態系統的第一步。通常來說,MetaMask 是一個實現 EVM 全鏈兼容的錢包,如果要對 MetaMask 新增功能或支持非 EVM 網絡,則完全取決於 MetaMask 开發團隊。但 Consensys 並未選擇像 OKX Web3 錢包、Bitget Wallet 等主動實現對 DApp、非 EVM 鏈的支持,而是希望構建一個开放性的通用系統。

打個比方,我們可以把 Snaps 理解爲 App Store 或微信小程序,任何公鏈、協議與工具的开發者都可以基於一個公开的 JSON RPC API 構建各自的 MetaMask Snap,無需擔心應用程序像 App Store 那樣會因任意原因而被拒絕上架。如果添加某個 Snap,則意味着可以通過 MetaMask 使用該 Snap 的原生功能。目前,MetaMask Snaps 支持通知、互操作性與交易洞察三種類別,已有 35 個 Snap。

  • 交易洞察類 Snap 可爲 MetaMask 中的交易提供 Gas 預測、交易分析、網絡釣魚攻擊等提示。目前已公开的 Threat Intel、Tenderly TX Preview、Saferoot、Assets Risk Detection、Kleros Scout、Forta、Blockfence、Web3 Security、Wallet Guard Snap 均是對用戶資產、交易,允許用戶在單個錢包入口自主,避免被攻擊或交易失敗。

  • 通知類 Snap 集成的是 Web3 通信協議,既可接收與交易、地址相關的通知,未來當 DApp 繁榮時,用戶也可以自主訂閱信息流,構建聊天頁面。目前通知類 Snap 包括 Web3MQ、app.walletchat.fun 與 Push V1。

  • 互操作性 Snap 主要與非 EVM 網絡兼容,爲非 EVM 生態提供入口。我們可以看到很多與非 EVM 生態都在主動集成,包括比特幣、Cosmos、Partisia Blockchain、Mina、Sui、Aptos、Solana、Algorand、Tezos、Starknet、Arweave、Casper 等等。在 35 個 Snap 中,互操作性 Snap 佔了六成以上。

MetaMask 开發了通用 JSON RPC API 接口,將構建 Snap 的權利交還給了社區,开發者無需 MetaMask 團隊參與即可獨立向其用戶推出自行設計的功能,大大增強 MetaMask 可擴展性。譬如,MetaMask 也爲 Snaps 提供了 UI 自定義修改與增強功能,目前已有 SIP-7 提案建議通過使用基於 JSON 的格式,允許用戶在 MetaMask 主 UI 之外構建自定義的 UI。除此之外,Snaps 還支持 CronJob 指令,允許用戶定期查詢外部數據,並且可在 MetaMask UI 中新增該數據的界面。更有意思的是,考慮到現在 Snap 仍需打开原生網站才能連接 MetaMask,用戶無法通過 MetaMask 直接進入應用程序,而系統的开放性或許將給未來基於 Snap 的 Snaps 聚合器提供可能。

筆者留意到在首批公布的 35 個 Snap 之外,Filecoin 在 2020 年初就开始在 MetaMask Flask 上構建 FilSnap。此後,开發者還構建 SSI Snap 實現 DID 綁定與 SnapShot 投票,通過 CoinChoice Snap 支持自由選擇代幣支付 Gas 費等等。對 MetaMask 而言,通過 AA 錢包簡化用戶 Onboarding Web3 的門檻就是核心訴求。UniPass Snap 是當前的用例之一。MetaMask 自己不推出账戶抽象,但支持用戶通過 Snap 體驗智能合約錢包帶來的便捷,譬如 UniPass 的免 Gas 支付。Intent 作爲一種實現,未來將如何與 AA 相結合,並通過 Snaps 提高用戶體驗也將是一大看點。近期,Polygon 开發者使用 Snaps 來進行基於意圖的交易,能夠通過 LLM 實現簡單的 Swap,也會大大降低用戶的使用門檻。

二、「無畏合作」,基於權限的沙箱隔離技術

MetaMask Snaps 是一個在 Secure EcmaScript(SES)沙盒環境中運行的 JavaScript 程序。SES 是 Cosmos 生態智能合約开發平台 Agoric 所構建的基於 JavaScript 的編程語言,代表着「無畏合作」(fearless cooperation),確保智能合約能夠進行安全地互操作。目前,大多數 Web3 應用層都是基於 JavaScript 而編寫,而 SES 安全沙箱則可以存儲 Snap 數據與私鑰。同時,用戶數據由 Snap 第三方开發者直接收集,MetaMask 無法訪問。

基於權限是指給在沙箱內的應用程序授予特定權限,只有獲得許可,Snap 才能訪問原生網站的特定功能。通常來說,信息安全領域存在一個最小權限原則(POLA),指的是最安全的系統是權限最少的系統。但信任意味着風險,沒有信任,社會也就無法運轉。此前,與區塊鏈交互的每一次操作都需要一次籤名,但 EIP-2255 協議允許單個權限請求就能實現相同級別的安全性。目前,Snaps 默認支持少數權限,MetaMask 也將對存在風險的權限予以提醒,用戶可自行決定承擔知情風險。Snap 已公布的權限現包括顯示通知、顯示自定義對話框、顯示交易見解、訪問互聯網、定期檢索、訪問互聯網、訪問以太坊提供商、查看協議公鑰、派生 Snap 私鑰、在本地存儲 Snap 數據、允許 DApp 與 Snap 以及 Snap 之間建立通信等。

在私鑰生成方面,由於 MetaMask 基於橢圓曲线 secp256k1,因此 Snaps 的私鑰生成也遵循 BIP-32 與 BIP-44 的分層確定性錢包(HD Wallet)方案,接入 MetaMask Snaps 的錢包可基於 MetaMask 密鑰(父密鑰)派生出一個或多個新的公私鑰對(子密鑰)。(即便是刪除 Snap 後重新安裝)只要 MetaMask 私鑰不變,Snap 私鑰也不會改變。同時,作爲插件,Snap 共享着 MetaMask 安全性,Snap 私鑰與 MetaMask 私鑰一樣存儲在加密過的本地文件夾中。

MetaMask Snaps 的權限模型與沙箱環境可以確保 Snap 與 Snap、MetaMask 與 Snap 之間的交互是安全的,但與 MetaMask 一樣,將私鑰存儲在本地文件夾中仍需面對電腦被黑的風險。同時,MetaMask Snaps 要做一個开放無許可的生態,這也意味着該平台並不會保證 Snap 的安全性。現階段 MetaMask 在 Snap 上架時多了一層審核,但未來的風險依然是生態與用戶需要共同面對的問題。

三、把生態的方向交還給开發者與用戶

目前,關於 MetaMask Snaps 的討論主要涉及兩方面。一是非 EVM 生態與多鏈的未來將有更多的可能,二是非 EVM 生態錢包將被取代。但 MetaMask Snaps 究竟能給非 EVM 生態帶去多少用戶與資金或許要打個問號,它要取代其他錢包也不太可能。

MetaMask 想要打造一個 Web3 全生態入口,基於 3000 萬的月活用戶,無論如何,這對非 EVM 生態而言都是一個巨大的流量入口。但 MetaMask 本身就是一個瀏覽器插件與移動 App,它並非是一個基於硬件或像 ChromeOS 那樣基於雲的系統,以及實現所有符合 SES 沙箱要求的 Javascript 开發成本較高,因此 Snap 可能無法承載非 EVM 應用的所有功能。而另一方面,Snap 與非 EVM 生態錢包存在一種競爭關系,但就像微信小程序一樣,非 EVM 生態錢包也可以對 Snap 功能予以一定限制,或是對使用原生錢包的用戶給予優惠或獎勵使其回流。

目前,MetaMask Snaps 無法直接訪問各個生態,需要用戶通過某一個生態、應用才能連接到 MetaMask Snaps,或許未來生態聚合器類 Snap、在 MetaMask UI 中自定義 Snap 模塊會更好地爲用戶提供入口。不過,筆者認爲,MetaMask Snaps 能給非 EVM 生態帶來的增長有限,真正重要的是這條鏈本身及其應用與產品能否吸引用戶。

MetaMask Snaps 與非 EVM 生態都很難說誰是贏家,但對开發者來說簡直就是天堂。Snaps 天然符合 Crypto 去中心化敘事,這裏就像一個自主世界與荒野西部,允許开發者自由地基於 JSON RPC API 構建應用,這裏不存在一個通用的標准,而是將自主權與選擇權完全交由用戶決定。比起對非 EVM 生態的討論,开發者會在這裏構建出哪些好玩的應用更值得期待。

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播信息之目的,不構成任何投資建議,如有侵權行為,請第一時間聯絡我們修改或刪除,多謝。

標題:Web3 的小程序 MetaMask Snaps 會是非 EVM 生態救星嗎?

地址:https://www.sgitmedia.com/article/11138.html

相關閱讀: