作者:@willshyzzz

編輯:@xinzhu4real

出品:@OpenBlockloveu

近日,黑客利用Chrome瀏覽器和iOS的數個0day 漏洞盜取大量用戶的加密錢包私鑰並轉移了其中的加密資產。安全機構漫霧@Cos(餘弦) 提出,目前存在一種原因未知的盜幣方式——即用戶的錢包私鑰在某些數據中被無差別採集,如在用戶的電腦文件夾或者手機相冊中被採集,當黑客發現這些數據中存有錢包私鑰,就有如拾荒者一般,“撿走”裡面的資產。

“0day”漏洞

首先科普一下,關於“0day” 漏洞的概念

第零日0day

你發現中午在食堂刷卡的時候,如果很快就取走卡,雖然刷卡機提示支付成功,但是實際上錢款並未扣除。

如果你是個壞人(黑客),你會選擇一直這樣白嫖午餐。

如果你是個好人(白帽),你會選擇向學校食堂上報。

當然,大多數情況下大家會猶豫。這種情況的漏洞即“0day” 漏洞。

第一日1day

學校食堂召開了反饋大會。在會議上老師們邀請大家提出意見或建議,還說如果意見恰當會給志願時長的獎勵,社會實踐加分。

你果斷匯報了這個情況,拿到了獎勵和加分。

老師們大驚失色,立刻聯繫工作人員維修,工作人員說幾個工作日內修好。

但同樣在會議室裡的同學們想,還能這麼白嫖?我不白嫖不虧了?

於是那一天的食堂裡出現了很多飛速刷卡的人,他們心滿意足地端著免費的午餐走了。這種情況的漏洞被稱為“1day” 漏洞。

第N日Nday

很多天以後,學校已經修復了系統。修復方法非常簡單,把“支付成功”的提示音延遲幾秒即可。不過這件事已經在校內發酵,甚至外校的人都知道了。於是,大多數大學的食堂系統都紛紛升級。你也因此登上媒體,廣受褒獎。但沒人想到學校的附屬高中用的也是同一套系統。你的表弟看見了新聞,照貓畫虎地試了一下。於是他吃了一頓免費的午餐。這種情況的漏洞是“Nday” 漏洞。

與此同時,各類軟件中尚未修復的0day漏洞時刻影響著加密用戶的私鑰安全和資產安全。即使傳統EOA錢包如MetaMask 堅持開源,也沒有遭受供應鏈攻擊,即私鑰未洩露的用戶保存在MetaMask 上的資產非常安全。但沒有人可以保證自己保存的私鑰絕對安全,例如沒有人可以保證記錄自己私鑰的紙條不會因受潮、失火、地震導致遺失或破損——這時就會發生“私鑰單點失效”事件。如同一個豪華的宅院,修建了一個豪華且足夠安全的大門,但卻沒有安全的牆院和圍欄來防止外人進入及意外事件的發生。沒有人能保證自己永遠不會犯遺失私鑰的失誤,因此不暴露私鑰在開放平台的產品一定是下一個週期熱錢包的趨勢。

以史為鑑可知興替

科技和技術的創新讓人們的生活越來越便捷,亦如智能手機和移動支付的普及大大減少了人們對於紙鈔的需求。

歷史節點1 紙鈔替代貴金屬

世界上第一張紙鈔誕生於公元1023年(中國宋代),稱之為“交子”,一開始作為私人票據,成為貴金屬、絲綢等貨物的等值替代物,可以理解為一種早期匯票。後續國家介入,開始印刷有統一面額和格式的交子,作為一種新的流通手段向市場發行。正是這一步步的發展,使得“交子”逐漸具備了信用貨幣的特性,成為了真正的紙幣。

歷史節點2 移動支付的出現替代現金

21世紀第二個10年,隨著智能手機的普及,移動支付走進千家萬戶,在中國大陸地區已經完成支付寶/微信支付的大範圍普及,二維碼支付極大簡化了人們的支付操作:掃碼-輸入密碼-完成支付的簡易流程不僅讓人們不再需要隨身攜帶大量現金,而且二維碼支持多人同時付款,極大地便利了買賣雙方。但同時二維碼也存在安全性差、二維碼釣魚等缺點。

