在接下來的 12 個月裡,隨著一批面向消費者的 Web3 應用程序的到來,這種均衡的解決方案可能會被更廣泛地採用。

作者: Chen Li、Ivy Zeng、Ivo Entchev,Youbi Capital

原用標題:將 Web2 用戶帶入 Web3 —— 未來屬於無助記詞錢包

對於第一次接觸 Web3 的 Web2 用戶來說,初次上手的體驗(客氣地說)是不大愉悅的。傳統的 EOA 錢包需要經過錢包生成,私鑰管理,保存助記詞等一系列複雜繁瑣的流程。下一代無助記詞錢包試圖通過抽象私鑰和助記詞來解決這個摩擦點,只需點擊幾下就可以使用常用的 Web2 社交賬號登錄,實現一套更熟悉的登錄流程。因此,無助記詞錢包是 Web3 邁向大眾普及的重要進步。

錢包提供方實現無助記詞錢包的一種方式是完全中心化的賬戶託管解決方案。然而,這與 Web3 應用的初衷背道而馳。正確的解決方案不應該以用戶失去對賬戶的所有權和自託管為代價,來達到抽象化的便利性。而應該根據用戶的需求在兩者之間取得適當平衡。

我們正處於將 Web2 消費者引入 Web3 的拐點。登錄流程將在下一階段的增長中至關重要。因此,創造一種既符合 Web3 去中心化的精神,又具備 Web2 的便利性和互操作性的登錄和賬戶管理體驗至關重要。

正因為登錄和賬戶管理體驗如此重要,我們一直在密切關注 Web3 賬戶基礎設施的創新。許多開發者也想了解 Web3 用戶登錄的最新進展和我們對錢包的看法。本文正是為此而來。

取捨:無助記詞密鑰管理 VS 自主保管

最近所有錢包產品的迭代都可以通過它們對兩個主要但相互牽制的特性的追求進行分析:無助記詞密鑰管理和自主保管。無助記詞密鑰管理是新用戶無縫進入 Web3 的基礎。這意味著用戶不需要助記詞短語或私鑰就可以在新環境中登錄賬戶。因此,他們的進入流程和賬戶管理是抽象的,類似於 Web2。

從技術層面上來說,這種抽像是通過錢包提供方將客戶賬戶的權限委派給服務器或第三方來實現的。例如,Magic Link 要求用戶獲得(官方)授權後才能訪問加密密鑰,並使用主密鑰(由 AWS 上的中心化託管服務 HSM 保護)進行解密。其它方法則是通過將私鑰拆分為多個片段並將它們存儲在不同的位置來減少暴露整個密鑰的風險,從而實現更大程度的去中心化。顯而易見,用戶需要在無私鑰和自主保管兩個特性之間作出取捨,這對許多加密貨幣使用者來說很重要(如果不是完全神聖不可侵犯的話),理由也很充分。當錢包服務依賴於第三方時,這些第三方就擁有審查交易,甚至接管資產的權力。它們可能會受制於政府監管和乾預。對服務提供商依賴程度較高的錢包服務,在發生惡意攻擊或事故時也更容易中斷。

那麼,如何在無私鑰和自託管這兩者間權衡以獲得最佳用戶體驗呢?對於 Web3 應用程序,我們可以假設其首要目標是無縫轉化 Web2 用戶,他們習慣於使用用戶名/密碼或社交登錄,但不會立即擁有大量的鏈上資產。而接下來,隨著用戶資產的增長,他們往往對安全性和去中心化有更高的要求,此時開發人員應該考慮對兩種特性的權衡進行調整升級。

找到正確的平衡:現有無助記詞錢包的比較

基於上述框架,我們對一些有代表性的無助記詞錢包進行了調研,並根據它們的自主保管程度和其它相關因素對進行了分析。這些錢包是:

MagicLink,Web3Auth,Particle Network,Sequence,UniPass

安全雲存儲、MPC 和智能合約等新技術豐富了新一代錢包的設計空間,為用戶帶來一系列管理和使用其 Web3 賬戶的新功能。以上針對 EOA 錢包的改進方案對用戶體驗有不同程度的改善(如圖 1 所示)。

圖 1:雲計算、MPC 和智能合約在錢包設計中的應用

