基於MPC的無私鑰錢包,Web3入口的“突圍者”
TechFlow Selected深潮精選
基於MPC的無私鑰錢包,Web3入口的“突圍者”
一場關於 Web3 的入口革命也許即將開始。
撰文:周教授,深潮 TechFlow
“朋友,歡迎來到 Web3 的世界。”
想象一位從 2012 年穿越而來的用戶,當你向他介紹 NFT、Defi、SBT、去中心化身份等新概念時,他必定會驚訝於 10 年來的飛速發展。
但如果這位朋友想要連接錢包體驗一番,卻發現弄丟私鑰時,他可能會更加驚訝的發現:
10 年來我們對加密資產的管理和錢包的使用方式,仍停留在比特幣誕生之初的蠻荒時代。
是的,私鑰仍舊是那個不變的、脆弱的阿喀琉斯之踵。無論這些年錢包形態如何改變,對私鑰的依賴絲毫未減。私鑰一旦丟失,一切萬劫不復。
同時,安全、妥善、合理的使用錢包變得頗具挑戰。
往近了看,今年 8 月份 Solana上 的 Slope 錢包,因儲存在服務器上的私鑰和助記詞洩露而導致了超 800 萬美金的加密資產被盜;而回顧歷史,一份來自 Chainalysis 的研究報告則顯示,截止 2021 年約有 20% 流通中的比特幣,因所有者不記得私鑰而丟失。
也許聰明的圈內人,早已在各種安全教訓中變的駕輕就熟;但對於想進入Web3世界的圈外新人,他們在入口處就會碰到攔路虎:
私鑰、助記詞和一般密碼到底有什麼區別?把一串單詞抄在紙上是個什麼操作?上哪找一個從不聯網的電腦儲存錢包文件?
對於普通用戶來說,這完全談不上是一個合格、友好、易懂的解決方案。更加誇張的是,直接外露底層技術來教育用戶的方式,居然持續了十多年。
到底是什麼決定了錢包今天的體驗和使用方式?我們是否又還有更好的錢包解決方案可用?
當錢包作為 Web3 世界的首要入口,承載著用戶身份、資產甚至聲譽時,這些問題的答案,與我們每個人都利益相關。
本文將試圖理清錢包的發展脈絡,並對現行各類解決方案的優劣進行對比,同時嘗試對以上問題做出回答。
蠻荒到現代,錢包形態變更史
歷史並非一蹴而就,而是一個漸進演化的過程。
從蠻荒古早的比特幣時代,到現在流行的 Web3,在整個行業十多年的變遷中,錢包也歷經了形態的不斷變化。
但所有的變化,都基於一個相對穩定的內核。
從技術角度來看,錢包的內核實際上是一個公私鑰管理器。基於非對稱加密等技術生成的私鑰,意味著用戶對錢包、地址(公鑰)、資產的絕對控制權。
圍繞著如何更好的保存和管理私鑰,各種類型的錢包都曾交出過自己的答卷。而將這些答卷放在一起審視,一部錢包形態的變更史就會躍然紙上。
以史為鑑,可以知興替。一次次形態變更的背後,也折射出錢包們的優缺點。
當我們試圖擁有更好的錢包體驗時,不妨看看從過去到現在都發生了什麼。
CEX代勞,尚未被感知到的錢包
在那個比特幣仍屬於小眾實驗的早期,整個行業都在野蠻生長。
無序、無畏中又帶有一些無知,勇敢的弄潮兒們可能還沒有完全理解錢包和私鑰的概念,跳進加密世界的第一步可能就是在中心化交易所中躍躍欲試的買賣。
此時,錢包尚未被感知,交易所的賬戶更多的充當了錢包的角色:用戶新建一個交易賬戶,其中會展示其擁有的資產金額和數量。
在這背後,你並不清楚這些數字是否真實對應著等額的加密資產。
往差了說,早期的交易所向你呈現的資產數量很有可能只是其數據庫中憑空生成的字段;往好了說,交易所也會為你生成了一個單獨的地址,方便記錄該地址的加密資產收發情況。
實際上,這是一種最早的託管錢包。
交易所代勞,替你保管著錢包裡的資產。你對資產的控制權並不來源於私鑰,而是依賴於交易所的自律和守序。
這樣做的好處是,你可以不考慮任何技術細節,方便直接的完成資產的管理、收發和買賣,只要記得登錄密碼就行;而缺陷也顯而易見,一旦交易所宕機、拔網線跑路,你的資產可能也會隨之消失。

