常用的插件錢包,如metamask,工作原理是通過BIP 32、39 協議生成助記詞-種子-公私鑰,每次交易也需要私鑰明文參與。

而MPC 錢包則僅有密鑰分片,且保存在不同的設備上;所以MPC 錢包在簽名交易的過程中不會暴露明文私鑰,即使用戶的設備被入侵,黑客也無法獲取完整私鑰。但還有一個後置風險擺在用戶面前......

近期錢包的私鑰安全再一次成為了輿論焦點。在今年3月初,大量擁有ARB空投的地址被洩露私鑰,引發了一場科學家的“橫財盛宴”;早前,一位行業OG的推特發出警示:“發現一種新型盜幣方式,在國外的KTV裡,詐騙團伙悄悄把KTV的共享充電寶改裝了並植入了惡意程序,客人在KTV裡唱歌、喝酒消費啥的一待就是大半天,手機很容易沒電,然後就去借充電寶,結果你以為充電寶在給自己手機充電,結果是在讀取手機裡的數據、竊取錢包裡的私鑰。”

普通的web3.0玩家如何在鏈上黑暗森林中保護自己的錢包資產,避免悲劇發生?

目前逐漸普及的解決方案是MPC錢包,但其工作原理如何?使用後就真的徹底安全了嗎?本文將為大家精準科普。

首先,MPC(Multi-party Computation) |多方計算,是清華大學姚期智教授在1982年提出的零知識證明技術路徑,在實際應用場景中,涵蓋大量現代密碼學技術,如RSA、ElGamal和ECDSA等公鑰密碼學算法,及Shamir秘密共享協議等。這些技術的結合使得MPC具有高度的安全性和可擴展性,並確保以下的安全訴求:

  • 分佈式加密可使得數據被分割為多份,分別存儲在不同的參與方處,從而避免數據洩露風險;

  • 零知識證明可以證明某個事實的真實性,而無需透露與該事實相關的其他信息;

  • 秘密共享則可以將信息分發給多個參與方,從而確保信息整體不會被任何一方獨立控制。

將MPC概念應用在錢包產品中,目前行業的通用方法是:

  1. 每個錢包的管理人(參與方)都會持有一個密鑰分片;

  2. 並在需要交易時,由一定數量的參與方合作,並且在TEE(一種可信的加密執行環境)中才能重建出完整的私鑰,並完成簽名過程。

這種業務流程使交易的過程中不會暴露明文私鑰。即使用戶存放密鑰分片的設備被入侵,黑客也無法獲取完整私鑰,從而提升安全性。

不難發現,通過MPC 技術實現的多簽錢包,和Safe(即Gnosis)等通過智能合約實現的多簽錢包相比,核心差別為:智能合約多簽錢包通過私鑰(區塊鏈地址)參與實現多重簽名,依然存在參與方私鑰被竊取的風險;而MPC錢包的參與方並不掌握完整私鑰,而是通過密鑰分片實現門限簽名(Threshold Signature Scheme),從而消除了單點風險。

但資產就從此徹底安全了嗎?顯然不!

MPC錢包雖然實現了簽名流程的安全,但將一個後置風險【分片安全管理策略】擺了在用戶面前。

MPC錢包的密鑰分片管理策略,目前市場有三種主流:【自託管模式】【混合託管模式】【中心化託管模式】。其中,【自託管模式】最貼合硬核的crypto native理念:需要用戶自行管理助記詞和所有密鑰分片,一旦助記詞、所有保存分片設備全部丟失,則資產將在鏈上陷入沉睡;而【混合託管模式】【中心化託管模式】策略雖然可以實現例如陌生設備recover、社交恢復等功能,但因為分片託管方無法100%消除人性作惡的風險,所以安全性和CEX一樣,嚴重依賴創始人的信譽。

(如果有產品宣傳:既能實現recover,又是自託管模式,是自相矛盾的,建議立即遠離!極大機會是一個“殺豬盤”!)

於是,用戶在選擇MPC錢包時將面臨魚與熊掌的難題:1、選擇【自託管模式】產品,然後用更多精力和成本保護助記詞;2、選擇【混合託管模式】和【中心化託管模式】產品,享受接近web2.0的使用體驗,但必須信任產品運營方不會作惡。

綜上所述,MPC錢包的安全性除了與簽名流程相關,也與密鑰分片的管理策略相關。

【自託管模式】更適合企業級用戶:追求徹底安全、且有足夠的人力和資源確保自己的助記詞和儲存分片的設備不會全部同時丟失;而【混合託管模式】【中心化託管模式】則更適合普通web3.0玩家:資金體量小、且持倉分散,對中心化場景有剛需,所以習慣相信人性(即使遭遇類似FTX的災難,損失也相對較少)。

但筆者認為,當用戶將資金從中心化機構提取,無論個人抑或團隊都必然希望獲得更高的安全級別,【混合託管模式】【中心化託管模式】與用戶的意願顯然是矛盾的。而以太坊的EIP-4337 的發布,意味著將來DAPP 可以通過賬戶抽象的技術路徑,為用戶提供支持社交登錄、社交恢復等接近web2.0 產品體驗的服務,而基於其特殊的使用場景(鏈遊、社交等),用戶對安全性的敏感度亦相對較低;這種業務模式對【混合託管模式】和【中心化託管模式】的產品市場必將造成極大衝擊,甚至可能讓這類產品在EIP-4337 正式落地後被徹底淘汰。