諸如 Metamask、Imtoken 和 Phantom 等 EOA 錢包是最本地化與獨立的錢包,當然不可避免也是使用體驗最繁瑣的類型。用戶需要學習如何安全保存他們的助記詞詞或私鑰,以及如何使用它們將賬戶導入到新設備中。賬戶地址來源於私鑰,如果私鑰丟失或被盜,賬戶地址將被永久鎖定或無法訪問。

最直接的替代方案是使用託管服務。例如 Magic Link。託管人可以僅通過電子郵件或社交登陸授予賬戶訪問權限。然而,託管服務的便利性往往伴隨著密鑰安全風險和中心化風險。

更複雜的方法通常涉及 MPC(SSS、TSS),如 Web3Auth 和 Particle Network。通過將密鑰拆分為幾個部分,登錄時必須由多個密鑰持有者進行身份驗證,從而分散了管理權,降低了集中化的風險。

除此之外,也有成功者將智能合約結合在 MPC 之上,引入了賬戶管理邏輯,允許用戶重構或重置由 MPC 管理的主密鑰,進一步降低了中心化風險。賬戶管理邏輯的核心就是選擇所謂的守護人,以實現深度自定義,消除對錢包服務提供商或特定守護人的依賴。

除了處理無助記詞密鑰管理和自主保管之間的取捨之外,這些無助記詞錢包還可以從用戶體驗的六個維度進行評估。

Gas 費用:創建智能合約賬戶在鏈上產生的 Gas 費用(常規使用的 Gas 費用接近 EOA 錢包)

延遲:創建和導入過程花費的時間(例如,由於是鏈上的過程,智能合約錢包通常需要更長的時間)

更換設備的便捷性:平滑地切換到一個新的環境或設備

安全性:單點故障的存在,包括任何單獨的一方,如服務提供商或集成前端,是否有能力暴露、重構或重置完整的密鑰或憑據,以完全控制賬戶

託管:服務可用性和抗審查能力(即服務對服務提供者的依賴性以及託管者是否能夠訪問或凍結客戶的賬戶)

功能性:能夠實現額外的賬戶管理邏輯(例如,資助 Gas 費用、多簽名、委託簽名)

在這些補充因素中,比起 Gas 費用、延遲和附加功能這些顯著影響用戶體驗的因素,安全性和託管因素對用戶來說相對是無感的。然而,安全漏洞或服務中斷等偶然事件可能對企業或個人造成災難性的影響。

Magic Link(託管 EOA 錢包)

Magic Link 是一個支持電子郵件和社交登錄的無助記詞錢包。在得到 Magic Link 的授權後,客戶在新設備登陸賬戶時,從託管人處下載一份他們的私鑰副本即可,從而避免保存和使用助記詞。Magic Link 將私鑰的加密版本外包給 AWS HSM 以直接服務客戶端,這樣 Magic Link 就不會以純文本的形式存儲私鑰。

從技術上來說,Magic Link 就相當於 Metamask,但增加了雲託管的好處,允許用戶使用在線身份驗證切換設備。然而,為了給用戶帶來最好的體驗,Magic Link 官方使用唯一的身份驗證服務器來授予對解密密鑰的訪問權,這使得它在工作流中成為潛在的單點故障。黑客或工作人員一旦獲得訪問身份驗證服務器的權限,就可以完全控制用戶的賬戶。此外,解密密鑰對於每個用戶可能都不是唯一的,這就產生了使用其它賬戶的密鑰繞過身份驗證服務器的可能性。

圖 2:Magic Link(AWS 密鑰管理服務)

我們對 Zerion 集成的 Magic Link 進行了測試和評估,以下是我們的發現。

圖 3:我們對 Magic Link 的評估

Gas 費用:低,因為它是一個 EOA 錢包

延遲:低,和 Metamask 一樣

更換設備:很容易,私鑰會被傳輸到擁有訪問令牌(Email/OAuth)的新設備。

安全性:低。單點故障。完整私鑰在前端暴露

非託管:低。對認證服務器依賴程度高,因而服務可用性差、抗審查能力弱

功能性:低。不是智能合約錢包

Web3Auth(分佈式託管 EOA 錢包)

Web3Auth 是一家流行的錢包服務提供商,它還支持社交登錄,允許用戶通過社交賬號連接,以在各種應用裡驗證他們自己。目前已經有各種 Web2 和 Web3 應用程序集成了 Web3Auth,如 Chess.com、Opensea 和 Skyweaver。毫無疑問,對於任何面向 C 端用戶的應用,社交登錄都是一種極具吸引力,甚至是最無縫的身份驗證方式。

