作者:Richard Chen,舊金山早期加密風險基金 1confirmation 合夥人
編譯:詹涓
錢包是加密貨幣的關鍵基礎設施。每一種加密領域的行為,無論是購買還是出售加密幣、長期持有加密幣、傳送加密幣、抵押加密幣等等,都以某種方式仰仗錢包進行。
錢包也是 Web3 的門戶,就像網路瀏覽器是 Web2 網際網路的門戶一樣。因為加密錢包如此重要,迄今已有近 4 億美元資金流向加密錢包業務,其中以 Ledger(8,800 萬美元)、Blockchain(7,000 萬美元)、BRD(5,400 萬美元)和 Abra(3,550 萬美元)籌集的資金最多。
為設計出更好的錢包使用者體驗,目前已有大量的研究和工作投入其中。在這篇文章裡,我將對加密幣錢包的生態系統進行概述,並著重介紹最近在錢包的使用者介面 / 使用者體驗 (UI/UX) 方面的一些改進,包括錢包 SDK、智慧合約錢包和元交易(meta transactions)。
加密幣錢包的興起
在比特幣的早期,第一批使用者是加密朋克,他們熟悉公鑰和私鑰的概念。因此,起初對加密幣進行金鑰管理的做法是,在一張紙上寫下一個私鑰或一個助記短語(又稱種子短語),並好好保管這張紙。比如下面這樣:
4136fb984d0a8650c6ddc54698cb9365479a607402120e0b7527b2aa1f5d8903
顯然,普通人不會為了給別人寄錢而記住一串隨機的字母數字字元,而且隨身攜帶私鑰非常危險。Brainwallet 專案試圖讓使用者生成他們自己定義的種子短語,然後透過 SHA-256 之類的雜湊演算法將其轉換為一個私鑰。Brainwallet 這個名字來自於這樣一個事實:種子短語只儲存在使用者自己的大腦中,而不是記在什麼地方。如果使用者忘了種子短語或者不幸去世,這份比特幣也將永遠消失。
使用者靠自己選擇一個好的種子期短語的能力,以承受失去一筆財富的風險。但是人類在生成無序種子短語方面一直很差勁,他們想出的種子短語往往會形成容易預測的規律。正如在一個 DEFCON 演講中所展示的那樣,駭客們已從拙劣生成的 Brainwallet 中竊取了數百個比特幣,而這些比特幣如今價值數百萬美元。
於是,錢包誕生了。錢包把私鑰抽離出來,允許使用者透過一個簡單的 UI 傳送和接收加密幣。除了備份錢包,使用者無需直接與自己的私鑰進行互動。各個錢包的第一版都是基於客戶端的,要求使用者下載桌面軟體。這些桌面錢包要麼在本地執行輕量級客戶端,要麼連線到一個節點,每次錢包開啟時都需要幾分鐘來同步到最新的區塊。
載入時間太長,可不是一種很好的使用者體驗。於是,下一版的錢包大多基於網路或是移動錢包。
所有這些錢包都具有安全儲存加密幣、傳送和接收交易的基本功能。幾乎所有這些錢包都是由使用者控制的,這意味著錢包提供商只能建立錢包軟體,而不能觸及使用者的資金。錢包提供商不負責儲存使用者的私鑰,他們將這一負擔轉交到使用者身上。
如今,有很多基於客戶端、基於網路和移動端的錢包,它們大體上沒有什麼區別,只有細節上的差異。比如有的錢包允許使用者直接在錢包裡用法幣購買加密幣,透過 Waye 或 Simplex 之類的支付處理方,也有的透過 Shapeshift 或 Changelly 支援使用者進行加密幣互換,也有的使用像 CoinJoin 這樣的比特幣混幣服務來支援私密交易,還有的支援各種加密幣和加密收藏品。
唯一的例外是中國的錢包,他們試圖複製微信的玩法,往裡面塞進儘可能多的功能,好讓使用者無需逃離。例如,imToken 允許使用者從錢包中獲得一個原生的 MakerDAO 抵押債倉。其他在中國流行的錢包還有位元派 (Bitpie)、RenrenBit 和 Cobo 錢包。
除了這些軟體錢包,還有硬體錢包。硬體錢包提供冷儲存,即與網際網路在物理上隔離,它們通常存放在銀行的保險箱裡。如果想要儲存大量資金,硬體錢包非常合適,因為駭客若要竊取這筆資金,唯一的方法是物理入侵銀行才能拿到這些硬體錢包。
Web3 錢包
如果你只想安全地儲存加密幣、傳送和接收交易以及買賣加密幣,那麼上面列出的錢包是很好的選擇。不過,如果要與 Web3 應用程式互動,它們就不那麼有用了。
從使用者的角度來看,Web2 和 Web3 應用程式的主要區別在於, Web3 應用程式需要在瀏覽器中有一個錢包。在進入 Web3 應用時,網站會檢查是否有支援 Web3 .js 庫的錢包擴充套件,如果沒有,它會告知使用者,在使用該 DApp 前應該先去下載一個 MetaMask。像 BRD 錢包和 Edge 錢包這樣的非 Web3 錢包不支援 Web3 .js 庫,因此,從一個非 Web3 錢包中是無法在 Compound 或 Uniswap 這樣的 DApp 上使用 ETH 的。
MetaMask 顯然是 Web3 錢包的主要玩家。截至 4 月份,預計 MetaMask 有 26.4 萬月活躍使用者和 9 萬個周活躍使用者。考慮到幾乎每個 DApp 都要求使用者在使用網站之前下載 MetaMask 擴充套件,MetaMask 指標也代表了當前 DApp 可定址的總體市場規模。在某種程度上,MetaMask 目前扮演著 Web3 看門人的角色,也有極強的「產品市場契合」(產品和市場達到最佳的契合點),儘管它在使用者體驗上還有很多可改進的空間。當然,Web3 的任務本就是要減少個別中心化的看門人對網路入口的控制,因此有許許多多的團隊正在構建 MetaMask 的替代方案。
Hedgehog 是 MetaMask 之外的另一個選擇,這個桌面 Web3 錢包由 Audius 團隊開發。該錢包用一個使用者生成的密碼給私鑰加密,也不強制使用者多次確認交易彈出視窗,這樣就降低了錢包的複雜性。但這個方案的缺點在於,無法恢復賬戶,並且主要是為小金額的財務用例而構建的。
Coinbase 錢包和 Trust 錢包是兩個活躍的移動端 Web3 錢包,而 MetaMask Mobile 和 Astro 錢包目前都是 Beta 版。一個移動版 Web3 錢包,實際上只是一個新增了普通移動錢包的瀏覽器,便於使用者在各種網站上使用其移動端錢包的資金。移動版的 Web3 錢包也可以透過掃描二維碼在電腦上接入,使用 WalletConnect 或 WalletLink 來將兩個裝置連線。有些移動版錢包,如 DexWallet 和 Rainbow 則是定製的,主要服務於去中心化金融 (DeFi) 的用例。
更好的使用者體驗最好是像 MakerDao 和 Auger 這樣的 DApp,它們各自提供了專門的移動應用程式,使用者可以從 App Store 或 Play Store 下載,這就跟大多數使用者是透過手機應用訪問 Facebook,而不是在移動端瀏覽器上訪問 facebook.com 一樣。為了改善 DApp 在移動裝置上的 UI/UX,Tasit 正在構建一個開發移動應用的 SDK,服務於各種流行的以太坊 DApp。
錢包 SDK
儘管 MetaMask 有先發優勢,但在 UI/UX 方面仍有很多容易實現的改進可以吸引主流使用者對 DApp 的採用。使用 MetaMask 的主要 UX 瓶頸在於,使用者需要下載一個單獨的瀏覽器擴充套件(不過最近 MetaMask 釋出了一個用於網站整合的新外掛)。追蹤使用者轉化率的 DApp 開發人員告訴我,試圖嘗試 DApp 的使用者中,有超過 90% 的人在被告知需要下載 MetaMask 時會選擇放棄。
如果我們想讓主流使用者試著用一下以太坊,那麼,登入到 Web3 應用程式,應該與登入到 Web2 應用程式沒有任何差異。
一個 Web3 錢包 SDK ,如同 Web2 的使用者名稱和密碼登入。使用者不需要為了使用這個應用程式而專門下載一個單獨的擴充套件,也不必在每次傳送一個交易時點選一個彈出視窗。而且,這個錢包原生地整合到該網站,可以在所有裝置和瀏覽器上得到支援。而缺點則是,這種錢包只適用於為該錢包整合了幾行程式碼的 DApp。
錢包 SDK 提供商儲存了被加密的使用者密碼,該密碼對映對應的私鑰,在 Fortmatic 和 Bitski 的案例中儲存在 HSM 上,在 Torus 案例中則被分片。因為錢包 SDK 提供商儲存了密碼和私鑰之間的對映,所以,更新對映就可以重置密碼。這一點很重要,因為使用者已經在 Web2 應用程式中習慣了重置,他們會認為無論如何都有用於密碼恢復的後門。而在傳統錢包裡,如果使用者丟了他們的私鑰,那麼裡面的資金就永遠丟失了。
智慧合約錢包
以太坊上的智慧合約可以為 DeFi 這樣的用例提供可程式設計貨幣。如果我們可以利用智慧合約為可程式設計錢包新增額外的功能,那就太有想象力了。
首先,我要說說以太坊賬戶模型的一些背景知識。在以太坊中有兩種不同型別的賬戶:從外部擁有的賬戶和合約賬戶。傳統的以太坊錢包使用從外部擁有的賬戶,這些賬戶用私鑰實現安全保障,通常為使用者轉換成 12 個單詞的「種子短語」。所以擔子壓在終端使用者肩上,他們得確保不丟失這個短語,萬一丟了,賬戶中的資金也就永遠丟失了。
相反,合約賬戶是隻在以太坊區塊鏈上才能存活的程式碼,不存在可以接觸該賬戶內資金的私鑰。利用合約賬戶,智慧合約錢包完全撇開了為使用者管理私鑰這種概念。而且,智慧合約錢包可以被程式設計為擁有與傳統銀行相同的安全保障,比如賬戶恢復、欺詐保護和取款限制。
在傳統的錢包中,如果使用者沒有備份他們的種子短語,又弄丟了手機,那麼他們所有的資金都將消失。然而,有了智慧合約錢包,使用者可以指定可靠的家人和朋友作為「備份者」( 在 Argent 中稱為守護人)。如果大多數備份者同意,使用者能夠觸發一個社交恢復過程以取回他們的資金。需要注意的是,備份者永遠無法竊取使用者的資金;他們的許可權是,只有他們能參與完成恢復過程。
為了防止欺詐,Gnosis Safe 目前實施了兩步驗證,大多數人都在使用自己重要的線上賬戶時都會採用兩步驗證。Dapper 還可以監控異常行為,比如向可疑地址傳送大額資金,或者在異常區域活動,以及在交易確認前進行檢查。
取款限額是傳統銀行系統中極為常見的安全特性。有了智慧合約錢包,使用者可以為任何給定的交易設定最大轉賬限額。如果觸發的交易超過這個數額,交易將暫定一段時間,直到某一指定的時間點。在此期間,使用者可以取消這個交易。
雖然相較傳統錢包,智慧合約錢包可以提供更多的安全功能,但智慧合約錢包也有它自身的風險:它不是冷儲存,給錢包程式設計會增加其攻擊面的向量。如果是普通的錢包,只要私鑰安全,錢包則永遠不會被黑,而智慧合約錢包則可能因程式碼有 bug 而被黑。
Nexus Mutual 為智慧合約錢包提供保險,以應對錢包被黑或使用者丟失資金的意外情況。目前,Argent 和 InstaDapp 上的保額分別為 2,400 美元和 15,000 美元。
欲知詳情,請登陸 NexusTracker.io
元交易
元交易(Meta transactions)是由 Austin Griffth 開創的一種新興設計模式,它極大地降低了 DApp 被大規模採用的門檻。圍繞著這一想法,一個充滿激情的社羣已經形成,牽頭的主要是 MetaCartel。
元交易是一種無 gas 的交易,它讓使用者無需安裝瀏覽器擴充套件或購買加密幣,就能即刻使用 DApp。元交易的概念是,使用者用自己的私鑰給一個交易簽名,然後將其傳送給一個接收該交易資料的中繼器(replayer),中繼器將其打包到一個實際的以太坊交易中,然後支付 gas 費用以將該交易提交給以太坊區塊鏈。
需要注意的是,元交易不是錢包,所以,使用者的私鑰儲存在何處,取決於實施元交易的錢包如何設計。
元交易的第一版依賴於單箇中繼器來廣播交易,這使得系統非常中心化。理論上,中繼器可以審查使用者的交易,但由於錢包提供商或 DApp 通常就是中繼器,所以在實踐中他們審查自己的使用者毫無意義。儘管如此,Zeppelin 和 TabooKey 團隊的成員非常機智地解決了這個問題,他們以去中心化的方式中繼所有元交易,正在釋出 Gas Station 網路。
在 Gas Station 網路中,使用者從由多個獨立中繼器組成的網路中隨機選擇一個,代表自己向區塊鏈提交自己的交易。DApp 向中繼器支付報酬,同時後者要提交一筆押金,萬一有惡意行為,押金就得被沒收。透過這種方式,DApp 承擔了中繼器和 gas 成本,就當作客戶獲取成本吧。而使用者則可享受無縫的使用體驗。基於 DApp 的商業模式,它們可以透過收取訂閱費等方式向使用者收費。
元交易可以在智慧合約錢包中實現。Argent 和 Astro 錢包使用了元交易,這樣使用者不用支付 gas 費就可以傳送交易。但更重要的是,元交易允許多個交易捆綁到一個交易中。這一點很重要,因為像 Uniswap 這樣的 DApp 需要額外的交易來解鎖使用者想要兌換的每個代幣,然後使用者才能進行單筆兌換。元交易消除了所有這些不必要的初始步驟,使用者可以直接與 DApp 進行交易。
在 ETHDenver 上, Burner Wallet 釋出了,讓參加駭客馬拉松的人們可以支付餐車費用。從那以後,在其他活動中出現了很多不同版本的 Burner Wallet。
另一個在實踐中使用元交易來吸引新加密使用者試用的好例子是 Burner Wallet。它是一個網路錢包,以簡單的介面用於小額加密幣的快速支付。當你從網路或移動瀏覽器訪問 xdai.io 時,會自動生成一個 Burner Wallet,無需下載任何應用程式或種子短語,私鑰儲存在瀏覽器的本地儲存中。在 Burner Wallet 之間傳送交易,就跟微信支付一樣——掃一掃二維碼,即可在使用者之間交換加密幣。
Burner Wallet 類似於現金——你不會隨身帶大把鈔票,因為很容易弄丟,而鈔票兌換又很方便。由於使用者的私鑰儲存在他們的瀏覽器的本地儲存中,所以 Burner Wallet 為使用者提供了一個很好的試用體驗,但這並不是一個永久儲存資金的辦法。為了解決這個問題,Burner Wallet 與 Gnosis Safe 合作,一旦使用者在他們的 Burner Wallet 中積累了足夠的款項,就會自動將資金轉移到一個更安全的錢包中。將 Gnosis Safe 的安全性和擴充套件功能與 Burner Wallet 的易訪問性相結合,這是以太坊錢包基礎設施上的一個重大改進。
錢包事業將走向何方
大多數人認為,加密貨幣和 DApp 的使用者體驗,距離主流人群的可用性尚有好幾年時間,但在過去的一年裡,使用者體驗其實已經有了很多重大突破,只需要在現有的錢包中實現即可。我相信,只要像元交易這類更出色的使用者體驗能向 DApp 開發者推廣,並得到更廣泛的實施,我們將看到 DApp 使用的爆發點到來。
我還注意到,在錢包使用行為中,現有加密貨幣原生使用者和加密貨幣新手之間存在鴻溝。現有的加密貨幣原生使用者似乎都能很好地使用 MetaMask (或者至少已經適應了它的 UX 問題),沒有切換到其他錢包的強烈動機。當然,在以太坊 gas 價格飆升時,他們還是會想利用不支付 gas 費這類功能的。
然而,加密貨幣新手並不明白, Web3 應用程式需要一個 Web3 錢包,一旦碰到某個網站說它與 Web3 不相容時,他們就會感覺無路可走。錢包領域中目前完成的幾乎所有 UI/UX 工作,其實都是針對後一類使用者的。同樣,各類錢包專案也確信,是使用者體驗,而不是缺少殺手級應用,才是 DApp 大規模採用的最大瓶頸。解決了這個瓶頸,就將促成加密貨幣普及的下一個熱潮。
為了解決這種分裂的情形,在我看來,理想的解決方案是提供兩種登入選項:一種是使用 MetaMask,為在意自主性的現有加密原生使用者服務,另一種是使用一種新的錢包基礎設施,它迎合新使用者,會在抗審查和隱私等方面做出權衡。
或者還存在這種可能:在未來,像 Chrome 和 Firefox 這樣的 Web 瀏覽器,將有一個預裝的錢包供所有使用者使用,到那時候,HTTP 402 錯誤程式碼就真的能夠派上用場了(譯者注:HTTP 402 為將來使用而預留。原計劃此狀態碼可能用於電子現金或者網上小額交易,但一直未實現)。在這種情況下,我們將實現神奇的網際網路貨幣的夢想。