來源|vitalik.ca
作者|Vitalik
編譯:ECN以太坊中國
感謝Argent的ItamarLesuisse和Loopring的DanielWang提供反饋。
加密貨幣和區塊鏈應用對普通用戶來說,其可用的最大挑戰之一無疑是安全性:我們如何防止用戶的資金丟失或被盜?丟失和被盜是不可忽視的問題,致使無辜的區塊鏈用戶損失數千美元,甚至在某些情況下丟失其大部分凈資產。
多年來,有許多解決方案被提出:紙錢包、硬件錢包和多簽錢包(我個人一度的最愛)。實際上這些方案確實顯著改善了安全性,但都存在各種缺陷:防盜和防丟保護功能可能遠遠低于實際需要,或是操作的不便利導致極低的采用率。但是最近出現了一個更好的替代方案:一種稱為“社交恢復式錢包”(socialrecoverywallet)的新型智能合約錢包。與以前的選擇相比,這類錢包可以提供更高的安全性和更好的可用性,但距離輕松且廣泛的部署,還有一段路要走。這篇文章將介紹什么是社交恢復式錢包、其重要性何在,以及我們應該如何在整個生態系統中對其進行更廣泛的采用。
錢包安全性問題非同小可
可以說從區塊鏈行業發軔之初,錢包安全性問題就一直困擾著生態系統。在2011年,當時比特幣幾乎是當時唯一的加密貨幣,丟失和被盜事件頻發。在建立以太坊之前,我作為BitcoinMagazine的聯合創始人和作者撰寫了一篇文章詳細介紹當時加密貨幣中發生的攻擊、損失和盜竊事件。
這是其中一個例子:
昨晚約PDT時間晚上九點,我點擊了一個連接進入CoinChatfreetzicom,并被提示運行Java。我這么做了(我以為這是一個正常的聊天室),隨后什么也沒發生。我關閉了窗口,沒有多想。大約14分鐘后我打開了我的bitcoin-qt錢包,然后看見了一個并未經我批準的交易,幾乎將整個錢包的資產都轉移到了另一個錢包……
這位用戶丟失了2.07個BTC,當時價值300美元,現在已經超過7萬美元。還有一個例子:
2011年6月,Bitcointalk成員allinvain丟失了25000個BTC(時值50萬美元),起因是一個未知的入侵者以某種方式直接訪問了他的電腦。攻擊者能直接獲取allinvain的wallet.dat文件,然后迅速將錢包洗劫一空——從allinvain的電腦發送交易,或是在自己的電腦中上傳wallet.dat文件并將其清空。
OKX已開放WLD充值,尚未發布上幣公告:7月24日消息,根據OKX界面顯示,當前已開放ERC20和Optimism網絡的WLD(Worlcoin)充值通道,但目前尚未發布上幣公告。[2023/7/24 15:54:28]
按照現在的價值來算,其價值近一百萬美元。但盜竊并不是唯一的問題,還有私鑰丟失的例子。來看看StefanThomas的故事:
比特幣開發者StefanThomas的錢包有三處備份:一個加密的USB設備、一個Dropbox帳戶和一個Virtualbox虛擬機。他設法抹除了其中兩個,但是忘記了第三個備份的密碼,永遠失去了7000BTC(當時價值12.5萬美元)的訪問權限。Thomas回應說:“從那時起,我一直致力于開發更好的客戶端。”
根據比特幣生態系統的一份分析,每天可能有1500BTC丟失,超過比特幣用戶交易手續費的十倍,隨著時間推移丟失的比特幣總量占其總供應量的20%。這些故事和數字都指向同一個不可避免的事實:錢包安全性問題的重要性非同小可,不應該被低估。
我們很容易得出錢包安全性容易被低估的社會和心理原因:人們不希望在總是具有批判性的公眾面前顯得愚蠢或粗心,結果其資金往往容易被盜。而丟失資金就更是如此,因為普遍(盡管在我看來非常不正確)的看法是“要怪只能怪自己”。但現實是,包括區塊鏈在內的數字技術,其目標在于使人們能更輕松地參與復雜事務,而無需付出極大的腦力勞動或是活在擔心失誤的恐懼中。如果一個生態系統解決丟失和被盜問題的方式僅僅是12個步驟的教程、不太安全的對策和不那么偶然的諷刺性的“對您的損失感到抱歉”的回應,其將很難被廣泛采用。
因此,旨在降低資金丟失和被盜風險的方案開始被采用,這些方案不需要加密貨幣用戶消耗過多精力和時間來維護個人資產安全性,并且對于整個行業來說也是非常有價值的。
光靠硬件錢包還不夠
硬件錢包經常被宣揚為加密貨幣資產管理的最佳技術。硬件錢包是一種專用硬件設備,可以連接到用戶的計算機或手機(例如通過USB),并且包含專用芯片,該芯片只能生成私鑰和簽署交易。用戶能在計算機或手機上發起交易,并且必須在硬件錢包中確認后才能發送。私鑰保留在硬件錢包中,因此,攻擊計算機或手機中無法將資金洗劫一空。
Stargate單月跨鏈交易額突破10億美元,創歷史新高:4月15日消息,基于 LayerZero 的跨鏈流動性協議 Stargate 在社交媒體上發文表示,其單月跨鏈交易額首次突破 10 億美元。[2023/4/15 14:05:23]
硬件錢包是一個意義重大的進步,可以避免上述的Java聊天室案例,但硬件錢包也不是盡善盡美的。在我看來硬件錢包有兩大問題:
?供應鏈攻擊:如果你購買了一個硬件錢包,就相當于你信任其生產過程中的許多參與者,包括設計錢包的公司、生產錢包的工廠以及運輸過程中的經手人,他們可以調換錢包。硬件錢包可能會引來此類攻擊:資金被盜的概率與被盜設備數量相關性非常高。值得稱贊的是,諸如Ledger之類的硬件錢包生產商已經采取了許多保護措施來防范這些風險,但并不是萬事大吉了。從根本上來說,硬件設備不像開源軟件,無法進行審計。
?單點故障:如果有人站在你的身后目睹你輸入PIN,然后偷走了你的硬件錢包,他們就能竊取你的資金。如果你丟失了你的硬件錢包,你也就丟失了你的資產,除非硬件錢包在初始設置時生成并輸出備份,但正如我們看到的一樣,仍然有不同的問題存在。
光靠助記詞也不夠
許多錢包(無論是硬件還是軟件)都有一個初始設置過程,在此過程中會輸出一些助記詞短語,這是錢包根私鑰的編碼,形式是人類可讀的12-24個單詞。助記詞短語如下:
votedancetypesubjectvalleyfallusagesilkessaylunchendorselunarobviousraceribbonkeyalreadyarrowenabledramakeensurveylessoncruel
如果你丟失了錢包但保留有助記詞,則可以在設置新錢包恢復帳戶時輸入助記詞,因為助記詞包含根密鑰,可以從中生成所有其他密鑰。
助記詞有助于防止丟失,但是對資金被盜的情況來說于事無補。更糟糕的是,如果你有標準的硬件錢包+助記符備份組合,那么無論是硬件錢包+PIN被盜或助記詞備份被盜都會導致資金損失。此外,要保證保護好助記詞并且不意外丟失本身就是一項的精神負擔。
如果將短語五五分,然后將一半交由朋友保存,可以減輕盜竊的問題,但是1)幾乎沒有人真正推廣這種行為;2)存在安全問題,如果助記詞很簡短(128位),那么一個死磕的攻擊者,偷走一半之后可能會暴力尋找其余264種可能的組合來找到另一半,并且3)進一步增加了精神負擔。
SpaceX在推特應用程序上為Starlink購買大型廣告套餐:11月14日消息,據外媒報道,埃隆?馬斯克(Elon Musk)的航空航天業務SpaceX剛剛從推特應用程序上訂購了一個更大的廣告套餐,該活動旨在在澳大利亞和西班牙推廣SpaceX衛星互聯網服務星鏈(Starlink)。
此前消息,在馬斯克完成以約440億美元的價格收購推特公司的交易后,馬斯克現任推特唯一董事和CEO。(CNBC)[2022/11/14 13:01:32]
那我們需要的是什么?
我們需要的錢包設計要滿足以下三個標準:
?不存在單點故障:不存在會被竊取的事物,從而使攻擊者可以獲取您的資金,或者即使丟失了,也可以拒絕獲取資金。
?減輕精神負擔:盡可能不要求用戶學習陌生的新習慣或付出腦力,以始終遵循某些行為模式。
?交易便捷:進行大多數正常活動不應該比常規錢包花費更多的精力(例如Status和Metamask等等)
多簽還不錯!
早在2013年,解決這些問題的最佳技術是多重簽名(multisig)。你可以擁有一個配有三個密鑰的錢包,需要其中任何兩個密鑰才能發送交易。
最初這項技術是在比特幣生態中開發的,但是以太坊現在也有優秀的多簽錢包(例如GnosisSafe)。多簽錢包在組織內部的應用十分成功,以太坊基金會使用4-7多簽錢包來存儲資金,以太坊生態中許多其他的組織也應用了多簽錢包。
對于多簽錢包來說,要替“個人”持有資金主要的挑戰是:誰持有資金?如何批準交易?最常見的公式是“由用戶持有的兩個易于獲取但獨立的密鑰(例如筆記本和手機),而第三個密鑰是更為安全且更難獲取的備份,線下保存或是由朋友或者組織持有”。
這是相當安全的:任何單一設備丟失或被盜不會導致你無法使用資金。但是其安全性遠非完美無缺,如果能竊取某人的筆記本電腦,那么竊取他們的手機通常來說也并不難。可用性也是一個挑戰,因為每筆交易現在都需要使用兩個設備進行兩次確認。
酒次元發布“無聊猿” BAYC #6686二創數字藏品:金色財經報道,低度潮飲酒品牌酒次元宣布推出以無聊猿BAYC#6686為核心元素的二創作品《流光微醺》,限量發行999件。今年五月初,酒次元宣布“無聊猿” BAYC#6686成為其品牌潮流合伙人并推出無聊猿微醺俱樂部(BORED APE TIPSY CLUB)。[2022/6/18 4:36:43]
社交恢復更勝一籌
這是我個人比較傾向的錢包保障方式:社交恢復。其運行機制如下:
?有一個單獨的“簽名密鑰”用以批準交易
?還有一套至少由三個成員組成的“守護者”,其中大多數人聯合起來可以改變賬戶的簽名密鑰
簽名密鑰能夠增加或減少守護者,這個過程存在延遲(通常為1-3天)。
在正常情況下,用戶都可以像普通錢包一樣簡易使用社交恢復式錢包,并使用其簽名密鑰對消息進行簽名,從而使每個已簽名的交易都可以通過一次確認點擊快速完成,操作如同“傳統”錢包(如Metamask)。
而社交恢復式錢包真正發揮作用的地方,就是用戶丟失簽名密鑰的情況。用戶可以聯系他們的守護者,并要求他們簽署一個特殊交易,以更改其在錢包中注冊的簽名公鑰。這其實不難,他們可以訪問一個網頁(比如security.loopring.io),登入之后收到一個恢復請求,然后進行簽名。守護者的操作可能就像在Uniswap上進行交易一樣簡單。
守護者有很多可能的選擇,其中最常見的三種選項是:
?錢包所有者自己的其他設備(或是紙質助記詞)
?朋友或是家庭成員
?組織機構,在收到你的電話號碼或電子郵件確認后簽署恢復交易,或者在所設價值較高的情況下通過視頻通話來驗證你的身份
添加守護者也很容易,只需輸入ENS域名或ETH地址即可添加監護人,盡管大多數社交恢復式錢包都要求守護者在恢復頁面中簽署交易以同意添加。在任何設計合理的社交恢復式錢包中,守護者無需下載并使用同一錢包,他們可以使用其現有的以太坊錢包,不受類型限制。鑒于添加守護者的便利性,如果你的社交圈由以太坊用戶組成,我個人更偏向設置較多守護者(最好是7個以上),以提高安全性。如果你已經有了一個錢包,那么就不需要守護者不斷保持注意,你可以通過現有的錢包進行任何恢復操作。如果你不認識足夠的活躍以太坊用戶,那么設置數量較少且懂得操作的守護者是更好的選擇。
美股集體低開 標普500指數跌0.85%:6月7日消息,美股開盤集體低開,道指跌0.77%,納指跌1.12%,標普500指數跌0.85%。[2022/6/7 4:08:59]
為了減少守護者遭受攻擊和串謀的風險,不必要公開守護者,實際上,他們不需要知道彼此的身份。這可以通過兩種方式來實現。首先,將守護者地址列表的哈希存儲在鏈上,而非守護者的地址,并且錢包所有者只需要在恢復時發布完整列表即可。其次,可以要求每個守護者確定性地生成一個新的地址,僅以用于當次恢復。除非實際需要恢復,不然他們不需要使用該地址發送任何交易。為了配合技術上的防護,建議選擇來自不同社交圈的、具有差異性的守護者(理想情況下包括一個機構守護者),這些方案使守護者很難同時受到攻擊或是進行串謀。
如果錢包所有者去世或是永久喪失行為能力,這將是一項社會認可的標準協議,守護者可以公開其身份,以便在這種情況下他們可以找到彼此并恢復資金。
社交恢復式錢包并未背叛“密碼學價值”,而是一種體現
對于任何形式的多重簽名,社交恢復等等使用建議的一種常見反應是,這些解決方案最終還是要追溯到“信任他人”這一點上,因此是對區塊鏈和加密貨幣行業價值的背叛。雖然我理解人們為什么會在乍看之下產生這種想法,但我還是認為,這種批評源于對密碼技術的誤解。
對我而言,密碼技術的目標絕不是消除所有形式的信任。相反,密碼技術的目的是使人們能夠使用密碼學和經濟學來構建事物,從而增加可信任對象的選擇,并進一步建立更多有限的信任形式:可以授予某人代表你進行某些行為的權力,而無需授予全權。從這種角度來看,多重簽名和社交恢復是這一原則的完美體現:每個參與者對能否接受或拒絕交易都有一定影響,但是沒有人能單方面轉移資金。與必須由個人或密鑰單方面控制資金的情況相比,這種更復雜的邏輯引入了安全得多的設置。
“謹慎地運用人的輸入而非徹底拋棄”這一基本理念是有效的,因為這可以很好地與人腦的優缺點相適應。人腦非常不適合記憶密碼和保存紙錢包,但卻是用于追蹤與他人關系的ASIC。對于非技術用戶來說,其效果甚至更強。他們可能在使用錢包和密碼時遇到麻煩,但是他們與技術用戶一樣擅長處理諸如“選擇七個不會全部勾結起來欺騙我的人”之類的社交任務。如果我們能夠從人類輸入中提取一些信息到某種機制中,而又避免使這些輸入成為攻擊向量,那么我們應該弄清楚如何實現。社交恢復非常穩健,要破壞一個擁有七個守護者的錢包,七個守護者中至少有四個需要以某種方式識別彼此并勾結起來盜取資金,其中任何一個人都不能向錢包所有者通風報信,這比起攻擊一個純粹由個人維護的錢包要困難許多。
社交恢復如何防止盜竊?
上文所述的社交恢復討論到了“丟失”錢包的風險,但是仍然存在簽名密鑰被“竊取”的風險:有人侵入你的計算機,在你已經登入的情況下趁虛而入,然后給你當頭一棒,甚至只是通過制造用戶界面故障來引誘你簽署交易。
我們可以通過添加保險庫來增強社交恢復能力以應對此類問題。每個社交恢復式錢包都可以附帶一個自動生成的保險庫。只需將資產發送到保險庫地址即可將其轉移至保險庫,但要將其轉出保險庫需要一周延遲時間。在延遲期間,簽名密鑰(或監護者)可以取消交易。如果需要,還可以對保險庫進行編程,以便可以立即進行一些有限的操作(例如在白名單代幣之間進行Uniswap交易)。
既有的社交恢復式錢包
目前已經有兩個主要的錢包實現了社交恢復功能,Argent以及Loopring:
Argent錢包是首個且最受歡迎的“智能合約”錢包,社交恢復是其賣點之一。Argent錢包加入了可以對監護者進行增刪的界面:
為了防止盜竊,錢包設有每日限額:達到該金額的交易可以即時進行,但超過該金額的交易需要守護者批準才能完成提款。
Loopring錢包為大家所知可能因為它是由Loopring協議(用于支付和去中心化交易所的ZKrollup方案)開發者及支持者構建的。但是Loopring錢包還具有社交恢復功能,與Argent中的功能非常相似。在這兩種情況下,錢包服務商都免費提供一位守護者,該守護者通過手機發送的確認碼來對用戶進行身份驗證。用戶可以通過提供以太坊地址來添加同一錢包的其他用戶或任何以太坊用戶作為其他守護者。
兩個錢包的用戶體驗都非常順滑。可能存在兩個挑戰。首先,兩個錢包中的操作順滑度都依賴于錢包商的“中心化”中繼者(relayer),將已簽署的交易重新發布出來,其次費用較高。所幸這兩個挑戰都是可以解決的。
遷移到L2(rollups)可以解決其他挑戰
如上所述,存在兩個主要挑戰:1)依賴中繼者(relayer)來處理交易,以及2)交易費用高。在以太坊應用中,對中繼者的依賴是一個日益普遍的問題。出現此問題的原因是,以太坊中有兩種帳戶類型:由單個私鑰控制的外部帳戶(EOA)和合約賬戶。以太坊有一條規則,即每筆交易都必須始于外部賬戶。最初的意圖是外部賬戶代表“用戶”,合約賬戶代表“應用程序”,并且僅當用戶與應用程序交互時,該應用程序才能運行。如果我們想要機制更加復雜(如多簽和社會恢復)的錢包,則需要使用合約來代表用戶。但一個新的挑戰隨之而來:如果你的資金在合約賬戶中,則需要擁有一個其他有ETH余額的賬戶,以支付每筆交易,一旦交易費用迅速攀升,可能需要大量的ETH。
Argent和Loopring的解決方案式親自運行中繼者。中繼者偵聽用戶提交的鏈下數字簽名的消息,并將這些消息打包在交易中,繼而發布到鏈上。但是從長遠來看,這不是一個好的解決方案,因其帶來了中心化問題。如果中繼者發生故障,而用戶需要發送交易,雖然他們始終可以從自己的外部賬戶發送交易,但是仍然需要在中心化和使用不便之間引入新的權衡。有解決方案嘗試在去中心化的情況下解決這個問題并提升操作便利度。主要的兩種解決方案一是創建一個通用型去中心化中繼者網絡,二是修改以太坊協議以支持交易從合約賬戶發出。但是這些方案都不能解決交易費用的問題,實際上由于智能合約本來就更復雜,可能會加劇問題嚴重性。
幸運的是,我們可以尋求第三種解決方案同時解決這兩個問題:將生態系統移至二層協議,例如optimisticrollups和ZKrollups。Optimistic和ZKrollups可以設計為內置抽象,無需中繼者。現有的錢包開發人員已經在研究rollups,但是最終要整體遷移到rollup上是整個生態系統的挑戰。
將生態系統大規模遷移到rollups提供了很好的機會,可以扭轉以太坊生態系統早期的錯誤,并為多簽和智能合約錢包在幫助保護用戶資金方面發揮更加重要的作用。但這需要大家更廣泛地認識到錢包安全性確實是一項挑戰,而且我們還沒有做出足夠的嘗試以應對挑戰。多重簽名和社交恢復不一定是故事的結局,可能會有更好的設計。但是轉移到rollups并確保其將智能合約錢包視為“頭等公民”,這一革新是實現這個目標的關鍵步驟。
原文鏈接:https://vitalik.ca/general/2021/01/11/recovery.html
Tags:以太坊ROLROLLALL以太坊交易平臺TROLL幣CoinControllerCashmathwallet錢包提不了幣
律動BlockBeats消息,1月20日,著名動畫「RickandMorty」的作者JustinRoiland創作的加密藝術NFT在NiftyGateway正式發售.
1900/1/1 0:00:00??ETH現價1440左右,正是突破強勢期,追漲顯然有些不適時宜。待滯漲開急空、短空。?畢竟ETH遠沒有BTC號召力強,無法帶動整個市場上行!只是不難看出,資金進場投機性較強.
1900/1/1 0:00:00活動介紹 金色沙龍第59期:DeFi-2021發展形勢與投資價值分析時間:1月22日13:00地點:上海徐匯區瑞平路230號B1-09LOFAS 規模:150人 ZachXBT:ankr開發者在.
1900/1/1 0:00:002021年1月19日周二農歷臘月初七摘要:比特幣趨勢怎么看?比特幣還要繼續漲嗎?比特幣會先跌一下嗎?比特幣還能漲多久?比特幣為何要在深夜跳水2000點?比特幣后市如何?是漲是跌?為何我一做多行情.
1900/1/1 0:00:00投資上只有一個方向,不是做多,也不是做空,只有做對的方向。我是老潘,一個愿陪你東山再起的朋友。百萬如何賺?且看老潘短線布局思路 MakerDAO:借貸協議Spark Protocol將擴展至多鏈.
1900/1/1 0:00:001.20下午ETH行情分析及操作建議 行情分析: ????目前以小時圖來看,目前點位在布林帶下半部分運行,上午幣價最低跌到1316.88然后回升,目前幣價在1370附近震蕩.
1900/1/1 0:00:00