然而,就像 Magic Link 一樣,社交登錄工作流需要服務器生成登錄請求並使用應用程序密鑰進行簽名,因此必須是中心化的。儘管智能合約可以使用公開給授權服務器的公鑰來驗證簽名,但這對終端用戶來說不是個友好的過程。

為了降低風險,Web3Auth 在 OAuth 密鑰中添加了其它密鑰,然後需要多把密鑰共同簽名重構完整密鑰。當用戶第一次登錄他們的社交賬戶(例如 Gmail/Twitter)時,首先,以去中心化的方式,通過 Shamir Secreting Sharing(SSS)生成三個密鑰分片,而後分開存儲。以下是這些分片的存儲方式:

  • 設備分片:生成並存儲在用戶的設備上,每次在新設備上登錄時都會重新生成
  • OAuth 登錄分片:在 OAuth 服務器上生成,然後在節點網絡中進一步分割保存,並在 OAuth 代碼得到驗證時才會獲取一次
  • 備用/ 2FA 分片:由用戶保留的額外分片,可保存在單獨的設備、雲或電子郵件上。登錄新設備時必須用到該分片。

圖 4:Web3Auth(Shamir Secret Sharing,社交登錄)

目前,OAuth 分片和備用分片都由 Web3Auth 通過 Auth 網絡控制,這兩個分片被用來重構完整的私鑰。在集成了 Web3Auth 的服務中,如 Opensea 和 Sequence,用戶可以通過社交賬號直接認證身份並登陸應用,不需要任何其它要求,這使得 Web3Auth 成為唯一的賬戶託管者。

Web3Auth 可以把備份密鑰分發到第三方存儲。如此一來,當用戶從新設備登錄時,就可以調用備份密鑰來在環境中創建新設備共享。將備份密鑰的存儲委託給第三方可以減少安全漏洞和審查的風險。Bitizen.org 就是這種分佈式託管的一個很好的例子,它使用 2/3 TSS 和客戶自己的雲盤來存儲備份密鑰共享。然而因為服務提供方對用戶的雲存儲有完全的訪問權限,隱私問題是不容小覷的缺點。

圖 5:我們對 Web3Auth 的評估

Gas 費用:低。不是智能合約錢包

延遲:低。立即登錄

更換設備:簡單。社交登錄和密碼,或者只是社交登錄

安全性:低。單一的託管人。私鑰完整暴露到前端

非託管:低。服務高度依賴 Web3Auth,沒有抗審查能力

功能性:低。不是智能合約錢包

我們對 Web3Auth 測試是在 Treasure.chess.com 和 Skyweaver.net 上進行的。

Particle Network(分佈式託管 EOA 錢包)

Particle Network 是另一款以電子郵件或社交登錄為特色的錢包服務,採用基於 2/2 MPC-TSS 的算法。在密鑰生成過程中有兩方,客戶和官方,他們共同計算公鑰,各自持有一段私鑰。只有客戶這一方才能啟動簽名過程。

簽名時,由 TSS 技術生成的證明將上傳到鏈上,而無需顯示私鑰。當客戶端進行設備切換或賬號恢復時,通過郵件 OTP 或社交登錄驗證後,就會調用存儲在雲端的客戶端密鑰。

圖 6:Particle Network(MPC-TSS,社交登錄)

TSS 多簽名算法比 SSS 更安全,因為整個過程中它不會暴露完整的私鑰。然而,在 2/2 TSS 方案中,兩片密鑰少了任何一片都無法恢復,這將使賬戶面臨永久鎖定的更高風險。

目前,Particle Network 允許用戶下載存儲在雲端的密鑰,從而輕鬆實現在新設備上的社交登錄。然而,該密鑰不受密碼保護,服務提供商完全可以訪問該賬戶。

圖 7:我們對 Particle Network 的評估

Gas 費用:低,不是智能合約錢包。

延遲:低,2/2 MPC 非常高效。

更換設備:簡單,郵件 OTP 或社交登錄

安全性:中等,完整的私鑰並不存在,也沒有永遠的暴露。社交登錄的驗證仍然是中心化的

非託管:低。服務器端可以暫停服務或審查交易。

功能性:低。不是智能合約錢包

