原標題:How I think about choosing guardians for multisig and social recovery wallets

作者: Vitalik Buterin

編譯:Felix, PANews

多重簽名錢包(例如Gnosis Safe)是一種簡單且安全的資金存儲方式,具備自託管方式的大部分優點。你的資金不會因為看似值得信賴的中心化實體而丟失,並且個人也不需要對整個安全設置的風險負責。我個人使用多重簽名錢包來存儲我的大部分資金,以太坊基金會也是如此。

和多重簽名錢包關聯密切的是社交恢復錢包,社交恢復錢包可以使用單個密鑰來簽署交易,但如果該密鑰丟失,則可以使用其他人持有的一組密鑰來恢復資金。社交恢復錢包比多重簽名錢包更容易使用,特別是隨著ERC-4337帳戶抽象的興起,以及即將推出的Soul Wallet等錢包,該技術對用戶將更加友好。一般來說,一旦社交恢復錢包變得足夠成熟,我的建議是將社交恢復用於存儲個人或組織一小部分資金的熱錢包,將多重簽名用於存儲個人或組織儲蓄的冷錢包。

多重簽名錢包和社交恢復錢包都依賴於“守護人”的概念:一組N個地址,通常由其他人持有,其中,M個中的任何簽名都可以批准操作(例如可以設置N=6和M=4)。在多重簽名錢包的情況下,每筆交易都必須由N個“守護人”中的M個簽名。在社交恢復錢包的情況下,只有一個密鑰可以簽署交易,但如果該密鑰丟失,N個“守護人”中的M必須簽署一條消息以重置密鑰。

安全使用多重簽名錢包和社交恢復錢包的兩個關鍵問題是:

(i)你選擇誰作為“守護人”

(ii)你對他們有什麼指示?

這篇文章將概述我對這兩個問題的看法。這裡的想法應該同樣適用於為個人和組織確保資金安全的多重簽名和社會恢復錢包。

我們想從“守護人”那裡得到什麼?

  • 盡量降低他們丟失鑰匙的概率
  • 盡量減小他們串通竊取資金或被迫這樣做的可能
  • 在上述兩種風險不可避免的情況下,每個“守護人”的風險應該最大程度地不相關(也即您希望盡量減少可能會同時禁用或損害太多“守護人”的情況的共性)

這個答案簡單而簡短,但它指導了我對“守護人”所做的所有選擇。

部分“守護人”安裝在自己的設備上是可以的,但不能多

讓至少一個“守護人”安裝在自己設備上是很正常的——這樣做不會減少去中心化,畢竟,這是你的錢。然而,一旦超過了由你自己控制的“守護人”,你就會陷入一個兩難的權衡:你會減少對其他人的信任,雖然會存在黑客攻擊、被脅迫、或喪失行為能力或死亡等風險,但你也會將更多的權力集中在自己身上。

我的經驗是,足夠多的“守護人”應該由其他人控制,如果你消失了,還有足夠多的其他“守護人”可以收回你的資金。也就是說,您應該至少控制1個“守護人”,最多控制NM 個“守護人”。此外,每個“守護人”都應使用單獨的設備(筆記本電腦、手機、舊手機等)。

選擇不經常交流或最好彼此不認識的“守護人”

理想情況下,“守護人”不應該知道彼此是誰。這大大降低了他們勾結的風險,而且他們沒有充分的理由相互認識。如果你出了什麼事,他們仍然能夠找到對方,因為在這種情況下人們會自然而然地想到傳統禮節(例如聯繫你的家人)。

另外,你要盡可能地減少“守護人”之間的相關性:不要選擇居住在同一個城市(或者最好是同一個國家)的兩個“守護人”,或者使用相同類型錢包的兩個“守護人”,並且有一個不同操作系統之間的平衡。

守護人”應在批准操作前詢問安全問題

當您要求“守護人”為您批准一項操作時(在多重簽名中,這可以是任何交易,而在社交恢復錢包中,這將重置您的帳戶密鑰),他們不應該簡單地立即批准。這對安全來說將是一場災難:如果有人侵入你的聊天帳戶,他們可以掃描你的消息,找出你的“守護人”是誰,聯繫他們每個人並要求他們確認,從而竊取你的資金。

為了避免這種情況,我首選的協議是指示“守護人”提出安全問題。也就是說,當你要求確認你的操作時,“守護人”應該問你一些只有你們兩個人和其他人很少知道的事情(例如我們最後一次見面時,吃的是什麼?),只有在你給出正確答案的情況下才確認操作。通常選擇語音或視頻通話,但在深度造假的AI時代,其安全性變弱,因此將語音/視頻通話與詢問某種安全問題結合起來更好。

除非你在做“賭徒的事情,確保有可以快速響應的“守護人”。否則,上述均無問題

如果你正在鏈上做合約,你可能需要錢包快速響應:如果合約出現漏洞就撤出資金,如果你接近被清算就轉移資金等等。如果你的需求包括這一點,那麼你需要可以在短時間內迅速採取行動的“守護人”來保護你的資金。然而,如果你不做這些事情,那麼速度就不是特別重要,甚至速度快也可能是瑕疵,因為讓他人需要緊急行動的通常是黑客。所以默認情況下,在那些在心理上厭惡這種行為的人眼中,這可能是件好事。

每年至少對每位“守護人”進行一次測試

每年至少進行一次測試。理想情況下,每年進行兩次測試操作,讓一半的“守護人”進行一次操作,讓另一半“守護人”進行另一次操作。這可以確保您的“守護人”沒有忘記或丟失他們的帳戶。

更高階問題:隱私

如今“守護人”面臨的挑戰之一是,尚不存在可以保護您的財務隱私免受“守護人”侵害的技術。然而,這是一個可以從技術上解決的問題:“守護人”不是直接保護你的賬戶,而是保護一個“密碼箱”合約,你的賬戶和密碼箱之間的鏈接是隱藏的。在需要進行恢復之前,讓鏈接保持隱藏狀態非常容易:例如,您的帳戶可以作為“守護人”擁有一個只有密碼箱才能創建的CREATE2合約。然而,即使在恢復後,要使鏈接保持隱藏狀態,也需要更先進的ZK-SNARK技術。因此,我預計這個問題會在未來幾年慢慢得到解決。