自從移動支付普及後,人們對於現金的需求大大減少,可以說移動支付的大規模應用替代了人們對於紙鈔的需求(但並沒有替代對於貨幣的需求)。

歷史節點3 私鑰錢包出現

區塊鏈目前有兩種類型的賬戶:外部擁有的賬戶(externally owned accounts,即EOA)和合約賬戶。 EOA是用戶控制的賬戶,可以發送交易。 EOA通過其私鑰控制賬戶的所有權,可以通過簽名執行交易。其中私鑰是EOA所有權的唯一代表。

密鑰是錢包的管理工具,它包含一組成對的私鑰和公鑰,這是一一對應的。用戶使用私鑰簽名交易,從而證明該用戶擁有交易的輸出權,而輸出的交易信息是存儲在區塊鏈中的,公鑰則是用來生成地址。

傳統私鑰的弊端是:錢包內的資產不屬於用戶本身,而是屬於私鑰持有人,即任何持有私鑰的人均可以自由支配錢包內的資產,因此當黑客盜取錢包私鑰後,用戶沒有任何方法或者措施保護自己的資產或限制惡意登錄。就如同扒手盜取了別人的錢包,可以肆意消費錢包裡的現金。但是當移動支付普及以後,街頭巷尾的扒手數量越來越少,其中一個原因就是智能手機和移動支付的安全性非常出色。

歷史節點4 新類型錢包替代傳統EOA錢包

目前業界提出了2種EOA錢包私鑰解決方案,一種是基於TSS+MPC技術的“升級”方案,另一種是基於ERC-4337的“取代”方案。

智能合約錢包很早就出現了,如Gnosis Safe/Argent wallet,ERC-4337的提出是為了標準化設計智能合約錢包及其相關基礎設施的通用功能。但目前由於技術過於早期,且許多Layer2項目的賬戶抽像在技術實現上與以太坊主網存在差異。因此在比特幣即將減半的時間節點前,智能合約錢包在本輪週期內完成大規模應用並不現實。長期來看,EOA錢包及其升級方案有很大可能將被智能合約錢包取代。

如果?下一代錢包“消滅”了私鑰呢

目前市面上絕大多數的錢包產品大多Fork 了MetaMask 開源代碼,不論是從產品形態還是安全性上來說與MetaMask無異。大量用戶被迫使用EOA錢包來保管自己的資產,甚至為了安全性寧可將資產存到交易所中進行託管(與加密世界的自託管、去中心化思想相悖)。 MPC 錢包的出現,作為EOA 錢包的“升級”方案,不僅引入了社交登錄、社交恢復等安全方案,還改變了私鑰的存在形式,從用戶體驗上“消除”了對於私鑰的感知。

MPC,全稱為Multi-Party Computation,是一種重要的加密安全措施。 MPC並不是一項劃時代的新技術,早在20世紀80年代就由華人科學家姚期智先生(圖靈獎得主,Conflux 創始人)提出。 MPC 技術使得可以通過將“機密信息”分成多個部分來進行編程式的保護,這樣沒有單個參與者知道底層的“真相”。也正因為如此,沒有單個參與者可以重構或洩漏機密信息。

MPC錢包,通俗講是將一份乃至多份私鑰經過二次加密,再將二次加密得到的密鑰分片化並發送至多個計算方來處理。當發起交易需要私鑰簽名時,則將分片組合解析形成一個完整的私鑰。一般來說,用戶本地設備保存一份密鑰分片(Sharding)、錢包服務器保存一份、可信第三方再保存最後一片。

所以使用MPC 技術完成鏈下交易簽名具有巨大的優勢:

速度:更快地完成交易簽名,因為MPC 密鑰分片不依賴於底層區塊鏈TPS以完成交易。

成本:在鏈下計算的簽名不會產生網絡費用(無Gas 費)。

隱私:鏈下簽名無法在公開區塊鏈上查看,這可以防止交易信息被披露,從而防止潛在攻擊者了解敏感的簽名方案與工作流程。