我們對 Particle Network 錢包的測試是在 https://wallet.particle.network  上進行的。

Sequence(分佈式託管智能合約錢包)

Sequence 是一個多簽智能合約錢包,通過將三個密鑰中的一個委託給 Web3Auth,同時支持電子郵件或社交登錄。它允許開發人員更靈活地管理賬戶的安全性。此外,作為智能合約錢包,Sequence 支持在不同用例中設置額外的邏輯來改善用戶體驗。目前已有一些遊戲和 Web3 應用採用了 Sequence。

Sequence 錢包目前使用三個私鑰保證安全性,這三個私鑰足以創建一個多數權重來完全控制賬戶:會話密鑰、一個守護人密鑰(gardian key)和一個 Torus 密鑰。

  • 會話密鑰存儲在瀏覽器的 IndexedDB 中。
  • 守護人密鑰保存在 Horizon(Sequence 服務器)上。
  • Torus 密鑰(SSS)是由 Torus 網絡生成的密鑰,也稱為 Web3Auth。關於它的特性,請參考上一節。

圖 8:Sequence(智能合約,SSS)

與 Web3Auth 相比,Sequence 為開發人員或客戶端添加了進一步分散託管的選項。目前 Sequence 允許用戶在登錄新設備時,直接用社交賬號同時調用 Torus 密鑰和守護人密鑰,以減少摩擦,改善用戶體驗。

Gas 費用是智能合約錢包的一個額外因素。賬戶創建、簽署事務和密鑰重構都是在鏈上進行的,因此需要消耗 Gas。交易簽名成本可以忽略,但在 Polygon 上創建賬戶和密鑰重構的成本為 $0.005-0.01,而在 Ethereum 上的成本約為此的 1000 倍。因此智能合約錢包在側鍊和二層網絡更可行。

圖 9:我們對 Sequence 的評估

Gas 費用:低-中

在 Ethereum 上:270k gwei 大約 $5-12(Gas 價格在 15-30 gwei,ETH 在 $1500)用於創建賬戶。

在 Polygon 上:$0.0068-0.015(Gas 價格 47 gwei,MATIC 為 $0.9)創建賬戶

延遲:中等,第一次登錄通常需要 15 秒,社交登錄需要 10 – 20 秒

更換設備:簡單。社交登錄

安全性:低。單點故障。在當前實現中,僅 Torus 密鑰就足以登錄

非託管:低。在當前實現中,僅 Torus 密鑰就足以登錄

功能性:高。Sequence 是一個智能合約錢包,因此支持額外的賬戶管理邏輯。

UniPass(分佈式被動託管智能合約錢包)

UniPass 也是一個建立在 MPC 密鑰管理之上的智能合約錢包。它繼承智能合約和 MPC 錢包的所有優秀功能。與 Sequence 相比,它使用守護郵件(gardian email)的域名密鑰(DKIM)來驗證重置請求,而不是使用守護密鑰和社交密鑰。用戶可以簡單地從他們預先設置的電子郵件賬戶發送電子郵件來重置主密鑰。

基於 DKIM 的重置機制是:用戶以某種格式發送電子郵件,包含電子郵件地址的內容由 DomainKeys 進行哈希計算和簽名,然後使用任何 RPC 服務廣播已簽名的哈希值,以調用智能合約中的重置功能。在鏈上驗證監護人郵件的域密鑰簽名,如圖 10 所示。

DKIM 的身份驗證可以通過發送電子郵件簡單地完成,整個流程不涉及任何需要授權用戶請求的服務器,從而有效地消除了中心化風險。目前,Unipass 服務器通過為用戶起草恢復郵件以及提供 RPC 服務來簡化重置主密鑰的流程。但是用戶並不依賴於官方服務器,開源前端可以在本地運行,在賬戶恢復/社交恢復的流程中完全跳過服務器。

圖 10:UniPass DKIM 恢復

在這種設計中,仍然可以認為守護郵件 (gardian email) 扮演著託管人的角色,但這是被動的,因為整個過程不存在具體的服務提供方,就不會面臨審查風險。這種方式大大降低了服務提供者被內部或外部惡意攻擊的風險,降低託管服務商被審查的可能性。賬戶的訪問不僅由電子郵件服務的安全環境保護,而且對於外部來說還是隱身的(郵件地址和賬戶之間的關聯關係通過 zk 技術加密,沒有人知道和你錢包對應的郵箱是什麼)。

