對普通使用者來說,加密貨幣和去中心化應用最大的挑戰就是安全問題:怎樣防止資金丟失或被盜?
加密資產的丟失和盜竊問題非常嚴重,甚至每天都有無辜的區塊鏈使用者因此丟失加密資產,甚至賠上全部身家。
長久以來,出現了很多解決方案:卡片錢包,硬體錢包等。
實際上,這些方案使得加密資產的安全性得到了極大的改善,也存在一些缺陷:
1、防盜和防丟保護方案過少
2、操作使用複雜,較難上手
但最近,出現了一種稱為社交恢復錢包Social Recovery Wallets的新型智慧合約錢包。與以前的錢包相比,這類錢包可以提供更高的安全性和更好的可用性,但是要輕鬆且廣泛地部署它們,還有一段路要走。
這篇文章將介紹什麼是社會恢復錢包Social Recovery Wallets?為什麼重要?以及我們準備怎樣在區塊鏈生態系統中更廣泛地採用它們。
- 1 -錢包安全是一個很大的問題加密錢包的安全性問題與生俱來,一直困擾著區塊鏈生態。
2011年比特幣是當時唯一的加密貨幣,但當時加密貨幣損失和盜竊的問題相當猖獗。在成為以太坊創始人之前,我作為比特幣雜誌的聯合創始人和作家,寫了一篇文章詳細介紹了當時的駭客,損失和盜竊事件。
第一個例子:
昨晚9點左右,我點選了一個連結跳轉到一個網站,但是這個網站一直提示我執行Java。我按照他的提示做了(我覺得這是一個合法網站),但是後面什麼也沒發生。我看也沒什麼事兒,就關上窗戶準備睡覺了。大約14分鐘後,我打開了我的加密錢包,發現一筆沒有授權的交易把我的加密貨幣轉入了一個我不認識的加密錢包。
此人的損失為2.07 BTC,當時價值300美金,今天已超過70000美金了。
另一個例子:
2011年6月,一個未知的入侵者以某種方式侵入他的計算機後,比特幣跟蹤成員“ allinvain”損失了25,000 BTC(當時價值500,000美元)。攻擊者能夠訪問allinvain的wallet.dat檔案,並透過從allinvain的計算機發送交易,或簡單地上載wallet.dat檔案並將其清空在自己的計算機上,迅速清空錢包。
以目前的價值計算,這將損失近10億美元。
但是,盜竊並不是唯一的問題。丟失私鑰也會帶來損失。這是Stefan Thomas的例子:
比特幣開發商斯特凡·托馬斯(Stefan Thomas)的錢包有三個:一個加密的USB錢包,一個Dropbox錢包和一個Virtualbox虛擬機器錢包。然而,他設法備份了其中兩個錢包,但忘記了第三個錢包的密碼,從而永遠失去了7,000 BTC(當時價值125,000美元)的訪問許可權。托馬斯(Thomas)的迴應:“ 從那時起,我一直致力於創造更好的體驗幫客戶解決這類似的安全問題。”
一項比特幣生態系統的分析表明,每天可能丟失1500個BTC,這相當於比特幣使用者交易手續費支出的十倍以上,並且這些年來累計多達BTC總髮行量的20%。時間和血淋淋的數字都指向相同的不可避免的事實:錢包安全問題至關重大,刻不容緩。
很容易看出錢包安全很容易被低估的社會和心理原因:人們擔心自己在“聰明”的公眾面前顯得愚蠢,很多人把資金丟失說成被駭客入侵的經歷。所以,資金丟失的問題甚至更糟,因為問題很普遍:"能怪誰呢?還不是你自己的原因"。現實情況是,包括區塊鏈在內的數字技術上手成本很高而且極其複雜,所以很多人敬而遠之,因為害怕出錯。一個健康的生態系統,解決損失和盜竊的辦法是把前面的兩個問題一起解決掉,不太安全的解決方案和極難的上手成本都很難得到廣泛的採用。
因此,在不要求所有加密貨幣使用者將個人安全轉變為全職愛好的情況下,減少損失和盜竊發生數量的解決方案對行業非常有價值。
- 2 -單靠硬體錢包還不夠好硬體錢包幾乎是現在加密貨幣資金管理的最佳解決辦法。
硬體錢包是一種專用硬體裝置,可以連線到您的PC或手機(例如透過USB),並且包含專用晶片,該晶片只能生成私鑰和簽署交易。交易將在您的PC或手機上實現,必須在硬體錢包中確認後才能傳送。私鑰保留在您的硬體錢包中,因此,只能透過侵入您的PC或手機的攻擊者盜取您的資產。
硬體錢包是一個重大的改進,它們可以保護你的資產遠離一部分網路程式的攻擊,但並不完美。
- 3 -助記詞短語不夠好許多硬體錢包和軟體錢包有一個設定助記詞的過程:輸入一串助記詞短語,這是由明文可讀的12到24個單詞編碼的錢包的根私鑰組成,就像下面這樣:
vote dance type subject valley fall usage silk essay lunch endorse lunar obvious race ribbon key already arrow enable drama keen survey lesson cruel
如果您丟失了錢包,但有助記詞,您可以設定新錢包在恢復帳戶時輸入該助記詞,因為助記詞包含根金鑰,可以從中生成所有其他金鑰。
助記詞有助於防止丟失,但如果發生了偷竊就沒有辦法了。比如,如果有人偷你的硬體錢包 + PIN或你的助記詞備份一樣可以竊取你的資金。
當然,如果你把助記詞分成兩半,把一半給你的朋友,盜竊的問題基本可以得到解決。
但,首先幾乎沒有人這麼做,其次這麼做也存在安全問題,因為助記詞一般很短 (128 位),那麼一個老練和有動機的攻擊者可能透過暴力手段使用一半助記詞找到另外一半助記詞的組合。另外,其實,這也比較難讓人接受。
- 4 -那我們怎麼辦?我們需要的是一個滿足以下三個關鍵條件的錢包設計:
No single point of failure:雞蛋不要放在一個籃子裡。只使用一種方法保護你的資產,如果被盜,攻擊者可以使用您的資金。如果丟失,您將丟失你的資產控制權。Low mental overhead:儘可能不需要使用者學習陌生的新習慣以記住遵循某些行為模式。Maximum ease of transacting:大多數常規活動所需要的精力不應比常規錢包多其實已經出現瞭解決這些問題的最佳技術:多重錢包簽名。您需要有一個帶有三個私鑰的錢包,在其中需要任何兩個私鑰才能傳送交易。
這項技術最初是在比特幣生態系統內開發的,對於一個多簽名錢包來說,主要的挑戰是:誰持有資金以及如何批准交易?最常見的公式是 “由您持有的兩個易於訪問但獨立的金鑰,由朋友或機構持有的第三個更安全但不可訪問的備份” 。
在一定程度上來說這是相當安全的:任何一個裝置丟失或被盜,也不會導致您資金的損失。但是安全性並非完美無缺:如果可以竊取你的的膝上型電腦,那麼竊取你的手機通常也並不難。而且,可用性也是一個挑戰,因為每個交易現在都需要使用兩個裝置進行兩次確認。
- 5 -社會恢復錢包更好現在出現了我最喜歡的保護錢包資產的方法:社會恢復錢包。
社會恢復系統的工作原理如下:
只有一個“簽名金鑰”可用於批准交易至少有3個(或更多)“監護人”,其中大多數可以配合更改帳戶的簽名金鑰。簽名金鑰具有新增或刪除監護人的功能,儘管僅在延遲(通常1-3天)之後才可以。如果使用者丟失了簽名金鑰,那麼社會恢復功能就會啟動。使用者可以直接與監護人聯絡,要求他們簽署一項特殊交易,以將錢包合同中註冊的簽名公鑰更改為新的簽名 。這很容易做到:可以轉到網頁登入,檢視恢復請求並對其進行簽名。對於監護人而言,這甚至比Uniswap交易簡單得多。
有許多可能的選擇供您選擇作為監護人。三種最常見的選擇是:
錢包持有者自己擁有的其他裝置朋友和家人機構會在收到您的電話或郵件確認後簽署恢復訊息,或者較大資產變動的時候透過影片通話來驗證您的身份監護人很容易新增:您只需輸入他們的錢包地址即可新增監護人,儘管大多數社會恢復錢包都要求監護人在恢復網頁上籤署交易以同意新增。在任何設計合理的社會恢復錢包中,監護人無需下載和使用同一錢包;他們可以簡單地使用現有的以太坊錢包,無論哪種錢包。
新增監護人的便利性很高,只要您的社交圈朋友是由以太坊使用者組成就好,當然,我更希望監護人數量多一點(最好7個以上),以提高安全性。如果您已經有了一個錢包,那麼就不需要監護人額外操作:您可以透過現有的錢包進行任何恢復操作。如果您不認識活躍的以太坊使用者,那麼設定數量較少的監護人其實也無所謂。
為了減少攻擊監護人和串通的風險,不必公開了解您的監護人:實際上,他們不需要知道彼此的身份。這可以透過兩種方式來完成。
首先,將監護人的地址直接儲存在鏈上,可以將地址列表的雜湊儲存在鏈上,並且錢包所有者只需要在恢復時釋出完整列表即可。其次,可以要求每個監護人確定性地生成一個新的單一目的地址,以用於特定的恢復。除非實際需要恢復,否則他們實際上不需要傳送任何具有該地址的交易。為了補充這些技術保護,建議選擇來自不同社會圈子的各種各樣的監護人(理想情況下包括一個機構監護人);這些建議一起使監護人很難同時受到攻擊。
如果您死亡或永久喪失工作能力,這將是一項社會認可的標準協議,監護人可以公開宣佈自己,以便在這種情況下,他們可以找到彼此並追回您的資金。
- 6 -社會恢復錢包不是背叛是“加密價值”的一種表達對於使用任何形式的多重簽名,社會恢復或其他形式的建議的一種常見疑問是,該解決方案可以追溯到“信任”的問題,也就是對區塊鏈和加密貨幣行業價值的背叛。雖然我理解為什麼人們會想到這一點,但我還是認為,這種批評源於對加密技術的誤解。
我認為,加密貨幣不是為了消除對信任。相反,加密的目的是使人們能夠使用加密和經濟模組,從而使人們有更多選擇信任的物件,並進一步使人們建立更多受限的信任形式:賦予某人代表您做某事的權力,但不會賦予他們做任何事情的權力。
從這種角度來看,多重簽名和社會恢復是這一原則的完美表達:每個參與者對接受或拒絕交易的能力都有一定的影響,但是沒有人可以單方面轉移資金。和必須由一個人或鑰匙單方面控制資金的情況相比,這種更復雜的邏輯可以使設定安全得多。
這個基本的想法是有效的,因為它可以很好地與人腦的優缺點相適應。人腦非常不適合記住密碼和卡片錢包,但是它是用於跟蹤與其他人的關係的基礎。
對於不熟知技術的使用者來說,這種效果甚至更強:他們可能更難使用錢包和密碼,但是他們同樣擅長處理諸如“選擇7個人”之類的社交任務。
社會恢復非常有效:讓一個有7個監護人的錢包受到攻擊,這7個監護人中的4個將需要以某種方式相互發現並同意竊取資金,而其中的任何一個都不會給所有者帶來資產的威脅:當然,這是一個艱鉅的挑戰而不是攻擊純粹由一個人保護的錢包。
- 7 -社會恢復如何防止盜竊?上面說明的社會恢復錢包涉及您丟掉錢包的風險。但是仍然存在簽名金鑰被盜的風險:有人侵入您的計算機,在您登入時潛入您的PC上做一些偷偷摸摸的勾當,甚至使用一些使用者介面故障來欺騙您進行簽名您不打算簽署的交易。
我們可以透過新增保管庫來擴充套件社會恢復能力以處理此類問題。每個社會恢復錢包都可以附帶一個自動生成的保管庫。只需將資產傳送到保管庫的地址即可將其移至保管庫,但將其移出保管庫要延遲1周。在該延遲期間,簽名金鑰(或擴充套件為監護人)可以取消交易。如果需要,還可以對保險庫進行程式設計,以便可以立即進行一些有限的財務操作(例如,在白名單中的代幣之間進行Uniswap交易)。
生態系統的大規模嘗試總是一個很好的機會,它可以扭轉以太坊生態系統的早期錯誤,併為多重簽名和智慧合約錢包在幫助確保使用者資金方面發揮更加重要的作用。但這需要更廣泛的認識,即錢包的安全性是一個挑戰,而且我們在嘗試應對和挑戰方面還沒有做得足夠。
多重簽名和社會恢復不一定是故事的結局。可能會有更好的設計,但是簡單地進行改革,確保這些改革將智慧合同錢包做得更好,是朝著實現這一目標邁出的重要一步。
文章:以太坊創始人vitalik
基於地區和區域政策,部分內容刪改