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, derivation_path) -> (private_key, 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來籤名才能完成。
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播信息之目的,不構成任何投資建議,如有侵權行為,請第一時間聯絡我們修改或刪除,多謝。