由於存在 Gas 費用,用戶通常使用 2/2 TSS 密鑰登錄賬戶,而不調用智能合約更昂貴的函數。如圖 8 所示,要登錄到一個新的設備或環境,用戶首先使用電子郵件 OTP 從雲端下載被 keystore 加密的用戶密鑰,並用 keystore 的密碼解密它。然後可以在本地使用該密鑰來啟動交易簽名。一旦用戶密鑰(client key)簽署了交易,Unipass 持有的另一個密鑰將自動參與簽名。Unipass 密鑰充當一個看門人,自動監視交易的內容,以檢查潛在的前端攻擊。

圖 11:UniPass 2/2 MPC-TSS 登錄流程

Unipass 還支持會話密鑰(session key),它被授權在預定義的條件下自動簽署交易,比如在一定的交易金額下、在一段時間內,添加白名單地址。這得益於智能合約的功能。使用會話密鑰可以極大地改善某些場景下(如游戲)的用戶體驗。

圖 12:我們對 Unipass 的評估

Gas 費用:低至中。創建賬戶的費用在 Polygon 上:80k-130k wei 為 $0.0033-$0.005(Gas 價格在 15-30 gwei,MATIC 價格為 $0.9)

延遲:中等

更換設備:中等。郵件 OTP + 密碼。用戶不能簡單地通過社交登錄導入賬號

安全性:高。黑客需要破解兩封郵件(地址和郵件之間的關係被 zk-tech 隱藏了)才能進入客戶的賬戶,這幾乎是不可能的。

非託管:中等。高服務可用性,即使 UniPass 官方停止服務,客戶仍然可以訪問他們的錢包;未發現託管行為。

功能性:高。UniPass 是一個智能合約錢包,因此它可以實現額外的賬戶管理邏輯。

總結

隨著 Web3 用戶轉換門檻的降低,越來越多的開發人員開始意識到錢包本身,以及它作為用戶流量入口的作用。過去,項目方要在無助記詞密鑰管理和自主保管之間取捨,現在,MPC 和智能合約減輕了這種壓力。分佈式託管解決方案,特別是 Unipass 的被動託管解決方案,為用戶和開發人員提供了最均衡的用戶體驗和安全特性。在接下來的 12 個月裡,隨著一批面向消費者的 Web3 應用程序的到來,這種均衡的解決方案可能會被更廣泛地採用。

圖 13:我們對領先的無助記詞錢包解決方案相關指標的評估

參考鏈接:

Unipass

Deck:

https://docsend.com/view/ntxvs952zwb3i2u

Doc: 

https://docs.wallet.unipass.id/docs/introduction/intro

Demo link:

https://v1.tryunipass.com/

https://lay2.notion.site/Process-Insight-and-Security-Model-of-UniPass-POC-e6017231e9514d13a075109ad8b9253d

https://coda.io/d/UniPass-Diffs_d6cYE1gn5bR/UniPass-vs-Argent-Sequence-Biconomy_suNwL

Sequence

https://docs.sequence.xyz/

https://docs.sequence.xyz/wallet/wallet-contracts/why

https://docs.sequence.xyz/wallet/key-management/social-login-wallets

https://support.sequence.xyz/en/articles/6465560-why-do-i-need-to-pay-to-deploy-my-sequence-wallet

Web3Auth

https://Web3auth.io/docs/overview/how-Web3auth-works

https://Web3auth.io/docs/overview/key-management/technical-architecture/

Particle Network

https://docs.particle.network/

https://docs.particle.network/security

Magic.Link 

https://www.dropbox.com/s/3flqaszoigwis5b/Magic%20Whitepaper.pdf?dl=0

OpenBlock

https://openblock-support.zendesk.com/hc/en-us/articles/7136544898843-Why-is-OpenBlock-secure-

Argent

https://www.argent.xyz/argent-x/

https://www.argent.xyz/blog/part-2-wtf-is-account-abstraction/

https://www.argent.xyz/blog/part-3-wtf-is-account-abstraction/

免責聲明:作為區塊鏈信息平台,本站所發布文章僅代表作者及嘉賓個人觀點,與 Web3Caff 立場無關。文章內的信息僅供參考,均不構成任何投資建議及要約,並請您遵守所在國家或地區的相關法律法規。