2014 年,一度佔據全球 70% 交易份額的古早交易所 Mt.Gox,宣稱因黑客盜取了85萬枚比特幣暫停用戶提現,隨後宣佈破產倒閉。而這件事也成為行業發展中一個揮之不去的陰影。
當代勞讓你感知不到錢包,你也不會感知到風險的來臨。
軟件錢包,直面私鑰和助記詞
在交易所之外,早期擁有動手能力和技術背景的玩家們也在探索。
稍有年紀的讀者對下面兩張圖一定不會感到陌生。Bticoin Core,一個古老的比特幣錢包客戶端軟件,安裝後甚至還可以選擇同步所有比特幣歷史賬本的數據;MyEtherWallet,一個網頁端的以太坊錢包,可以通過網頁完成錢包地址的創建和私鑰的管理。

當今天的小狐狸(Metamask)網頁插件錢包更加普及時,上面兩位可能已經逐漸淡出視野。但它們都共同的指向了“軟件錢包”這個概念:
基於電腦本地、瀏覽器或者手機等環境,以一種可視化的軟件應用構建的錢包。
無論哪種軟件錢包,用戶都將直面私鑰和助記詞,並且承擔著妥善保管和備份它們的任務。而在早期錢包中,有的甚至還會選擇讓用戶備份 Keystore 文件——一份將私鑰以加密形式保存的 JSON 文件,並且需要輸入在錢包軟件中設置過的密碼才能解密。
私鑰、助記詞、錢包密碼。
這三者的技術原理和區別可能時至今日仍有大量用戶無法完全理解,將他們直接推向用戶也顯得過於原始和粗暴。
而這一切到底是怎麼來的?
目前的軟件錢包都基於公私鑰體系和非對稱加密,私鑰是一切的命門,掌控私鑰也就掌控了資產的控制權。
當用戶自己直面錢包時,實際上體驗已經經過了一輪優化:公鑰通過轉碼變成了用戶所看到的“錢包地址”,而私鑰其實是 64 位長度的 16 進制字符,不利記錄也容易記錯,所以早在 2013 年,比特幣社區就通過 BIP39 協議:用算法將私鑰轉換成了一串 12 ~ 24 個容易記住的單詞,也就是我們今天常見的“助記詞”。

但神奇的是,私鑰和助記詞體系在 10 年後的今天仍然沒有太大的改變。你還是必須牢牢掌控著私鑰,不可丟失,不可共享;同時也需要將助記詞小心翼翼地抄在一張紙上。
當用戶能夠通過錢包掌控自己資產的命運時,卻不可避免的面臨著一個單點失敗的擔憂:如果私鑰/助記詞都丟了,那麼一切都完蛋了。
而由於電腦、瀏覽器、手機等設備極易受到攻擊,運行在其上的軟件錢包又很容易成為靶子,保管私鑰就成為了一個兼具心理壓力和操作成本的事情。
據 CertiK 統計,2022 年至今因私鑰洩露而造成的損失至少已有 2.74 億美元,其中不乏例如 Wintermute 在內的行業專業做市商。專業機構尚會百密一疏,又何況普通用戶?