兼容性:雖然多重簽名加密錢包與特定區塊鏈相關聯,但MPC 基於標準化的加密簽名算法(ECDSA),可在95%的區塊鏈上完成部署。

靈活性:鏈下分佈式簽名允許更複雜的治理方案,可以更輕鬆地配置以適應企業級管理需求並遵守監管要求。

給錢包一個增加容錯率的機會

由“私鑰單點失效”導致的錢包私鑰被盜/丟失情況,在MPC 錢包中完全可以避免。

以MPC 錢包OpenBlock 為例:創建賬號後,服務器會自動將本地設備的密鑰分片發送至設備中,並驗證設備ID。同時用戶需要設置自己的社交登錄賬號、支付密碼、2FA 驗證等多項生物信息,使錢包無限接近傳統移動支付的安全性和使用體驗。

本文第一章結尾提到,“沒有人能保證自己永遠不會犯遺失私鑰的錯誤”。不論是當自己因為疏忽導致私鑰丟失,還是私鑰被黑客惡意盜取。在MPC 錢包的使用中,未經驗證密鑰分片的設備首先無法登錄至錢包內,即使突破驗證信息登錄至錢包,沒有支付密碼也無法將資產轉出。

若用戶不慎遺失本地設備或登錄信息,在服務器端申請重新分配一個密鑰分片即可找回錢包。面對0day 漏洞等系統風險時,黑客獲得的密鑰分片僅僅是登錄錢包的部分必要信息,登錄憑證不足致使黑客無法進入錢包並盜取資產。錢包容錯率得大大提高讓MPC 錢包的大規模應用成為可能。

所以開放的環境裡不應該存儲私鑰。因為開放的環境,總是有0day的漏洞。 MPC 方案可以認為是一個很好的避開0day 漏洞的錢包方案。

Web3 SuperApp

Web3 SuperApp 可以理解為殺手級應用,所謂殺手級應用,就是用戶每天都習慣使用的入口,只要是跟加密相關的產品,用戶都會想起和使用,這個思考的過程會構建起一個完整的用戶心智模型。

目前為止,稱得上加密行業殺手級應用的產品,目前僅有中心化交易所App。目前中心化交易所App的用戶和訪問量最大,集成的應用也非常豐富。但是當2022 年一系列的暴雷事件後,中心化交易所App 成為行業最大的SuperApp 幾乎不可能,因為交易所的中心化在加密行業天然無法獲得用戶的全部信任。

SuperApp 即用戶使用加密服務的起點,類似支付寶/微信一樣的應用入口,有任何服務需求都會第一時間點開該應用搜索服務。因此Web3的SuperApp需要用戶可以在這裡可以購買到絕大部分資產,具有跨鏈屬性,提供DeFi服務,用戶可以自由出入金,最重要的是用戶可以完全掌控自己的資產,隨時存取且百分百可以取出。這也是目前Uniswap 和1inch 迫切推出自己的應用錢包的根本目的——想成為行業第一個去中心化SuperApp。

按照該產品邏輯,未來行業內一定會出現一個去中心化的交易應用App,它可以讓用戶安全的自我託管資產,可以交易所有鏈的資產,可以打通絕大部分應用的連接,還聚合了大部分理財業務。這樣的一個SuperApp 基本由三部分構成,有前端的用戶界面,中台的聚合服務以及後台的全鏈支持和跨鏈服務。

綜上所述,MPC 錢包非常有可能成為替代傳統EOA 錢包完成大規模普及。因為自2021年起,許多加密用戶通過NFT/ 遊戲開始了解Web3和加密貨幣。他們不願也不想了解私鑰錢包的工作原理和保存方式。他們只想買到很酷的NFT 或者體驗自己喜歡的遊戲。因此提供與傳統互聯網相似的社交登錄方式,輔以MPC無私鑰的安全方案以及錢包賬號找回功能。在比特幣減半前後以及Layer2 生態即將爆發的下一輪繁榮市場中,MPC錢包相比合約錢包更可能先一步完成大規模普及並誕生第一個Web3 SuperApp。

人不是機器,是人就會犯錯誤,在加密行業亦是如此,每個人都值得再來一次的機會。落後於時代的產品,應該被丟棄到歷史的滾滾洪流中。