Web3無助記詞錢包:安全性和便捷度的取舍
「無助記詞」本質是一種取舍:用較低安全級別存儲密鑰的方式,來提升用戶登錄便捷度。
1. 為什么需要無助記詞錢包
「無助記詞錢包」并不是任何一種具體的錢包技術,而是一種功能體驗:用戶不再需要保管復雜的助記詞,而是通過郵箱密碼即可登錄。由此,用戶使用錢包的門檻大大降低,使用體驗上接近 Web2 產(chǎn)品。
這類錢包的本質是允許密碼丟失,也就是在密碼丟失的情況下仍然可以保全資產(chǎn)安全、并且最終恢復對錢包的訪問。所以,用戶不再需要謹小慎微地在線下自行保管助記詞,而是可以用安全級別較低的方式來存儲密碼,包括云端存儲、移動端本地存儲、第三方托管等等。如此,產(chǎn)品就可以在用戶體驗上做文章,設計新手友好的登錄體驗。
實現(xiàn)無助記詞有多種技術路線,包括 MPC、智能合約等。但不論何種技術,在獲得使用便利性的同時,也都存在某種信任假設——或是需要信任托管中介、或是需要信任智能合約,錢包的安全性并不唯一掌握在用戶自己手中。對于安全要求極高的人來說,這未必是個最佳選擇;但是對于普羅大眾而言,無助記詞錢包確實能夠降低 Web3 的進入門檻。
2. 無助記詞錢包有哪些實現(xiàn)方案
本文介紹市面上主流的三種實現(xiàn)方案。
2.1 MPC 錢包
第一種主流的方式是 MPC(Multi-party Computation,多方計算)。這是一種鏈下的解決方案,是錢包之外的另一層技術,換言之可以和任何類型的錢包結合,使用了 MPC 技術來保管私鑰的錢包都可以稱作 MPC 錢包。
MPC 錢包使用 SSS 或 TSS 技術生成私鑰的多個分片,分發(fā)給多個參與方。在使用錢包時,各方通過自己的分片,在不暴露每一方分片的情況下,生成完整的數(shù)據(jù)來簽名。
MPC 錢包可以靈活地設置閾值策略,比如可以要求 3 個分片中至少 2 個分片參與簽名,也可以要求 2 個分片全部參與簽名。但是需要注意,雖然允許密碼丟失,但是分片的存儲方案仍然會影響錢包安全,比如由項目方托管的存儲更多依賴于項目方不作惡。目前 MPC 錢包的閾值策略和存儲方案并不統(tǒng)一,還沒有一個行業(yè)標準;每種錢包所使用的不同方案,也體現(xiàn)了不同的安全設計策略。
MPC 錢包的私鑰分片方案可以有效避免單點故障:即使丟失了單個分片,也可以保全錢包內資產(chǎn),而且可以在不改變私鑰的情況下更新各個分片,做到密碼恢復。此外,MPC 錢包的所有實現(xiàn)都在鏈下,最終只生成一個私鑰簽名,因此相比智能合約的多簽更節(jié)約資源。
典型的 MPC 錢包包括 Web3Auth、Particle Network、Openblock 等。
Web3Auth 采用 SSS(Shamir Secret Sharing,Shamir 私鑰分割)方案來進行密鑰分割。SSS 區(qū)別于 TSS(Threshold Signature Scheme,門限簽名方案)的地方在于,SSS 需要首先由單方生成一個私鑰,然后再通過密碼學分割私鑰并分發(fā)給各方,簽名時也必須先重構完整私鑰,因此私鑰仍然有在前端暴露的風險;而 TSS 不論在密鑰生成還是簽名的階段,都是通過分布式計算進行、而不需要進行重構,因此避免了暴露風險。SSS 方案使得 Web3Auth 存在一定安全缺陷,MPC 錢包的后起之秀通常都使用 TSS。
下圖展示了 2-3 模型,也是 Web3Auth 采用的基礎模型,即需要 3 個分片中的 2 個分片參與才能完成簽名。其中,設備分片存儲在用戶的本地設備中;OAuth 登錄分片由節(jié)點網(wǎng)絡進一步分割存儲;備份分片由用戶自行存儲,可以存儲在單獨的設備或通過密碼訪問。
來源:https://web3auth.io/docs/overview/key-management/
用戶在登錄時,首先通過 Gmail 等第三方登錄,獲得 OAuth 登錄分片;再用存儲在本地設備的設備分片,就可以重構完整私鑰。當用戶登錄新設備時,必須同時用到第三個分片,也就是備份分片來實現(xiàn)登錄。此外,通過用戶也可以自己設置不同的閾值模型,比如 3-4、4-5 等等。
來源:https://web3auth.io/docs/overview/web3auth-for-wallets
Particle Network 采用 TSS,相對 SSS 更安全。其閾值模型采用 2-2,客戶和官方分別保管一部分分片??蛻舳说姆制? Particle 或第三方云服務提供商存儲在云端,通過郵件 OTP 或社交登錄驗證后調用。但是,客戶端密鑰本質上不受保護,服務提供商可以訪問該密鑰,這一方案依賴于客戶信任 Particle 或者第三方提供商。
獲客方式是所有錢包都面臨的難題,因為絕大部分 ToC 市場都已經(jīng)被占據(jù)。Web3Auth 和 Particle Network 都采用 ToB 策略,通過服務項目方來獲得用戶量。值得一提的是,使用了 Particle Netowork 錢包服務的 Web3 游戲 Power of Women 曾一度登頂美國區(qū)谷歌商店游戲總榜,成為了 Web3 游戲破圈的一個標桿案例。MPC 錢包提供了絲滑的登錄體驗,對于 Free to Play 的游戲來說是一個非常重要的降低門檻的方式,可以預見未來低門檻的 Web3 項目很可能會大規(guī)模采用類似的登錄體驗。
來源:https://foresightnews.pro/article/detail/14777
2.2 智能合約錢包
上文說的「MPC 錢包」是使用了 MPC 技術來保管私鑰的錢包,「智能合約錢包」則是錢包本身的一種類型。
在 EVM 有兩種錢包類型,一種是 EOA 錢包(Externally Owned Accounts ,外部控制賬戶),由任何人通過私鑰控制;另一種是 CA 錢包(Contract Accounts,合約賬戶),部署在區(qū)塊鏈上,由合約代碼控制,這也就是智能合約錢包。
目前我們使用的絕大多數(shù)錢包都是 EOA 錢包,如小狐貍。事實上,智能合約錢包由于可以自定義合約代碼,實現(xiàn)的功能遠比 EOA 錢包豐富,例如賬戶找回、預設執(zhí)行邏輯等;但是目前普及度并不高,主要是由于使用成本高,每筆交易都會比 EOA 錢包多出一筆 gas fee。因此,目前的使用場景主要在于「多簽」這樣的機構管理層面,個人用戶采用較少。此外,智能合約錢包沒有私鑰、無法驗簽,因此交易實質上仍然需要由一個 EOA 錢包來調起,個人用戶如果要用智能合約錢包,還需要另外保管 EOA 錢包密鑰,仍然有較高的復雜度。
在針對個人用戶的智能合約錢包賽道,Argent 是一個先行者,2019 年就開始運營至今。Argent 包含兩個產(chǎn)品:
1)移動端 App 錢包「Argent」,在 ETH 和 zkSync 上,實現(xiàn)無助記詞功能;在 ETH 上還有「Argent Vault」產(chǎn)品,提供社交恢復功能;
2)瀏覽器插件錢包「Argent X」,只在 StarkNet 上,是基于賬戶抽象(Account Abstraction)的錢包,后文會再做解釋。
我們先來看第一個產(chǎn)品,移動端錢包 Argent,其中的「Vault」也就是傳統(tǒng)的智能合約錢包。
前文說過,EVM 上的智能合約錢包沒有私鑰、無法驗簽,發(fā)起交易時仍然需要另一個 EOA 錢包,因此使用 Argent 移動端時,實質上是首先生成了一個 EOA 錢包,接著再生成一個智能合約錢包「Vault」,這一步需要額外支付 gas fee。
「無助記詞功能」是在生成 EOA 錢包這一步,通過手機本地存儲私鑰來實現(xiàn)的。用戶只需要郵箱或者電話就可以注冊生成 EOA 錢包,私鑰存儲在手機本地、無法導出;與此同時會有一份備用私鑰存儲在云端,在用戶更換設備時使用。具體步驟為:備份私鑰被加密后存儲在用戶的 iCloud 云端,而解密密鑰由 Argent 掌握。用戶更換設備時,從 iCloud 獲取加密后的私鑰,再通過郵件電話驗證后從 Argent 獲取解密密鑰,從而獲得備份私鑰。此外,Argent 在發(fā)送解密密鑰前等會先通知用戶并等待兩天,給用戶充足的緩沖時間,防止盜竊行為。
Argent 移動端產(chǎn)品界面
「社交恢復功能」在是在生成「Vault」后,通過智能合約錢包實現(xiàn)的,目前只在 ETH 上。值得一提的是,目前「Vault」功能只針對 5 萬美元以上存款的用戶才提供,門檻不低。設置 Vault 后,用戶可以添加 Guardians(守護人),可以是任何錢包,包括 EOA 或者 CA,這些被指定的錢包在用戶丟失密鑰后可以簽名生成一個新的賬戶設定為錢包 Owner,以此來實現(xiàn)社交恢復。此外,錢包 Owner 還可以設置是否需要 Guardians 批準交易、是否在指定時間段內任意交易等等。
Argent 移動端產(chǎn)品界面
根據(jù) Dune 顯示,目前有 7 萬多個 Argent 合約錢包,總計存儲了 7.6 萬個 ETH。
接著再來看第二個產(chǎn)品,瀏覽器插件「Argent X」。事實上,Argent 公司近期的高估值更多是由 Argent X 之稱的,因為這是 StarkNet 上的第一個錢包,也是基于賬戶抽象的錢包,代表了錢包賽道的新方向。
「賬戶抽象」是以太坊社區(qū)對于錢包發(fā)展方向的一個共識概念,可以簡單概括為:將 EVM 中的實體 (賬戶) 與移動資產(chǎn)的所有權的實體 (密鑰對或簽名者)進行解耦,換言之就是把所有賬戶都變成 CA[2]。前文提到,EOA 和 CA 是 EVM 中的兩種賬戶類型,CA 無法驗簽,因此必須依賴 EOA 主動發(fā)起交易;而在實現(xiàn)了賬戶抽象后,CA 將不再依賴 EOA 就可以發(fā)起交易,實現(xiàn)更多的自定義功能。
聽起來很美好,但這里仍然有很多問題,一是技術實現(xiàn)上仍然有很多工作,比如 Argent X 現(xiàn)在的功能非常有限,還沒有做到在 ETH 實現(xiàn)的 Guardians 社交恢復功能;二是智能合約錢包歷來面臨的 gas fee 問題依然存在,在 Layer2 上雖然有所好轉,但是依然不如同鏈上的 EOA 錢包。gas fee 問題最終的解決方案,是通過批量交易來攤薄額外支出,從這一點來講智能合約錢包確實是未來的發(fā)展方向,有潛力做到比 EOA 錢包更便宜。當然,這就要看賽道上各路英雄的開發(fā)速度了。
2.3 MPC+ 智能合約的混合方案
前文介紹的「MPC 錢包」和「智能合約錢包」其實是兩個維度的描述,前者是疊加在錢包之外的一層鏈下驗證技術,后者則是錢包本身的一種類型(相對于 EOA 錢包)。這兩種錢包并不沖突,事實上也確實存在兩者相結合的混合方案:Unipass 就是在智能合約錢包的基礎上,疊加了 MPC 技術。
智能合約錢包的典型功能,就是可以設置多個密鑰來管理同一個賬戶。例如在 Argent Vault 中,用戶可以添加 Guardians,在在用戶丟失密鑰后生成一個新的賬戶并設定為錢包 Owner;在 Gnosis Safe 中,用戶可以添加多個錢包來實現(xiàn)門限簽名。Unipass 同樣通過一系列具有角色權重的密鑰來管理賬戶,較之 Argent Vault 和 Gnosis Safe 更為豐富,主要有三種角色:
1)Owner:設定為這類角色的密鑰可以控制賬戶,有最高權限;
2)Operator:這類密鑰可以轉賬、交互合約、授權等,是用戶最常用的角色;
3)Guardians:這類密鑰可以在其他密鑰丟失時,用來恢復賬戶,效果等同于 Argent Vault 的社交恢復。Unipass 更先進的地方在于,Argent Vault 只允許綁定 EOA 錢包作為 Guardians,而 Unipass 則可以綁定郵箱而非錢包來做社交恢復,大大降低了用戶門檻。
來源:https://docs.wallet.unipass.id/architecture/key-management
上述功能體現(xiàn)了智能合約錢包的特性,而 MPC 則體現(xiàn)在上圖中的 Master Key 中。Master Key 是默認會為用戶生成的主密鑰,包含 Owner 和 Operator 角色,可以說是 Unipass 賬戶中最重要的密鑰,而這一密鑰的生成管理使用了 MPC 技術。
MPC 方案在分片存儲上存在這樣一個困境:如果客戶端分片由用戶保管,那么就存在丟失風險;如果客戶端分片實質上仍然由第三方保管(如 Particle Network),就存在中心化風險,密碼可以被服務商訪問。Unipass 選擇了前者:客戶端分片中的 Password 由用戶自己保管,允許丟失,萬一丟失的情況下可以通過 Guardians 來進行社交恢復。相對于純 MPC 錢包,Unipass 在保持去中心化的前提下,通過智能合約的社交恢復來保證賬戶安全。
來源:https://docs.wallet.unipass.id/architecture/master-key
此外,Unipass 也支持 ERC-4337 協(xié)議,未來可以提供賬戶抽象所實現(xiàn)的功能。
3. 總結
本文從「無助記詞」的場景出發(fā),探討了幾種典型的實現(xiàn)方式。第一種是以 Web3Auth 和 Particle Network 為代表的純 MPC 錢包,這類錢包仍然是 EOA 錢包,只是將私鑰分片。MPC 方案簡單高效,但是面臨中心化或者密鑰丟失風險。第二種是以 Argent 為代表的智能合約錢包,Argent 通過手機本地存儲密鑰來實現(xiàn)無助記詞功能,并通過智能合約的社交恢復來保障賬戶安全,應對密鑰丟失。第三種則是 Unipass 的 MPC+ 智能錢包混合方案,將最主要的密鑰通過 MPC 技術實現(xiàn)無助記詞,再通過智能合約的角色權重管理來實現(xiàn)社交恢復,達到和 Argent 一樣的目的。
可以看到,「無助記詞」本質是這樣一種取舍:用較低安全級別存儲密鑰的方式,來提升用戶登錄便捷度。相應地,要么用部份托管的手段來應對密鑰丟失風險,要么通過智能合約的社交恢復來保證安全。智能合約錢包并不能直接實現(xiàn)無助記詞功能,但是其社交恢復卻能給低安全級別的密鑰存儲帶來托底保障,而且去中心化的實現(xiàn)方式更符合 Web3 價值觀。
不過另一個值得思考的問題是:什么樣的用戶需要無助記詞錢包?Web3 用戶幾乎人手多個小狐貍賬號,是否會注冊新錢包完全取決于項目方集成了什么錢包,在這樣的背景下,無助記詞錢包似乎更適合 Web2 用戶。但是這部分用戶原本就是需要教育、獲客成本更高的群體,很難轉化成高價值 Web3 用戶。無助記詞錢包面臨著類似社交賽道的問題:如何吸引大批量、低資產(chǎn)屬性的用戶。
參考資料:
[1]https://mp.weixin.qq.com/s/TF2FCQDyyApzEVHQjxgZRg
[2]https://www.ethereum.cn/Technology/account-abstraction
以上就是Web3無助記詞錢包:安全性和便捷度的取舍的詳細內容,更多關于Web3無助記詞錢包介紹的資料請關注腳本之家其它相關文章!
你可能感興趣的文章
-
助記詞可以破解嗎 私鑰助記詞碰撞是否可行
最近經(jīng)常有人說給我們提供一個地址,讓我們定性破解對方私鑰,我可以明確告訴你,因為現(xiàn)在物理硬件的限制,定向暴力破解單個地址的可能性幾乎為0…
2024-07-15 -
助記詞24個單詞比12個單詞對比、轉換、安全性分析
隨著區(qū)塊鏈錢包的發(fā)展和分層確定性(HD)錢包技術的普及,越來越多的用戶開始熟悉了一個叫“助記詞”的概念,很多人都已經(jīng)習慣了從一開始使用一個錢包的時候,就先抄好單詞…
2024-07-11 -
如何安全的存放助記詞?私鑰與助記詞的差別
助記詞和私鑰是常見名詞和常用工具,私鑰是掌握與管理加密錢包的關鍵要素,助記詞是由 12 到 24 個易記的單詞組成,它是加密錢包的另一種備份方式,本文小編給大家介紹了如…
2025-04-22 -
虛擬幣錢包中的私鑰、助記詞、密碼分別是什么
對于虛擬幣,若想保存就需要使用虛擬幣錢包,比如bitpie、imtoken等,在使用錢包的過程中有幾個名詞你必須清楚,必須、必須、必須,如果在不清楚的情況下就貿(mào)然使用錢包,…
2023-12-19 -
助記詞和私鑰用什么保存才不會丟失?
私鑰保存的常見錯誤是將私鑰保存在云盤、云筆記、郵箱中,或者用手機拍照保存,這都是非常危險的容易泄露私鑰的方式,那么,助記詞和私鑰用什么保存才不會丟失?助記詞和私…
2023-12-05 -
如何恢復丟失的助記詞? 恢復丟失的助記詞的三種常用方法
助記詞(Mnemonic Phrase)是一種用于恢復或遷移加密貨幣錢包的方法,它由12個或24個單詞組成,如果你不幸丟失了你的助記詞,你是否還有機會恢復你的錢包呢?在這篇文章中…
2023-10-18 -
一文搞清楚比特幣助記詞是什么
比特幣助記詞在加密貨幣市場中并不少見,因為當投資者創(chuàng)建他們的第一個加密錢包或相關帳戶時經(jīng)常會遇到它,簡單的介紹還不能夠了解比特幣助記詞是什么?接下來小編帶大家一…
2023-09-15 -
私鑰和助記詞都丟了怎么辦?怎樣保存私鑰和助記詞?
錢包的安全一直是大家都在討論的一個話題,對于錢包而言,保證私匙和助記詞的安全性至關重要,所以使用錢包的第一要點就是,安全地備份好自己的私鑰/助記詞,但用戶總會擔心…
2023-09-07 -
導入錢包助記詞怎么填寫? 導入錢包助記詞格式錯誤怎么辦?
幣圈投資者在更換設備時,需要將原來的錢包助記詞導入到新設備中來進行管理自己的數(shù)字貨幣資產(chǎn),但往往有一些投資者可能會遇到輸入助記詞不正確的提示,因此對于很多投資者…
2023-08-31 -
助記詞被別人知道了怎么辦?助記詞泄露錢包還能繼續(xù)用嗎?
在投資者進行注冊錢包時,會自動生成助記詞,通縮來說助記詞就相當于錢包的一個重要密碼,也可以說助記詞是數(shù)字貨幣資產(chǎn)的一種保險柜,如果一旦出現(xiàn)助記詞被別人知道的情況…
2023-08-29