編譯& 整理:深潮TechFlow
最近MetaMask 在Permissionless II 上發表了MetaMask Snaps。用戶使用該功能,可以實現與比特幣和非EVM區塊鏈的互通等功能。
當業界領先的錢包開始擴展生態,整合更多鏈上的代幣和功能,這會是加密貨幣的「Chrome 擴展」時刻嗎?是吸引加密貨幣下一個十億用戶的方式嗎?
在本期節目中,MetaMask的聯創Dan 對新功能Snap進行了深入的介紹,並對其未來的發展和可能的影響進行了展望。
主持人:Ryan, Bankless
主講人:Dan Finlay,MetaMask 創辦人
原文標題:《Why MetaMask Snaps is a Big Deal with Co-Founder, Dan FinIay》
MetaMask Snaps的運作原理
-
Dan 介紹說MetaMask Snaps 就像是為MetaMask 錢包設計的插件,其中一個重要功能就是增強交易的安全性。透過Snaps,用戶可以安裝交易安全供應商,這些提供者可以模擬交易,預測交易的結果,從而幫助用戶避免可能的風險,例如網路釣魚攻擊。
-
Dan 解釋了Snaps的功能,強調它們為MetaMask提供了擴展API的能力。目前,有三種主要方式可以使用Snaps擴充錢包:
-
1) 事務安全:Snaps 可以幫助使用者確保交易的安全性,預測交易的結果,從而避免風險。
-
2) 新增整合:Snaps 允許外部開發者為MetaMask 建置功能插件並為其協定增加支援。當使用者登入網站時,網站可以與使用者的某個Snap互動,而不僅僅是與MetaMask提供的API互動。例如,Snaps可以為使用者提供簽名和顯示確認的功能。
-
3) 通知:Snaps也提供了通知功能。例如,有一個名為Push的Snap,允許Dapps在獲得用戶的許可後通知用戶相關的資訊。
-
主持人提到,儘管這是Snaps的Beta版本,但已經有超過30種不同的Snaps供人們使用和下載。
-
Dan詳細解釋如何使用Snaps。當Dapps想要與特定的區塊鏈或協議進行互動時,它們可以要求用戶安裝相應的Snap,從而獲得更豐富和無縫的體驗。
-
Dan 特別提到了事務洞察功能,該功能允許用戶在確認交易之前預覽和理解他們即將進行的交易的細節。這讓用戶能夠深入了解交易的內容,用戶可以更好地識別這些潛在的惡意交易,並避免受到損失。
-
在增加錢包安全性方面,Dan 提到了「蜘蛛網模型」。在這個模型中,不是只依賴單一的安全策略,而是使用多個策略和工具來增強安全性,透過多層的保護和策略,為使用者提供更全面和強大的安全防護。即使某一策略失敗或被繞過,其他策略仍可為使用者提供保護。
MetaMask Snaps 的功能與目的
-
Dan重點介紹了MetaMask目前使用者可用的功能和目的,具體包括:可以相容的鏈、實現相容的方式。
-
在相容鏈的方面,MetaMask已經做出了顯著的擴展和進步。 Dan強調,為了使更多的人能夠安全、輕鬆地使用加密貨幣,他們提供了一系列的安全工具,旨在降低新用戶進入加密貨幣領域的門檻。透過最新的Snaps發布,MetaMask不僅增強了其功能,還擴展了對多鏈的支持,從而超越了僅支援Ethereum的範圍。
-
他進一步解釋,當MetaMask考慮添加新功能或與新的區塊鏈網路互動時,他們始終將用戶的資金和數據的安全性放在首位。安全性是MetaMask團隊在開發和發布新功能時始終考慮的核心要素,他們的目標是確保用戶在使用MetaMask時始終感到安全和自信。
-
關於實現相容的方式,Dan提到,開發者不必為每個應用製作一個Snap。 Snaps的目的是擴展錢包的API功能,使其更加豐富。開發者可以查看現有的Snap選單,這是一個不斷增長的功能集,允許開發者與使用者進行更豐富的互動。 APIs設計得非常簡單,對於之前使用過Ethereum提供者編寫Dapp的開發者來說應該非常熟悉。
-
對於那些希望其應用程式的某個元件能夠伴隨用戶並在其他網站上使用的開發者,尤其是希望使交易更易於閱讀的開發者,製作Snap是一個很好的選擇。
-
當被問及Snaps是否是MetaMask團隊擴展其開發能力的策略時,Dan確認這是他們的策略。這種方法使他們能夠更迅速地開發和推出用戶所需的功能。 Dan提到,為了充分利用區塊鏈的多樣性,錢包需要有彈性。他們的長期目標是使Snaps完全開放,無需許可。
-
Dan分享了未來Snaps的一些設想,例如透過連結引導用戶,該連結包含推薦的鏈、Gas補貼和權限等資訊。他還提到,未來的Snaps將能夠在彼此之間,甚至在錢包之外共享權限。 Dan的願景是,Snaps將使MetaMask更加隱蔽,同時仍允許用戶創建可擴展且安全的合約。
Snaps 開發之旅& 安全性
-
Dan 介紹了MetaMask Snaps的開發過程。 Dan提到,他們大約五年前就有了錢包應該具有可擴展性的想法。在第一年,這個想法聽起來很瘋狂,但到年底,他們已經建立了一個原型,並開始相信這個功能是可行的。他們的團隊最初是在其他工作的同時嘗試開發Snaps的,但後來決定全力以赴。這是他們第一次為特定的功能設立了一個專門的團隊。
-
Dan多次強調了安全性的重要性。他明確表示,儘管MetaMask希望引入新功能和擴充性,但他們絕不會犧牲使用者的安全,這是他們在開發過程中的首要考量。
-
Dan提到如何安全地與陌生人、電腦和新軟體互動的問題。他解釋說,為了解決這些問題,他們實際上建立了一個作業系統核心並將其整合到MetaMask中,這個核心允許他們運行第三方程式碼,但在運行時對其進行嚴格的限制。
-
MetaMask 使用了兩層的隔離機制來確保第三方程式碼的安全運作。首先,他們使用了一個iframe,然後使用了一個基於JavaScript語言等級特性的隔離區域。這兩層隔離確保了第三方程式碼只能在嚴格定義的邊界內運行,不能存取或修改MetaMask的核心功能或使用者的敏感資料。
-
透過這種方式,即使用戶安裝了一個惡意的Snap或第三方擴展,它也不能超出其被授權的範圍進行操作,從而保護了用戶的安全。
-
儘管MetaMask已經實現了這些安全措施,但Dan表示他們的目標是讓系統更加無需許可,同時確保安全性。他們希望能夠創建一個分散式的作業系統內核,專門用於處理基於密碼學的去中心化協議,同時確保用戶的安全。
-
當主持人詢問為什麼Snaps的開發需要這麼長時間時,Dan解釋說,他們面臨的不僅僅是開發一個新功能,而是解決一個真正的技術挑戰。
-
Dan強調,他們正在處理的核心問題其實是一個複雜的大問題。為了解決這個問題,他們需要進行深入的研究和大量的開發工作。這不僅僅是編寫程式碼,還涉及密碼學、安全性和去中心化技術的深入研究。
-
Dan比較了MetaMask的設計與硬體錢包的韌體層次。他提到,與Ledger團隊描述如何隔離私鑰的方式相似,MetaMask也採用了類似的方法來確保使用者私鑰的安全性。
附註:「韌體層級」是指硬體錢包中用於儲存和執行基本操作的軟體層,通常負責如何安全地儲存、管理和使用私鑰。
-
主持人詢問安裝Snap是否會帶來安全風險。 Dan解釋說,為了最小化風險,他們採用了兩個主要的安全策略。首先,所有的Snaps都經過了審計。其次,每個Snap都有一組權限列表,這些權限明確了Snap可以存取的功能。
-
Dan提到,他們希望逐步去中心化審計過程,直到它變成一個基於信任的網路或DAO。對於那些需要簽名功能的Snaps,它們只能存取與其相關的金鑰,而不是使用者的所有金鑰。
-
許多Snaps需要網路權限,因為它們不能在本地運行。但如果一個Snap只需要存取交易資料並不需要網路權限,那麼使用者的資料其實是私有的,因為它不能傳送到外部伺服器。
-
主持人詢問,如果安裝了一個不需要金鑰簽署的Snap,例如一個模擬交易的Snap,那麼這會帶來什麼風險? Dan解釋,這種Snap需要存取交易資料來進行模擬,但它不會存取用戶的私鑰。
MetaMask 的未來計劃
-
主持人提到了帳戶抽象和智能合約錢包的趨勢,並詢問MetaMask是否有計劃進入這個領域。
-
Dan 解釋說,MetaMask團隊長期以來的立場是,計劃為帳戶創建一個插件系統。 MetaMask不是自己開發這些新型的智慧合約帳戶,他們會提供一個平台,讓其他開發者或團隊為MetaMask建立這些帳戶外掛程式。這種方法可以鼓勵創新,並允許多種不同的智慧合約帳戶解決方案在MetaMask上實現。
-
雖然帳戶抽象化和智慧合約錢包是一個有趣且有潛力的領域,但MetaMask團隊目前的核心焦點是創建一個安全的可擴展核心。這個核心是MetaMask的核心元件,允許它運行第三方程式碼,如Snaps,同時確保使用者的安全。
-
由於這個核心焦點,Dan認為MetaMask可能不會自己製作最佳的合約帳戶。相反,他們更傾向於提供一個平台,讓社群和其他開發者來創造這些解決方案。