古早時期留下的私鑰/助記詞體系,也許永遠都是那顆會不定時引爆的炸彈。
硬件錢包,“硬盒”與“硬核”
當我們焦慮於如何更加安全的保管私鑰時,硬件錢包出現了。
從用戶視角看,硬件錢包就是一個單獨的盒子。其中可以存儲加密資產,在使用時需要將它連接到電腦等設備。
在使用軟件錢包時,由於私鑰文件大多時候保存在硬盤上,所以還是會有被攻擊的風險。而硬件錢包直接將私鑰文件被存儲在了硬件錢包的芯片中,即插即用。這樣一來做到了私鑰與網絡層的徹底隔離。
換言之,硬件錢包實際上創建了一個更加安全的私鑰保存環境。但這並非沒有代價。
想起硬件錢包,是否有點似曾相識?多年前網上銀行轉賬需要配合U盾使用,也是同樣的味道。

眾所周知,U 盾逐漸退出了歷史舞臺,其中一個相當重要的原因就是操作步驟相對複雜。對比今天流行的移動支付,它顯得笨拙且格格不入。
同樣的道理也適用於硬件錢包。為了給私鑰創造一個更加安全的離網環境,一個普通的用戶在交易時,需要額外購入一種硬件來專事專用,並且同樣需要學習如何操作以及妥善保管助記詞。
某種程度上,使用硬件錢包的硬核程度,比起軟件錢包有過之而無不及。
這並不是一種用戶友好的普適解決方式。如果在安全和易用間極端的選擇了前者,就註定意味著這隻適用於少數人和少數場景。
同時,事實證明硬件錢包也非 100% 的安全。早在 2017 年,在美國拉斯維加斯舉行的世界黑客大會 DEFCON 25 上,國外技術團隊就向觀眾演示瞭如何破解比特幣硬件錢包,過程最快不到 15 秒。

用硬件給私鑰創建更加安全的保管環境,看起來並不能完全解決私鑰本身的問題。
賽道在變,癥結不變
由遠及近,我們能夠看到在時間長河裡,錢包的管理主體、用戶界面、軟硬件等都發生了更替和演化,同時也衍生出了不同的小賽道。
但不變的是,私鑰仍然是令人擔憂的癥結。
將私鑰的管理權交給用戶,意義重大但責任更大,單點失敗始終是我們心裡的石頭,同時也制約著圈外新用戶大規模的進入、理解和體驗。
做一個不恰當的比喻,抱著一塊石頭在不同的賽道中跑步,只要你擔心石頭會掉落,就難以跑出最快的成績。
我們是否有辦法,突破私鑰的限制,讓錢包解決方案更加易用和安全?

MPC錢包,新時代的突圍者
當大多數錢包仍被困在那個由古老的私鑰/助記詞築成的圍牆內時,早已有人開始了另一個維度上的突圍嘗試:
去掉私鑰,去掉助記詞。
這聽起來有些離經叛道。當“私鑰即安全”的理念深入人心時,去掉私鑰反而讓人覺得更加提心吊膽。
但恐懼源於未知。得益於 MPC(安全多方計算)技術和區塊鏈簽名的結合,一種無需私鑰和助記詞的MPC錢包已悄然出現。
在由圈內知名安全審計機構慢霧(Slowmist)出品的《區塊鏈黑暗森林自救手冊》中,作者餘弦也提出,基於MPC的無私鑰方案應該儘快普及。

在對 MPC 的技術原理進行深入研究後,我們發現去掉私鑰並非是反直覺的。相反,它天然能夠解決目前大多數錢包中因私鑰所帶來的風險。
那麼,MPC 錢包解決方案的優勢到底在哪裡,體驗又有何不同?
由於相關的底層技術較為複雜,在此我們將摒棄過多的技術細節,力求通俗的對上述問題做出回答。
讓我們從兩個熟悉的場景開始:錢包創建和交易。
當你創建一個傳統錢包時,實際上會得到一對配套的公私鑰。其中公鑰通過某種轉換形成了你的錢包地址,可以公開給其他人看;而私鑰在自己手中,不可分享給他人。
接下來,你在錢包中發起了一筆交易。實際上你使用了自己的私鑰對交易進行了簽名併發出,即表示“我同意這筆交易”;其他人由於可以得到你的公鑰(地址),可以很容易的驗證確實是由簽名發出,於是經過一系列驗證後判定交易有效。

