原文作者: Bruno Lulinski and David Kerr
創作者:Xinyang
審核者:DAOctor
原文: Sovereign Social Recovery Mechanism
當前的錢包恢復機制總是伴隨着巨大的權衡取舍。要么你 100% 依靠自己(將責任推給用戶),要么通過將你的私鑰托付給某個中心化實體,這樣又犧牲主權。
上一篇文章中,我們講到了什么是社會恢復錢包以及替代用例DAOrayaki |以太坊社區需要什么樣的社會恢復系統。在本文檔中,DAOrayaki 社區將繼續介紹主權社會恢復(Sovereign Social Recovery),這是一種非托管恢復機制,旨在實現兩全其美。
快速哲學筆記:
加密貨幣的核心價值之一是賦予個人權力。賦權可能意味着很多事情,但我們都同意的一點是資產的真正所有權。這就是爲什么贏得非托管錢包的鬥爭是(在我看來)最重要的挑战之一。如果加密貨幣是在大多數用戶使用托管錢包的情況下蓬勃發展,我們唯一成就就是將“摩根大通”的名稱更改爲“Binance”。
恢復機制是指在主設備丟失的情況下,獲得的資金訪問權限的行爲。
我們可以將當前的恢復機制分爲兩個主要的概念類別:
托管恢復機制意味着將管理私鑰的責任委托給其他人(通常是錢包公司)。
優點:
易於使用:如果用戶丟失了他/她的設備,一個簡單的雙重身份驗證即可恢復帳戶。
責任委派:許多用戶不希望自己保管種子短語(如果出現問題,他們想打電話給某人)。
缺點:
審查:最明顯的一點是你的資金是完全可審查的。這扼殺了加密貨幣其中一個核心原則。
中心化權力:擁有托管錢包的另一個超級被低估的問題是,它背後的公司可以完全控制這些資金。雖然今天看來不是問題,但在未來,這些公司能像今天的銀行一樣運作。他們可以开始放貸以賺取更多利息,並重新創建我們今天擁有的相同系統。雖然現在聽起來不可能,但這事未來發生的概率還是很大的。這是權力的腐敗本質。
默認情況下,任何可以訪問你的私鑰的錢包服務都是托管的。
在非托管機制中,你可以與其他方共同承擔追回責任,但這裏的關鍵是,未經你的同意,任何人都不能拿走你的資金。
一些基本示例如下:
種子短語備份:這可能是最常見的一種。在這種情況下,你會寫下一些單詞(通常是 12 或 24 個)並確保它們安全。如果你丟失了主設備,你可以通過輸入這些單詞輕松恢復你的錢包。幾乎所有錢包都支持這種方式,因此你可以輕松地從一個錢包遷移到另一個錢包。
優點:
主權:只有你有權訪問你的資金(除非你被黑客入侵)。
自由:只需輸入種子短語,你就可以輕松地將錢包遷移到另一個錢包。
缺點:
UX(用戶體驗不好):在一張紙(金屬?)上寫下一些單詞,感覺不是現代人做的事。
安全性:它增加了額外的安全問題。如果有人竊取了助記詞,他們會立即獲得你的資金。如果你將助記詞與你的設備一起丟失,你再也無法找回你的資金。
責任:你有100%的責任。如果出現問題,沒有人可以打電話。責任通常是好的,但是對於具有如此多經濟價值的系統,責任應該在應用程序和系統上,而不是在用戶身上。
多重籤名:像 Gnosis 這樣的多重籤名錢包非常安全,並爲生態系統提供了巨大的價值。我相信這些類型的錢包非常適合管理 DAO 的儲備以及擁有大量加密貨幣並希望將資金存放在那裏的人。對於日常用戶來說,它們不是很實用。
還有另一種較新的選擇,稱爲社會恢復。你會發現,此選項可以是托管的、非托管的或半托管的。
社會恢復是一種通過監護人獲得資金權限(以防你丟失主設備)的機制。我相信這個機制是一個很好的前進方向,但仍然有很多缺陷。請允許我解釋一下。
額外的安全考慮:通過擁有監護人,你增加了額外的安全復雜度。如果你的大多數監護人密謀反對你,他們將能夠竊取資金。而且我不是從誇張的角度說的,我是從務實的角度來說。他們可能有偷竊的不良意圖,而且還可能被社會工程,甚至丟失自己的錢包。額外的復雜度:不是所有用戶都能找到可以托付他們的畢生積蓄的幾個人。即使他們能找到道德上信任的人,真要把自己的錢包安全交到他們手上,也不免犯嘀咕。
我也列出我收到的對社會恢復的一些反駁聲音:
使用中心化監護人:使用中心化監護人只是一個普通的中心化錢包。我們對此需要思考,如果政府強迫監護人拿走用戶的資金,他們能這么做嗎?如果答案是肯定的,那么它真的是非托管的嗎?
把自己當作監護人:我經常聽到的另一點是,有另一個錢包作爲備份。我認爲這種設置根本沒有意義。如果你有一個錢包作爲備份,那么該錢包是你最薄弱的環節。那么爲什么要使用這個錢包而不是你唯一的有(真正)監護人的錢包呢?你只是引入了更多的風險。
考慮到所有這些要點,讓我介紹一下主權社會恢復。
主權社會恢復的實施與社會恢復非常相似,但有一個很大的區別:它預先確定了下一個所有者。
如前所述,社會恢復的大問題是監護人可以將所有者更改爲新地址。這個新地址是函數中的一個輸入參數,允許監護人選擇他們喜歡的任何地址。
通過主權社會恢復,監護人只能將錢包恢復到真實所有者持有的預定地址。
讓我們來看一個例子:
Alice 在她的移動設備中創建了一個智能合約錢包。籤名密鑰(私鑰)在移動設備的硬件中加密(爲了避免社會工程攻擊,未顯示種子短語)。
Alice 選擇一組監護人,或者錢包默認爲中心化的(沒關系,監護人無法擁有 Alice 的資金權限)。
恢復所有者密鑰對被創建,地址存儲在錢包合約中的“recoveryOwner”變量中。種子短語可以顯示給 Alice 或保存在不同的雲提供商中。這個種子短語不是那么重要,Alice 隨便放也沒事(她可以替換恢復所有者)。如果有人偷了它(監護人除外),那是完全沒有價值的。
這是一個半僞代碼示例,以便更好地理解:
我們也可以以更安全的方式恢復。以防攻擊者擁有恢復密鑰,並且等待所有者放松警惕:
*你可以添加一個額外的功能,這樣監護人就不能很容易地永遠鎖定錢包(它可以通過多種方式實現) .
讓我們回顧一下主要的安全考慮事項:
監護人獲得錢包資金的唯一方法是惡意背叛用戶並竊取恢復種子短語。前者的概率並沒有那么低,但如果再加上後者,就變得極不可能了。
如果用戶失去對恢復種子短語的訪問權限,則不會發生任何事情。用戶可以生成一個新的,並更改恢復所有者。
如果攻擊者竊取了恢復種子短語,他將無法對其進行任何操作(除非他與監護人合作)。
用戶可以有中心化托管人作爲監護人、家庭成員等……資金是完全安全的。擁有幾個中心化監護人將提供與使用托管錢包相同的用戶體驗,不同之處在於該錢包是 100% 非托管的。
爲了避免社會工程攻擊,主種子短語從不能向用戶展示。
資金流失的另一種方式是,如果攻擊者可以訪問移動應用程序。這適用於幾乎所有錢包(Metamask、Coinbase 等)。因爲這是一個智能合約錢包,所以我們可以添加額外的安全過濾器,如多重籤名、支出限制等……始終需要所有者密鑰才能籤名。如果攻擊者訪問錢包設備,他將只能竊取有限數量的錢,或者根本不能(如果是多重籤名)。但即使在需要 m of n 的多重籤名中,也始終需要所有者籤名。
最後一個考慮是將恢復地址種子短語抽象之後給到用戶。這可以通過在雲提供商(多個)中對其進行加密來完成。從用戶體驗上來說,感覺會比使用 gmail 好。
這個組合將把所有責任從用戶身上剝離,同時提供一個安全和非托管的錢包機制。
一些負面情形:
如果用戶同時丟失了設備和恢復種子短語怎么辦!!!
盡管這兩種情況不太可能同時發生(丟失手機,同時無法訪問多個雲提供商?),但我們可以實施一些更復雜的過濾手段。例如,只有當錢包處於非活動狀態超過 x (180 ?) 天時,監護人才能將錢包解鎖到新地址(如社會恢復)。這需要權衡取舍(如果監護人綁架用戶怎么辦?)。
我們將依舊顯示種子短語!!!
恢復種子短語可以完全從用戶那裏剝離,並存儲在不同的雲提供商中(即使是中心化的托管人,只拿到密鑰也沒用!)。
堅信監護人不會作惡!!!
也許你的監護人不會惡意竊取你的信息。但是,與使用中心化錢包相比,擁有監護人會帶來更多的安全風險。如果他們被社工怎么辦?如果他們中的大多數人丟了錢包怎么辦?如果…。我真的不相信人們(至少我)會對這些換來的風險感到滿意。而且,只有一個中心化監護人的傳統社會恢復錢包與托管錢包完全相同。那個監護人隨時可以卷款走人。
這種機制提案試圖讓用戶享有 100% 非托管錢包的主權,但又有中心化錢包的用戶體驗。我相信我們需要停止將責任推給用戶,創建更無感的系統,同時保持我們關心的核心價值觀。
標題:DAOrayaki |社會恢復錢包新用例:主權社會恢復
地址:https://www.torrentbusiness.com/article/11092.html
標籤: