MetaMask 的 snap 平台可能會迎來一波類似於小程序的創業潮

推薦閱讀
2023-09-18 09:52:03
收藏
除了 MetaMask 提供了幣圈最大的用戶流量外,以及用戶信任基礎外。更重要的是,snap平台還讓開發者擁有了一個錢包的前端頁面,可以用來做很多業務。

作者:黃世亮,閃電HSL


MetaMask 作為幣圈用戶量第一大的錢包,一直以來是只支持 EVM 兼容鏈。

就在上週,metamask終於將beta版本很久了的snap平台正式推出了。

訪問https://snaps.metamask.io可以看到具體的產品。

簡單描述,snaps就是metamask將錢包業務延伸到了非EVM兼容鏈,更準確的說,只要是私鑰是符合HD錢包(分層確定性錢包)標準的鏈,那都可以使用snaps平台開發管理該鏈的錢包。

HD錢包,即分層確定性錢包,現在幾乎是所有區塊鏈的私鑰最底層的標準。理解HD錢包要理解透兩個概念。

一是助記詞。

助記詞就是我們備份錢包時抄下的那12、18或24個單詞。助記詞本質上是一個隨機數,隨機從一個2048個單詞庫中選擇出12、18或24個單詞。

這個隨機選擇單詞的過程是由一個很複雜的算法完成,這個算法形成的助記詞的熵是非常強的,想通過爆力碰撞出已有的助記詞的概率是無限趨低於零的。即我們通過這種算法得出的助記詞就是全宇宙唯一的,不會和其他人產生的碰成一樣。

這個助記詞也常被稱為種子(seed)。

助記詞不是用來直接管理幣,即用來構建交易並簽名的私鑰。真正能用於簽名交易的那是私鑰,私鑰是由seed派生出來的。

二是派生路徑。

我們有了助記詞後,在metamask裡就可以生成n多個地址。每一個地址都是有種子通過某個算法計算出來的。

這個算法和計算過程,可以簡單的理解成為下面這個函數

f(seed, derivationpath) -> (privatekey, public_key)

Derivation_path就是派生路徑的意思。

通過將助記詞seed和派生路徑當成參數,代入算法,就可以計算出具體的私鑰和地址。

派生路徑本質上是一個字符串,長這樣'm/44'/0'/0'/0'。

其中m代表是的種子seed

44'指的是BIP44標準,通常還有別的標準,但BIP44是最常用。

第二個數字代表了不同的加密貨幣,即不同的鏈,0就是比特幣的派生路徑,以太坊是60,萊特幣是2

最後那個零所占的數字位,代表的是地址索引,如果兩個派生路徑前面的都相同,最後一個分別是0和1,就對應在錢包(如metamask)上你生成的第一個地址和第二個地址。

另外還有幾個概念對錢包支持幣也很重要,地址格式、交易數據結構。

MetaMask 一直只支持EVM兼容鏈的幣,所有EVM兼容鏈都可以採用相同的密鑰派生路徑,並且這些EVM兼容鏈的地址格式和交易數據結構都和以太坊完全一樣,所以非常方便使用metamask來統一管理。

但非EVM兼容鏈,如BTC、sui這些鏈,它們採用的助記詞標準是和以太坊一樣的,但派生路徑不同,地址格式也不一樣,交易數據結構也不一樣。

這樣使用MetaMask就很難管理。

snap就是為了解決這些不同,而設計出來的平台。

snap允許第三方開發者來解決派生路徑不同、地址格式不同、交易數據結構不同,從而導致metamask無法管理這些幣的問題。

snap管理幣的方式是,metamask生成並保管助記詞,第三方開發者開發一個前端頁面包含了派生路徑,並調用metamask來生成該幣的地址,並將地址格式展示在這個前端頁面上。

交易數據結構也由前端頁面來構造。

最終的交易簽名,由前端頁面調用metamask管理的助記詞派生出來的私鑰來完成簽名。

使用派生路徑生成的私鑰和地址,是無法逆向去計算出助記詞的,所以snap平台上的第三方開發出來的前端頁面錢包是無法獲得用記在metamask存的助記詞的。

為什麼我感覺snaps會迎來一小波創業潮呢?

除了 MetaMask 提供了幣圈最大的用戶流量外,以及用戶信任基礎外。更重要的是,snap平台還讓開發者擁有了一個錢包的前端頁面,可以用來做很多業務。

並且,因為有snaps.metamask.io這種機制,開發者可以自證無法挪用用戶的資產,所有資產的使用都需要用戶使用metamask來簽名才能完成。

很多幣圈的業務邏輯就可以遷移到snap上來。

鏈捕手ChainCatcher提醒,請廣大讀者理性看待區塊鏈,切實提高風險意識,警惕各類虛擬代幣發行與炒作,站內所有內容僅係市場信息或相關方觀點,不構成任何形式投資建議。如發現站內內容含敏感信息,可點擊“舉報”,我們會及時處理。
ChainCatcher 與創新者共建Web3世界