這時如果我拿到了你的私鑰,那麼我同樣也可以通過該私鑰簽名來執行交易,從而轉走你地址裡的資產。
這裡的問題在於,傳統的錢包採用的是單方簽名模式,對私鑰安全性的依賴極高。我們只承認私鑰的唯一性,而它的保管環境如何,背後是真正的主人或是小偷,無從識別。
而對於 MPC 錢包,情況稍有不同。
首先,錢包由多方共同創建。假設甲乙丙 3 方共同創建了一個錢包地址,基於多方計算密鑰生成協議,此時並不會生成一個單獨的私鑰,而是3方各自都會拿到一份密鑰碎片(keyshare)。
注意,3 方手上均不是完整的私鑰文件,而是 3 份不同的密鑰碎片。其中的任何 1 個碎片都不具備單獨掌控錢包地址中資產的能力,但每1個碎片都對應著同樣的錢包地址。
隨後,在交易發起時多方安全計算和多方簽名共同發揮作用。甲乙丙 3 方分別用自己所持的密鑰碎片,對一筆交易進行簽名,你可以通俗的理解為 3 份簽名碎片。
類似多籤錢包,你也可以設置一個簽名閾值,例如 3 個人必須都進行簽名,才能發起一筆交易。
此時,多方安全計算(MPC)會在不暴露每一份密鑰碎片的情況下,對3份簽名碎片進行彙總,從而形成一份完整的多方簽名。其他人也可以輕易的驗證這份完整的多方簽名與錢包地址的對應關係,從而判定交易有效。

在上述 MPC 錢包場景下,你並不用擔心私鑰的單點失敗問題。此時沒有生成一個單獨的私鑰,而是將私鑰分解成多個碎片並儲存在不同的地方,即使你手上的那個碎片被盜取,他人也無法通過單個碎片來控制錢包內的資產;
同時,如果你發現密鑰碎片丟失或者被盜,MPC 還可以執行密鑰碎片的刷新功能:用新的密鑰碎片,來替換每個人手上原有的密鑰碎片。此時被盜或丟失的密鑰碎片等於被“掛失”,失去了效力和價值;
最後,由於沒有私鑰的存在,你也不用再去嘗試記下助記詞,更不用擔心相關的保管問題。
這樣的解決方案與目前市場上依賴於助記詞和私鑰的錢包存在著技術上的明顯不同,從“妥善保管私鑰/助記詞”,到“何必保管私鑰/助記詞”,一詞之差可能會帶來用戶體驗和安全層級上的巨大區別。
回顧錢包形態的發展史,再將 MPC 錢包納入考量,可以發現它在私鑰和助記詞的頑症上的處理顯得更加合理和安全。同時,隨著相關產品的商用和推廣,舊的錢包解決方案也許會不可避免的受到衝擊。
錢包賽道里的新選手,正在從私鑰和助記詞的保管問題的高牆裡突圍。
以Bitizen為例,探索無私鑰/助記詞的新體驗
若覺得概念抽象,從真實的MPC錢包產品入手可能更直觀。
目前市面上面向普通大眾日常使用的且成熟可用的 MPC 錢包並不多,我們從安全性、易用性、抗審查、隱私和多鏈生態兼容這 5 個方面進行多方對比後,認為 Bitizen 錢包是各方面綜合處理得最好且方案最完善的。尤其是,它在不犧牲任何安全性(甚至還大幅提升安全性)、隱私和抗審查的前提下,將用戶使用 Web3 錢包的體驗直接提升到了跟 Web2 的產品一樣的簡單易用水平,這近乎完美地貼合了用戶對一個 Web3 錢包的所有需求和想象。
與傳統錢包創建時提醒抄寫助記詞形成對比,在 Bitizen 錢包的創建頁面,我們沒有看到任何關於私鑰和助記詞的提示。從點擊創建到生成,不到 5 秒鐘,非常絲滑。無助記詞和私鑰,也沒有過多理解成本,即來即用。

