探索Web3錢包安全問題:以太坊社區需要什麼樣的恢復系統?
BlockBeats 律動財經 2022-08-11 10:30
讓加密貨幣和區塊鏈應用程序對普通用戶可用的最大挑戰之一是安全性:我們如何防止用戶的資金丟失或被盜?丟失和盜幣是一個嚴重的問題,經常使無辜的區塊鏈用戶損失數千美元,甚至在某些情況下浪費了他們的大部分凈資產。
多年來,人們提出了許多解決方案:紙錢包、硬體錢包和我曾經最喜歡的多重簽名錢包。事實上,它們已經導致了安全方面的顯著改善。然而,這些解決方案都有各種各樣的缺陷——有時提供的防止盜幣和丟失的額外保護遠遠低於實際需要,有時使用起來很麻煩,導致很少被採用,有時兩者兼而有之。
2021 年初 v 神提出一個替代方案並在今年 5 月份的《去中心化社會:尋找 Web3 靈魂》一文中再次強調:一種更新的智能合約錢包,被稱為「社會恢複錢包」(social recovery wallet)。與以前的選擇相比,這些錢包有可能提供高水平的安全性和更好的可用性,當以太坊生態系統大規模遷移到 rollup 二層方案,可有效解決社會恢複錢包當前面臨的兩大問題:(1)依賴中心化的中繼器(relayer),(2)高交易費用。DAOrayaki 社區對社會恢復系統系列提案進行梳理並匯總成此文。這篇文章將討論什麼是社會恢複錢包、社會恢復系統的替代用例以及用戶反饋。
一、社會恢複錢包
社會恢復系統的工作原理如下:
只有一個「簽名密鑰」可用於批准交易
至少有 3 名 ( 或更多 )「監護人」,其中大多數人可以合作更改帳戶的簽名密鑰。
簽名密鑰具有添加或刪除監護人的功能,但需要經過一段時間(通常為 1-3 天)之後才可以。
在所有正常的情況下,用戶可以像普通的錢包一樣簡單地使用他們的社會恢複錢包,用他們的簽名密鑰簽署消息,這樣簽署的每一筆交易都可以通過一次確認快速完成,就像在「傳統」錢包(如 Metamask)中一樣。
如果用戶丟失了他們的簽名密鑰,這時社會恢復功能就會啟動。用戶只需聯繫他們的監護人,讓他們簽署一項特殊的交易,將錢包合約中註冊的簽名公鑰更改為一個新的簽名。這很簡單:他們可以簡單地訪問一個網頁,比如 security.loopring。查看恢復請求並對其進行簽名。對每個監護人來說就像交易 Uniswap 一樣簡單。
有許多可能的選擇供您選擇誰作為監護人。三個最常見的選擇是:
- 錢包持有人自己擁有的其他設備(或紙助記詞)
- 朋友和家人
- 機構會在收到您的電話號碼或電子郵件的確認之後簽署恢復資訊,或者在重要的情況下,通過影音電話親自核實您的身份
監護人很容易添加:你可以簡單地輸入他們的 ENS 名稱或 ETH 地址來添加監護人,儘管大多數社會恢複錢包會要求監護人在恢復網頁上簽署交易以同意添加。在任何設計合理的社會恢複錢包中,不需要下載和使用同一個錢包;他們可以簡單地使用他們現有的以太坊錢包,無論它是哪種類型的錢包。考慮到添加監護人的高度便利性,如果您足夠幸運,您的社會圈子已經由以太坊用戶組成,我個人傾向於更高的監護人數(理想情況下是 7 個以上)以增加安全性。
如果您已經有了一個錢包,那麼就不需要監護人不斷努力:您所做的任何恢復操作都將通過您現有的錢包來完成。如果您不認識許多其他活躍的以太坊用戶,那麼您相信在技術上有能力的少量監護人是最好的。
為了減少監護人受到攻擊和串通的風險,你的監護人不必公開:事實上,他們不需要知道彼此的身份。這可以通過兩種方式實現。首先,與其將監護人的地址直接儲存在鏈上,還不如將地址列表的哈希儲存在鏈上,錢包所有者只需在恢復時發布完整的列表即可。
其次,可以要求每個監護人確定性地生成一個新的單一用途地址,他們將僅用於特定的恢復;除非實際需要恢復,否則它們不需要使用該地址實際發送任何交易。為了補充這些技術保護,建議選擇來自不同社會圈子的多元化監護人(理想情況下包括一個機構監護人);這些建議結合在一起將使監護人很難同時受到攻擊或串通一氣。
如果您死亡或永久喪失行為能力,那麼監護人可以公開宣布自己的身份,這樣他們就可以找到對方,追回您的資金。
社會恢複錢包不是一種背叛,而是「加密價值」的一種表達。
對於使用任何形式的多重簽名、社會恢復或其他形式的建議,一種常見的回應是,這種解決方案可以追溯到「信任人」的想法,也就是對區塊鏈和加密貨幣行業價值的背叛。雖然我理解人們乍看之下會這麼想的原因,但我想說的是,這種批評源於對加密技術的基本誤解。
對我來說,加密貨幣的目標從來都不是消除對所有信任的需要。相反,加密的目的是給人們訪問加密和經濟基石,給人們更多的選擇在該信任誰,而且允許人們建立更多的約束形式的信任:賦予某人代表您的權力做一些事情而不給他們權力為所欲為。從這個角度來看,多重簽名和社會恢復是這一原則的完美表達:每個參與者對接受或拒絕交易的能力都有一些影響,但沒有人可以單方面行動資金。這種更為複雜的邏輯允許建立一個遠比由一個人或密鑰單方面控制資金更安全的機制。
人類的輸入應該謹慎使用,而不是完全拋棄,這一基本理念非常強大,因為它與人類大腦的優點和缺點很好地結合在一起。人類的大腦不太適合記住密碼和追蹤紙質錢包,但它是用來追蹤與他人關係的專用晶片。這種影響在非技術性用戶身上表現得更強:他們可能在錢包和密碼上更吃力,但他們同樣擅長「選擇 7 個不會合夥對付我的人」這樣的社會任務。
如果我們至少能從人類的輸入中提取一些資訊,使之成為一種機制,而不使這些輸入變成攻擊和利用的媒介,那麼我們就應該弄清楚如何做到這一點。社會恢復是非常強勁的:要讓一個擁有 7 監護人的錢包收到損害,這 7 個監護人中的 4 個將需要以某種方式相互發現並同意竊取資金,而其中的任何一個都不會給所有者帶來小費。當然,這是一個艱巨的挑戰比攻擊純粹由一個人保護的錢包更為重要。
二、社會恢複錢包的替代用例
v 神在 2021 年 1 月中的文章中通過 Argent 和 Loopring 兩個例子簡單介紹了社交恢複錢包(即智能合約錢包)的原理及特徵。並在 2021 年 7 月在 ethresear.ch 上 [1] 提出「社會恢復用例的替代機制」。我們本文重點探討:此替代機制。
Dark Crystal Web3 這個詞源自 Vitalik Buterin 在 2021 年發表最初帖子 [2] 後的提案,它建議使用一種系統,讓恢複合作夥伴無需安裝軟體或保管任何其他數據,前提是有一個個人以太坊錢包。
Magma Collective 目前正在努力將其發展成一個 MVP(最簡可行產品)。這是一個社會恢復協議,我們為其確定了三個主要的重要功能。
該應用程序不需要恢復者記住任何東西,除了他們的以太坊主錢包的訪問密碼;
該應用程序應該是保密的,這意味著它可以備份任何類型的秘密,包括但不限於以太坊私鑰;
該應用程序理想狀態下應允許秘密所有者和恢復夥伴的匿名性。
由於該應用程序處理的是秘密,也許是具有高價值的秘密,驗證我們項目中的安全假設和信任要求是至關重要的。
該系統由兩個部分組成:
一種基於 Web 的 dAPP,供恢複合作夥伴使用,它調用 Web3 API,以生成加密密鑰對派生的簽名,並在恢復期間從合約中檢索和解密共享。
供備份人員使用的離線優先軟體組件。給定密鑰和公鑰列表,生成一組加密共享,然後發布到區塊鏈。作為離線拳頭,該程序不進行實際發布,但生成包含加密有效負載的 dapp 鏈接。然後,這可以傳輸到任何帶有 Web3 擴展的瀏覽器(例如通過二維碼)。
其運行的基本過程可以參考這裡。
三、以太坊社會需要什麼樣的社會恢復系統
建立在以太坊基礎上的社會恢復系統,重點是可用性。
作為 MVP 開發初始階段的一部分,Dark Crystal Web3 對 Web3 和以太坊社區的核心工具和協議進行了用戶研究,採訪了 WalletConnect、3Box、Metamask、Gnosis Safe、Rainbow 和 Tally 的代表,並在 Twitter 和 Discord 上分發了一份匿名問卷。此目標不僅是考量 Dark Crystal Web3 項目的可用性,而且還考量社會恢復這一當前設想的重要協議,以及潛在的對工具化的需求。
- 冷儲存的作用
- 用戶的技術水平如何?
- 什麼樣的「身份」已經在鏈上使用,以及對匿名性的偏好
- 鏈上儲存與中心化儲存的角色
- 最重要的路線圖考慮
冷儲存(cold storage)的作用
可用性被優先考慮,這是一個重要共識,除此之外我們最重要的發現是,冷儲存用戶場景是很罕見的。冷儲存指的是以一種永遠不與網路連接的方式來保存鑰匙——這可能是一個紙質錢包,或者一個只與離線計算機連接的硬盤。它被廣泛認為是最安全的儲存密匙的方式。然而,用冷儲存密鑰進行交易會帶來重大的可用性障礙:通常必須在離線計算機上下載和建立一個錢包程序,該程序對交易進行打包和簽名,然後將其轉移到另一個設備上並對外廣播。由於我們的應用程序是處理具有私密性,我們想知道用戶多大可能能接受這種過程?
也許有點驚訝,我們發現這種安全做法並不常見。或者更準確地說,冷儲存鑰匙和用戶將用我們的應用程序備份的鑰匙之間的重疊子集非常小。在我們所有的同步對話中,我們了解到:雖然支持冷儲存途徑很重要,但用戶不會使用它。從那些確實有冷儲存密鑰的受訪者那裡,我們了解到他們只會對價值較小的熱錢包密鑰使用我們這樣的系統。
問卷對象在某種程度上更傾向於冷儲存——33% 的人說他們會把他們的鑰匙一直放在冷儲存中。隨著調研時間的延長,我們還收到反饋說,最有安全意識的用戶傾向於擁有自己的備份系統,而不是信任我們的系統。考慮到最需要社會恢復的人往往不掌握技術:「任何能使用命令行的人都不需要社會恢復」。
用戶的技術水平如何?
事實上,我們可以要求用戶具備什麼樣的技術素養是另一個討論的領域——什麼樣的工具、錢包等是我們的潛在用戶熟悉或需要的?
從架構上講,Dark Crystal Web3 涉及一個基於瀏覽器的託管應用程序,以及一個可以在本地提供服務的、帶有網路前端的 Rust 命令行組件。我們的問卷對象和受訪者都是技術派,80% 的人說如果有必要,他們會很願意使用命令行應用程序。之所以會有目前的架構計劃,便是出於支持冷儲存的願望,但根據反饋,我們懷疑如果我們的應用程序有一個完全託管的版本,只有一小部分有明顯動機的用戶會以其他方式使用它。這些反饋是如此強烈,以至於儘管我們已經進行了從冷儲存到託管,包括設計和執行在內的工作,但南轅北轍的可能性不是沒有。
儘管我們把基於瀏覽器的 dapp 作為主要的切入點討論,但是我們從 6 個受訪者中的 2 個收到了強烈的反饋,認為由於網路釣魚攻擊的頻率,可下載的應用程序是一個更值得信賴和更可取的設計模式。絕大多數情況下,像 Metamask、Walletconnect、行動錢包和區塊瀏覽器這樣的工具對受訪者或問卷對象來說沒有任何問題。
雖然我們試圖讓協議與是否備份秘密無關,但我們相信所有潛在秘密擁有者都已經加入了以太坊。我們多次明確聽到,非以太坊用戶將不太可能選擇我們的社會恢復協議。也就是說,他們希望恢復夥伴能涵蓋到技術小白,連錢包都沒有的那種。我們需要考慮這個獨特的需求。
鏈上已經在使用什麼樣的「身份」,以及對匿名性的偏好
我們的核心問題之一是如何支持參與者的匿名性:需要多少程度的匿名,以及如何在保持匿名的同時還能在以後可靠地找到恢複數據?有幾個潛在的解決方案,都涉及到用某種查詢密鑰來儲存恢複數據,這些密鑰可以從用戶的主錢包中哈希得來或派生出來。
然而,我們想知道用戶的使用模式是否會支持這種做法。人們是保持一個持久的錢包,還是經常切換從同一個種子中派生的不同錢包?他們是否會生成新的種子?所有的當面採訪都證實,我們的典型用戶會有一個「主以太坊地址」,他們在任何情況下都不可能忘記。然而,有趣的是,一半的問卷對象說,有可能或其實就是,用戶已經忘記了這一點,或者從來沒有過。「主以太坊地址」作為一個身份概念的頻率是未來研究的一個潛在領域。
總的來說,反饋很支持匿名性,但我們反覆聽到,一旦有相當多的用戶成為應用程序的一部分,「大海撈針」式的匿名程度在許多情況下就足夠了。但這之前如何啟動還不清楚,或者具體達到哪個門檻可以實現這一點。我們與幾個受訪者討論了是否有一個公共協議,可用於將以太坊地址映射到公共加密密鑰,從而為這種匿名性提供一個啟動包,但沒有發現一個現有的項目可以填補這個角色。我們還發現,恢復夥伴的匿名性比秘密所有者的匿名性得到了更多的認同,如下圖所示。
三個問卷對象提出了他們可能會忘記誰是恢復夥伴的擔憂,我們也收到了希望能夠多次更換恢復夥伴的功能請求。
鏈上儲存與中心化儲存
我們收到了在兩種情況下在鏈上儲存加密秘密的批評,一種來自成本的角度,一種來自對密碼學的量子威脅的擔憂。沒錯,如果我們使用的任何密碼學有一天被破解,我們協議儲存的所有秘密都會受到影響。在成本方面,問卷對象和受訪者都認為 200 美元左右是應用程序的交易成本的上限,更低的成本則更受歡迎。
我們聽說,對於我們的用例,在主網上與在另一個類似以太坊的網路,如 polygon 或 gnosischain 相比,沒有任何優勢。
最後,有人建議考慮為應用程序提供一個中心化的途徑,用戶可以選擇不在鏈上儲存,這當然會帶來其他潛在的問題(持續的維護,潛在的泄漏),但仍然可能有意義地增加可訪問性。37% 的問卷對象表示,他們會對鏈下儲存感到更舒服。而且,協議的長期維護被多次列為關注點:在我們的團隊有可能解散或發生重大變化之後,潛在用戶如何相信恢復過程仍能發揮作用?並且,是否有任何方法可以讓秘密擁有者驗證秘密是可以恢復的,而不需要經歷整個過程?
對路線圖來說最重要的考慮
到目前為止,通過最簡化產品思考,我們得到的秘密恢復的一個重要方面,是秘密所有者和恢復夥伴之間需要能夠進行溝通。最初的設置資訊,以及恢複數據都需要在雙方之間發送。這很可能是該系統最大的安全弱點。100% 的問卷對象認為有可能通過不安全的帶外傳輸泄露一些秘密碎片集,我們的當面採訪也強烈呼應了這一觀點。
因為我們的受訪者中有很多是協議開發者,所以我們向他們詢問了加密式錢包到錢包的資訊傳遞,以及可能有助於溝通的現有路線圖功能。一組密切相關的功能與在恢復過程的各個階段對秘密所有者和恢復夥伴的通知有關。我們採訪的許多錢包開發者確實在他們的路線圖上有這個功能,儘管沒有確認發布日期。在這個方向上的進一步工作看起來對生態系統非常重要,與這些解決方案中的一個進行整合很可能是 Dark Crystal Web3 未來的工作核心。
暢行幣圈交易全攻略,專家駐群實戰交流
▌立即加入鉅亨買幣實戰交流 LINE 社群(點此入群)
不管是新手發問,還是老手交流,只要你想參與虛擬貨幣現貨交易、合約跟單、合約網格、量化交易、理財產品的投資,都歡迎入群討論學習!
- 加入鉅亨買幣LINE官方帳號索取免費課程
- 掌握全球財經資訊點我下載APP
文章標籤
上一篇
下一篇