Bitizen 同樣會要求用戶對資產進行備份,但不是助記詞模式,而採用了常見的多因素認證:
用戶驗證自己的郵箱然後完成安全生物識別,確認多個特徵與備份文件相關聯,以便今後在任何時間任何地點都可以方便、安全地恢復資產;同時密鑰碎片會被加密,用於解密的鑰匙會被保存到僅由用戶自己掌控的雲盤內。多因素認證保障了任何其中一個因素被攻擊都不會對整體安全造成任何影響。例如,即使解密鑰匙本身被洩露,小偷會發現毫無作用,因為他無法與你的郵箱和生物識別等特徵匹配,竊取本身變成了一種徒勞。
此外,Bitizen 在 MPC 多籤設計上賦予了用戶更大的自由度。
你可以選擇新增一臺設備設置成 2/3 模式,此時你的設備 1、設備 2 以及 Bitizen 服務器擁有 3 份碎片,其中任意兩份合作即可確認交易。這也就意味著,你完全可以選擇繞過 Bitizen 錢包的服務器,僅用自己的 2 臺設備來創建一個聯合簽名來達成交易,完全掌控主動權。這就是除了安全性和易用性之外的又一個特性——抗審查。

你可能會覺得服務器、郵箱、生物識別和雲盤等非常不 Web3、中心化,甚至會擔心自己的隱私洩露,但在我們仔細瞭解 Bitizen 的設計方案細節後,發現其實際情況與直覺是完全相反的。
首先,這些讓我們感覺非常中心化的要素在 Bitizen 中都被設計成是一種可替換的(而不是必須依賴的),即使它們出了問題也並不會對用戶資產的安全性和可用性造成任何威脅。
其次,這些要素在 Bitizen 中都是被精心加密或脫敏處理,這些數據對於包括 Bitizen 在內的第三方都是無用的,僅有用戶自己可以解密和看到,因此完全不用擔心隱私洩露。
用 Bitizen 的資料中的描述來總結會更容易理解:即使是 Bitizen 的技術團隊也無法得知是誰在使用 Bitizen 錢包,即使 Bitizen 的服務器端數據被黑客完全掌控,即使Bitizen 的服務器宕機、關停甚至是團隊都跑路了,你的資產依然安全且依然可用,你的隱私也不會洩露。
Bitizen 和 Citizen 一詞之差,似乎也包含著希望更多人成為 Web3 數字公民的宏大願景;但我們卻也總是在強調著,用戶大規模進入 Web3 的世界尚需時日。
雖然羅馬並非一天建成,但對年久失修的城門入口進行更新換代,才是實現願景的可行之道。
類似 Bitizen 這類基於 MPC 技術的錢包不斷出現,必然將重構用戶走進 Web3 入口的方式和體驗。沒有私鑰和助記詞的困擾,更沒有服務器作惡的後顧之憂,這才是錢包產品應該向用戶呈現的姿態。
關於各類錢包的技術原理,一篇文章難以詳盡的展示。我們將在 10 月 21 日聯合 Bitizen 和其他錢包相關項目方、VC、行業 KOL 等嘉賓一起舉辦一個錢包的科普活動,用兩個小時時間,為大家更加詳盡的剖析各類錢包背後的技術原理,歡迎感興趣的朋友通過如下鏈接掃碼參與。
https://bit.ly/3sbCPWQ
也許正如馬克吐溫所說,歷史不會重複,但會押韻。那些不同的成功產品背後,都暗含著滿足用戶需求的相似韻腳。
當那個從蠻荒時代延續至今的私鑰/助記詞體系,對上逐漸展露頭角的 MPC 錢包,
勝利的天平尚未明顯傾斜,但一場關於 Web3 的入口革命也許即將開始。
歡迎加入深潮 TechFlow 官方社群
Telegram 訂閱群:https://t.me/TechFlowDaily
Twitter 官方帳號:https://x.com/TechFlowPost
Twitter 英文帳號:https://x.com/BlockFlow_News














