摘要
“Notyourkey,notyourcoin”,無論智能合約錢包還是個人賬戶錢包,私鑰都擁有對錢包的絕對控制權,一旦私鑰丟失我們的錢包就完全暴露在風險之下
私鑰是錢包的基礎,助記詞是私鑰的恢復方案,也是目前的錢包發展阻礙所在
MPC和社交恢復帶來的無助記詞方案是MassAdoption的基礎
未來錢包的更多可能性,關于EIP-4337的期待
正文
2010年,以太坊創始人VitalikButerin在魔獸世界中有一個術士的賬號,有一天暴雪決定將術士角色大削,移除了生命虹吸法術的法傷部分。他哭著睡著了,并且在那一天意識到集中服務器會帶來怎樣的恐怖,于是他決定退出,創建了去中心化網絡以太坊。2022年11月,世界上最大的衍生品交易所FTX被曝挪用用戶資金,創始人SBF被巴哈馬逮捕,準備移交美國受審。
從13年前被暴雪莫名背刺的術士玩家,到今天維權的FTX受害用戶,我們越來越認識到“Notyourkey,notyourcoin”這句話的重要性:即使有第三方的審計/監管機構,中心化的服務器仍然可以肆意篡改、粉飾數據,而在去中心化網絡上,鏈上賬本透明且無法篡改,只要我們擁有自己賬戶的私鑰,便擁有對個人資產的絕對控制權。
去中心化是美妙的,但代價呢?
生活在區塊鏈網絡中的我們,是個人資產的第一負責人。大部分的用戶選擇在選擇鏈上錢包時,最關鍵的權衡是,我愿意為我的資產承擔多大的風險以及多大的責任?以傳統金融機構為例:
在追求安全性的用戶的眼里,他們希望將錢放在開戶步驟繁瑣,但是規模體量龐大的銀行里:大銀行的資金安全>標準嚴格的開戶步驟
在追求應用性的用戶眼里,他們僅僅將錢放在微信和支付寶里即可,微信和支付寶能夠便捷地完成P2P交易,而且只需要身份證和手機號即可完成注冊,即使微信和支付寶只是兩家上市企業而非國家支持的銀行機構:微信的便捷性>微信的運營狀況
回到web3,我們在web3中存放資產有兩種方式,托管錢包和非托管錢包,而在此之前我們需要對錢包的原理進行一個簡要的介紹:
錢包與私鑰
賬戶的生成即私鑰的創建過程。在以太坊上,有兩種賬戶類型:EOA?賬號和合約賬戶:
以EOA賬戶為例,
EOAaddress
通過生成256bit的隨機數作為私鑰,再通過私鑰由SHA3算法推導出對應的公鑰,然后再通過keccak-256計算出地址,便得到了一個由唯一私鑰對應的個人賬戶。在這個過程中,私鑰會計算生成12個助記詞,我們可以用助記詞來重新推導出私鑰。
目前各大主鏈上最主流的dApp錢包都是EOA錢包,如Metamask,Phantom(Solana),BSCWallet(BSC),Keplr(Cosmos)。
2.而智能賬戶則是通過EOA賬戶在鏈上部署的一段EVM編碼,可以實現不同的功能。但是和EOA賬戶不一樣的是,合約賬戶沒有私鑰,不能主動執行,它只能被EOA賬戶發起調用,也正因此,智能合約錢包的最終控制權=部署合約使用的EOA賬戶私鑰,在這個層面上理解,智能合約賬戶也是被私鑰控制的。只要錢包地址是合約,那就是智能合約錢包。
智能合約錢包分為多簽錢包和賬戶抽象錢包:
多簽錢包:早在2013年,多簽錢包就已經成為基金組織的首要選擇。這項技術最初是在比特幣生態系統中開發的,現在以太坊中也存在優秀的多簽錢包:以太坊基金會用的就是一種4-of-7的多簽錢包
賬戶抽象則是以單個EOA錢包控制合約地址,達到用智能合約模擬EOA的效果,如Argent/Loopring等熱門項目都屬于賬戶抽象錢包
Cool Cats將在Reddit發售限量版Gen4 Collectible Avatars系列:7月26日消息,NFT項目Cool Cats宣布正在參與Reddit的Gen4 Collectible Avatars系列,其限量版NFT系列于7月26日在Reddit上發售。[2023/7/26 15:59:26]
ApecoinContractAddress
3.賬戶創建之后,我們參與任何鏈上活動,都離不開私鑰的參與。
根據廖雪峰老師的介紹:
在去中心化的網絡中,并沒有一個類似銀行這樣的信任機構存在,要想在兩個節點之間達成交易,就必須實現一種在零信任的情況下安全交易的機制。
我們假設小明和小紅希望達成一筆交易,一種創建交易的方法是小紅聲稱小明給了他1萬塊錢,顯然這是不可信的;
還有一種創建交易的方法是:小明聲稱他給了小紅一萬塊錢,只要能驗證這個聲明確實是小明作出的,并且小明真的有1萬塊錢,那么這筆交易就被認為是有效的。
如何驗證小明做出的聲明呢?
通過私鑰創造的簽名可以讓驗證者確認這個聲明的發起方:任何人都可以通過公鑰對數字簽名和轉賬的結果進行對照驗證,由于只有擁有私鑰的小明才可以發起這個聲明,所以可以確信這個聲明的確是小明做的。
而在以太坊網絡中,這樣的交易不僅包括P2P的轉賬交易,也包括對智能合約的調用。
所以當我們日常使用錢包時,等于通過錢包平臺對本地私鑰進行調用以完成鏈上的簽名。
錢包的安全性,門檻與抗審查性
錢包的一切都圍繞著私鑰構建。
錢包本質上是一個1.創建私鑰,2.保管私鑰,3.使用私鑰,4.備份私鑰,5.恢復私鑰的工具,目前的主流私鑰備份/恢復方案便是助記詞,即在注冊錢包時出現的12/24個單詞組合:
助記詞可以推導出私鑰的明文,當用戶遷移錢包至新的設備上時,只需要在錢包app上輸入助記詞便可推導出私鑰,從而重新獲得錢包的控制權
對于用戶來說,私鑰=助記詞,但這兩個概念在錢包的日常使用中仍然是有區別的:助記詞是用戶私鑰的備份恢復方案
一個比喻:助記詞等于將你的鑰匙復制了下來,當你的鑰匙丟失之后,可以通過助記詞再生成一把一樣的鑰匙
由于私鑰是我們與區塊鏈網絡進行交互的唯一憑證,我們的責任在于保管好我們的錢包私鑰和助記詞。最安全的創建賬戶方式當然是在一個離線的環境,自己通過代碼運行隨機數和SHA256算法生成自己的地址,但是無疑這個門檻太高,并不適用與絕大部分的用戶。所以在錢包的選擇上,用戶需要考慮三點:安全性,門檻和抗審查性:
安全性:黑客破解錢包私鑰/助記詞的成本有多高
以硬件錢包為例,黑客只能通過釣魚或者線下盜取私鑰的方式才能獲得用戶私鑰
門檻:錢包的易用性如何
Metamask的注冊過程中需要用戶記錄12個助記詞,更換設備時需要重新輸入12個助記詞,而Binance的交易所注冊和換設備登錄都可以通過郵箱登錄一鍵完成
抗審查性:錢包的最終控制權是否在用戶手里
如果錢包app會保存用戶導入的助記詞明文上傳至服務器,導致黑客可以通過破解服務器盜取用戶錢包。而即便沒有黑客攻擊,也存在這Slope項目方監守自盜的可能性,沒有達到抗審查。
錢包類別主要分為兩種:非托管錢包和中心化的托管錢包。
非托管錢包:用戶自行保管助記詞
a.以主流錢包Metamask為例,MetaMask是一種非托管加密貨幣錢包。非托管意味著MetaMask不存儲有關錢包的任何數據,而私鑰數據都在本地級別的瀏覽器或移動應用程序中,當用戶需要進行鏈上簽名活動時,Metamask將從本地文件調用私鑰進行簽名。而如果用戶的私鑰和助記詞都丟失/竊取,Metamask將無法幫助用戶尋回,用戶的資產也將永久丟失
b.被公認為最安全的硬件錢包,則是采用了一個硬件設備離線生成私鑰和錢包地址,再通過將地址的公鑰導入至網頁錢包如Metamask,需要簽名時再通過Ledger硬件的線下確認,由于私鑰完全不接觸互聯網,黑客很難竊取硬件錢包里的私鑰。但是如果用戶把助記詞丟失了,或者被釣魚了,硬件錢包的防護作用也歸零,用戶的資產依舊會被盜走。
Web3游戲開發公司Galaxy Rendered Limited被CEDEN Network收購:金色財經報道,Web3 游戲開發公司 Galaxy Rendered Limited 宣布已被 CEDEN Network 收購,旨在強化后者內容生態系統,但具體收購金額暫未公開。Galaxy Rendered Limited 旗下擁有“邊玩邊賺” PVP 游戲 Rocket Monsters,這款游戲的開發和藝術團隊將繼續保留,CEDEN 將會按照原發展路線圖完善并確保游戲交付,此外 Galaxy Rendered Limited 創始人兼首席執行官 Andrew Woodward 將加入 CEDEN 顧問委員會。(cryptobriefing)[2023/5/25 10:39:20]
托管錢包
交易所錢包如Coinbase/Binance等則采取了托管錢包的方式,不同之處在于,Coinbase內顯示的賬戶不是用戶持有自己的私鑰,而只是Coinbase程序里顯示的記賬數字而非Etherscan上顯示的鏈上資產,可以理解為用戶信任Coinbase,將資產托管給Coinbase而非自己擁有,所以coinbase的賬戶也無法和Uniswap等dAPP進行交互
Source:Binance
總體而言,托管錢包中,項目方代為保管助記詞,注冊和恢復錢包的門檻低,但是錢包的安全取決于項目方而非用戶自身,且項目方擁有錢包的實際控制權;非托管錢包的助記詞掌握在用戶手中,注冊和恢復錢包的門檻高,但是安全性和抗審查性都很高。
助記詞方案的缺陷
隨著WEB3不斷向前發展,越來越多的需求和應用場景隨之出現,鏈上的生態蓬勃發展,尤其是2021年的DefiSummer吸引了大批原本只在交易所交易的用戶將資產遷移至鏈上,截至2022年3月,MetaMask月活用戶已經達到3000萬,但同時,助記詞作為目前最主流的助記詞賬戶恢復方案,成為了黑客的主要攻擊目標:對于普通用戶而言,最常見的錢包被盜事件便是助記詞在剪貼板被復制,或者遇到了釣魚網站被竊取了儲存于本地的私鑰文件。
當黑客進行攻擊時,他需要衡量攻擊的成本以及獲得的回報,所有的私鑰都是字典的子集,只要窮盡字典的排列,黑客便可以獲得鏈上的所有資產。然而這個投入產出比是糟糕的,字典如果通過暴力算法排列所有的組合;
目前主流的助記詞是12個英語單詞,詞庫一共2048個單詞。也就是2048^12=5.44e39種;
如果要使用如此龐大的算力,黑客已經可以通過51%攻擊控制BTC網絡;
所以,黑客回報率更高的方法是,通過釣魚的方式獲取用戶的助記詞,或者竊取用戶本地設備保存的私鑰。
繼續以Metamask作為例子,黑客可以在兩個地方獲得保存的助記詞和私鑰:
助記詞
a.錢包創建之后,用戶需要保管好生成的助記詞,一般建議采取用紙筆的方式抄寫在白紙上并妥善保管,但是也有懶惰的人會使用剪切板進行復制粘貼,保存在doc文檔,甚至是微信的聊天記錄里;
b.如果黑客已經在用戶的手機上/電腦上安裝的惡意軟件,時刻監控用戶的剪貼板,便可以竊取到剛剛創建的私鑰。比如QuickQVPN曾被曝出復制用戶的剪貼板竊取助記詞。
私鑰
a.同時,Metamask一般會將私鑰加密后保存在創建錢包的本地設備以便隨時調用,如果是在Chrome上安裝的Metamask插件:
i.在Windows上的儲存位置,Metamask的私鑰保存地址:
C:\Users\USER_NAME\AppData\Local\Google\Chrome\UserData\Default\LocalExtensionSettings\nkbihfbeogaeaoehlefnkodbefgpgknn。
ii.在Mac上的儲存位置:Library>ApplicationSupport>Google>Chrome>Default>LocalExtensionSettings>nkbihfbeogaeaoehlefnkodbefgpgknn
現場 | Parity CTO Fredrik Harrysson:平行鏈很快會啟動:金色財經報道,由Web3基金會主辦的Web3大會10月30日在上海舉行。Parity首席技術官Fredrik Harrysson在會上透露,波卡平行鏈很快會啟動,目前在Rococo測試,Rococo是專為平行鏈建立的無激勵的測試網。Fredrik Harrysson還介紹了substrate。他表示,在開發substrate之前接觸了很多企業了解它們需求,其中之一是鏈下工作機制,鏈下工作機制讓區塊鏈可以觸達環境信息。同時企業不希望把所有信息公開例如web請求等,平行鏈滿足它們需求,而且還可以共享安全性。Parity首席執行官Jutta Steiner在會上還介紹了Parity布局,Parity有生態發展部門、孵化器、專門負責DeFi的小組。[2020/10/30]
b.即Metamask的安全性取決于Chrome的安全性,一旦Chrome的防火墻被黑客攻破,黑客便可以獲得用戶的地址私鑰,轉移所有資產。這也是為什么硬件錢包在安全性上優于Metamask等插件錢包。
Metamask以外,部分非托管錢包,甚至達不到高抗審查性,如Solana上的Slope錢包被盜事件:Slope的移動應用在創造Phantom錢包時,通過TLS向他們的Sentry服務器發送助記詞,這些助記詞隨后以明文形式存儲,這意味著任何可以訪問Sentry的人都可以訪問用戶私鑰。
除此之外,還有更多的錢包安全事故值得我們反省:
EOA賬戶被盜
Fenbushi資本創始人錢包被盜:
沈波錢包被盜原因為助記詞泄露,被盜時使用的錢包為TrustWallet,被盜金額包括約3823萬枚USDC、1607枚ETH、72萬枚USDT和4.13枚BTC。
Wintermute錢包遭攻擊損失約1.6億美元,被盜原因是Wintermute為了節省Gas費使用了Profanity來創建Vanity錢包:
Profanity的設計目的,是幫助人們生成一個具有特殊視覺效果的賬號,比如以特殊字符開頭或者結尾的賬號,另一方面,一些開發者使用它來生成開頭為很多個0的賬號。
Profanity在獲取到第一個32位私鑰SeedPrivateKey以后,為了碰撞出需要的賬號地址,會通過一個固定的算?法不斷迭代這個私鑰,最多200萬次。當PublicKey已知時,我們可以通過窮舉SeedPrivateKey和Iterator來得到SeedPrivateKey,計算量大概為2^32乘以200萬次,算力大的顯卡在幾天甚至幾個小時內就能完成。
合約賬戶被盜
Paraswap的合約部署地址被盜:
根據慢霧的調查報告:黑客地址已經獲得了ParaSwapDeployer和QANplatformDeployer的私鑰權限。黑客從ParaSwapDeployer中提取了1000美元,并將其轉入轉出QANplatform部署者地址作為測試。我們使用AML平臺對0xf358..7036進行分析后發現,黑客還盜取了TheSolaVerseDeployer及多個其他靚號地址。截止目前,黑客已經竊取了超過17萬美元的資金。
Ronin橋于今年3月受到黑客攻擊,損失17.36萬枚ETH和2550萬枚USDC:
黑客虛構了不存在的公司,通過Linkedin和WhatsApp勾搭了Axie的高級工程師,利用新工作機會引誘他,還安排了面試,最后開出豐厚的待遇,但offer文件有,于是成功侵入Axie系統,盜竊工程師部署合約的EOA地址私鑰。
助記詞方案除了是黑客的主要攻擊目標以外,同時也是阻止新用戶進入WEB3的高門檻。
創建錢包時,為了安全起見需要手動抄寫12個單詞,而且這張白紙最好不要拍照保存。即使使用可信的開源密碼保存軟件,我們也無法使用便捷的復制粘貼保存,因為存在剪貼板被盜風險
恢復錢包時,即更換登錄設備時,需要翻出這張白紙,重新輸入12個單詞
保管一張寫有12個單詞的白紙這件事情本身聽起來就很不靠譜且不web3:我們期待著生活在metaverse的未來,但是我們的賬戶安全卻靠一張宋代發明的白紙。至此,這兩個步驟足以勸退大部分的web2玩家,畢竟在web2的世界里,大部分注冊流程都可以使用google賬號/ios賬號一鍵登錄。
數據:Reddit超80%用戶使用FortNite的Brick代幣進行轉賬:Reddit的r / FortNiteBR社區進行的ERC-20代幣轉賬的數量幾乎是r / CryptoCurrency社區的五倍。DappRadar的Reddit Points Tracker顯示,?在Reddit推出基于以太坊的社區積分系統僅僅兩周后,超過15000名用戶已經執行了近18000次代幣傳輸,超過80%的用戶使用了FortNite的Brick代幣。注:此前消息,Reddit正在測試以太坊ERC-20代幣形式的社區積分;最先發行$MOONS和$BRICKS兩種以太坊代幣,這兩種代幣將分別發行給/r/Cryptocurrency和/r/FortniteBR兩個社區的成員,目前這兩個板塊分別擁有100萬和130萬訂閱者。(Cointelegraph)[2020/5/28]
無助記詞的賬戶恢復新方案
為了降低錢包的門檻,吸引更多的用戶進入WEB3,我們需要使用如Web2的社交賬號登錄方案,而不損失錢包的安全性和抗審查性。由此,我們需要更便捷且安全的的賬戶恢復方案,目前的一切討論都指向一個終局:無助記詞。目前的無助記詞有兩種實現方案:MPC方案和社交恢復方案。
1.MPC方案:私鑰由多方共同計算生成,從而避免用戶端私鑰丟失/備盜導致的單點事故。
可以理解為:MPC是一個3FA,每一個驗證方式都掌握著一個密鑰碎片,門鎖沒有一個單獨的鑰匙,當其中的一個密鑰碎片丟失了,用戶可以用其他的驗證方式恢復丟失的密鑰碎片
2.社交恢復方案:將資金儲存于智能合約中,通過多簽/單簽的方案由EOA錢包控制,并指定可信的第三方監護人,當EOA錢包私鑰丟失,通過第三方監護人更換合約的控制權,所以用戶不需要保存助記詞。
目前的討論通常將社交恢復和賬戶抽象錢包并列討論,需要注意的是,社交恢復方案是智能合約上的一個標準和功能,由2019年的EIP-2429提出,指用戶可以通過監護人對合約的控制私鑰進行更換;最近熱議的EIP-4337則是有關賬戶抽象的討論,我們會在下面的篇章中討論
MPC方案
MPC方案是在創建EOA錢包時,多方共同創建私鑰碎片。2019年,在CRYPTO2019上公布了《基于安全多方計算的兩方橢圓曲線數字簽名》的論文,正式將MPC的實現帶入大家的視野。MPC即安全多方計算。
多方計算是加密技術的一個分支,始于將近40年前的AndrewC.Yao的開創性工作。使用多方計算,私鑰的生成不再需要單點完成,而是可以由一組互不信任的多方共同計算得出并持有,這項技術即DKG。
分布式密鑰的生成可以采用允許不同類型的訪問結構的方式進行:常規的“toutofn”設置將能夠承受與私鑰相關的操作中最多t次任意失敗,而無需損害安全性。
門限簽名方案是對分布式密鑰生成和分布式簽名這種組合的稱呼。
同時當其中一方的私鑰碎片丟失/暴露,MPC方案支持恢復和更換私鑰碎片,達到無需更換賬戶也能保證賬號安全的效果。
MPC方案做到了在賬戶創建,使用,保存,備份和恢復都沒有出現完整的私鑰,通過多方共同生成/持有私鑰碎片以及”toutofn“的TSS門限簽名方案,達到了比Metamask等單點生成/持有私鑰錢包更高的便捷性。安全性和抗審查性:與傳統的助記詞方案相比,大大提高了用戶使用的安全性,甚至可以媲美硬件錢包
安全性
a.無私鑰/助記詞:錢包生成的過程中,各方通過MPC各自生成私鑰碎片,完整的私鑰在整個過程中都沒有出現過,可以理解為MPC是真正的無私鑰錢包;
b.黑客攻擊成本大大增加:黑客即便入侵了用戶的本地設備,也只能獲得私鑰碎片。只有當黑客掌握了錢包方的服務器+用戶的本地設備才可以盜取用戶的財產。
門檻:
社交登錄:用戶可以通過郵箱等身份驗證方式在MPC錢包上創建賬戶。
抗審查性:
中心化機構只持有賬戶私鑰碎片,無法控制用戶的賬戶。
社交恢復方案
社交恢復方案部署在智能合約賬戶上,智能合約錢包可以理解為用EOA賬戶在鏈上部署了一個用于管理資金的合約,和普通的智能合約相同,部署者的EOA錢包擁有對于智能合約的控制權。
Mike Alfred:加密牛市周期是不可避免的:市場分析公司Digital Assets Data聯合創始人Mike Alfred表示,自2017年的超級牛市以來,市場經歷了兩年的不確定性,目前有跡象顯示,市場有望出現一次大幅反彈。他相信一個加密牛市周期是不可避免的。Mike Alfred說:“有助于推動這一周期的因素包括全球財政和貨幣當局最近前所未有的干預,以及迅速改善的貿易、貸款和托管基礎設施。”(Cointelegrap)[2020/5/27]
智能合約錢包并不是無私鑰的解決方案,因為控制的EOA錢包存在私鑰;
但是智能合約錢包可以通過社交恢復方案更改用戶的簽名私鑰;
社交恢復方案是在你的鑰匙丟失之后,讓監護人給你換一把鑰匙。
EIP-2929提案之后過了兩年,2021年Vitalik首次在論壇里提出了社交恢復的錢包應用案例:
在創建智能合約錢包時,用戶可以指定其他EOA地址作為“監護人”,“監護人”地址需要在鏈上簽名確認,付出gasfee;
用戶的EOA賬戶作為“簽名私鑰”,可用于批準交易;
至少有3名(或更多)“監護人”EOA賬戶,不能批準交易,但可以更改”簽名私鑰“。更改“簽名私鑰”也需要“監護人”付出gasfee進行簽名確認;
簽名私鑰具有添加或刪除監護人的功能,但整個過程需要經過一段時間。
在日常的使用場景里,用戶可以像使用普通的錢包一樣使用具有社交恢復功能的智能合約錢包,用他們的簽名密鑰確認交易。這樣,每筆交易都可以通過一次確認快速完成,就像在傳統錢包中一樣:
a.創建私鑰
賬戶抽象錢包在私鑰的創建上和Metamask無異。
b.保管私鑰
由于控制合約的EOA錢包只是作為“簽名私鑰”使用,并可以通過監護人轉移控制權,所以用戶不需要特意保管助記詞。
c.使用私鑰
合約錢包同樣是轉賬/交易,因為需要調用合約,所以會比MPC錢包和傳統錢包更貴;
但也因為是調用合約,所以支持使用USDC/USDT等非Nativetoken支付,這無疑會大大降低Web3新玩家的交互難度:原理上,項目方在同一個交易里,將用戶的USDCswap成ETH之后代為支付gasfee。
d.備份私鑰
賬戶抽象錢包的私鑰備份步驟用“監護人”代替,然而這是反直覺并且高成本的:
①用戶初次使用web3,希望注冊錢包,卻需要尋找三個已經在web3內有EOA錢包的可信任的好友,讓他們付出gasfee成為自己的監護人;
②若用戶希望補償好友的gasfee,用新創建的錢包進行三次轉賬,則創建一個錢包,一共需要給出6次gasfee,而MPC錢包創建賬戶是無成本的。
e.恢復私鑰
如果用戶丟失了他們的簽名密鑰,這時可以申請使用社交恢復功能。用戶需聯系他們的監護人,讓他們簽署一項特殊的交易,將錢包合約中注冊的簽名公鑰更改為一個新的簽名即可。這就簡單多了:監護人可以通過訪問一個網頁,比如security.loopring,查看恢復請求并簽名。
然而,在私鑰的安全性上,沒有達到MPC錢包的高度:
被攻擊的成本:黑客仍然可以通過入侵用戶設備獲取完整的私鑰,換言之,用戶使用智能合約錢包僅僅只是在私鑰丟失這個場景下,多了一種找回私鑰的手段
抗審查性低:由于社交恢復方案需要指定“監護人”,存在著“監護人”相互串通作惡的可能性
社交恢復的主要風險是:
①合謀:如果一些用戶知道他們是某個恢復的一部分,他們可能會對恢復攻擊的執行感興趣;
②目標攻擊:外部代理可能了解恢復的所有者,并瞄準執行恢復攻擊所需最薄弱的點;
③一般暴露:攻擊者如果設法感染大型用戶基礎環境依賴項,并獲得對多個身份的訪問權限,也可能通過恢復對未受影響的用戶產生副作用。
MPC方案v.s.社交恢復方案:安全性,門檻,抗審查性
MassAdoption的未來:Web3錢包
有了無助記詞賬戶恢復方案之后,我們可以期待新一代的Web3錢包,即可以使用郵箱注冊和登錄的錢包。在我們挑選了MPC錢包和賬戶抽象錢包的代表項目來分別做分析:用戶準入上他們都達到了無助記詞的低門檻,我們從安全性和抗審查性分別對他們做評估——
Bitizen
在MPC錢包中,抗審查性和便捷性做得比較徹底的Bitizen錢包采用了2/3的TSS方案,讓我們從錢包的安全性和抗審查性對其進行分析:
安全性:
a.創建
為了達到強審查性,用戶在完成錢包注冊之后,可以用第二臺設備通過藍牙進行私鑰碎片備份,采用2/3TSS方案:Bitizen服務器,用戶本地設備以及用戶第二臺設備。
b.保管
由于錢包創建過程中沒有生成過完整私鑰,所以也沒有助記詞:用戶的Bitizen賬號會關聯用戶的云盤和郵箱,用戶只需郵箱登錄,便可正常使用Bitizen錢包。
c.使用
①用戶通過面容識別認證獲得Bitizen云端儲存的私鑰碎片和本地設備儲存的私鑰碎片進行簽名即可;
②當第二臺設備通過藍牙備份私鑰碎片之后,可以完全離線保存,平日也完全不需要用到。
d.備份
①將本地私鑰碎片備份至用戶的云盤;
②當用戶需要更換設備登錄,只需要通過郵箱和面容認證即可,Bitizen會請求用戶從云盤上的恢復私鑰碎片的備份。
e.恢復
①同樣的,當用戶的設備丟失/誤刪了Bitizen的本地文件,可以通過云盤恢復私鑰碎片;
②當用戶甚至無法登錄云盤,Bitizen會通過服務器上的私鑰碎片和用戶第二臺備份設備,重新計算出私鑰碎片,讓用戶恢復正常的使用。
Source:Bitizen
抗審查性:
的TSS方案讓用戶擁有自己錢包的絕對控制權,即使Bitizen倒閉或者跑路,用戶依然可以正常行使錢包的控制權。
Unipass
賬戶抽象錢包以Unipass為例,Unipass采取了智能合約+MPC錢包的方式,結合兩種方案的優點:
在交易上,可以使用錢包支持的任意代幣支付gasfee;
在保管私鑰上,使用了MPC和TSS技術分布式生成私鑰,從而不會發生私鑰被黑客單點獲得的可能性——私鑰分成兩片,一片保存在Unipass的服務器上,一份保存在用戶的本地設備中;
在恢復私鑰上,Unipass使用了DomainKeysIdentifiedMail(DKIM)方案,用戶可以使用郵箱地址作為“監護人”,而不是其他的EOA地址,如此大大降低了用戶尋找監護人的門檻:并不需要監護人使用區塊鏈,只需要監護人的郵箱即可。
Source:Unipass
低門檻—>高應用性
低門檻錢包并不是錢包應用的終點,目前的Web3基礎設施與Web2的傳統金融相比仍有一定距離。Visa提供的自動扣款和定期自動付款功能為用戶帶來了巨大的便捷,但在以太坊上實現仍具有一定難度。賬戶抽象賬戶可能會是下一個高應用性的區塊鏈錢包敘事:Visa發布文章「自我托管錢包的自動支付」,探索利用賬戶抽象錢包Argent在StarNet網絡上實現自動可編程支付,允許用戶使用自我托管錢包自動付款而無需簽署每筆交易。而賬戶抽象錢包具體是如何實現的呢?這個概念實際起源已久。
賬戶抽象-從EIP-2938到EIP-4337
隨著EIP-4337的提出,賬戶抽象這個話題重新回到大家的視線。社交恢復方案和賬戶抽象早于EIP-1271已經提出,并且由Argent等錢包在StarkNet等Layer2完成了落地應用,最近社區熱議的EIP-4337方案有何不同呢?
從2015年的EIP-86到最近熱點EIP-4337,開發者們的核心的思路圍繞著“合約即為錢包”,帳戶抽象使用戶能夠以直觀的方式與主網進行交互。從而使用戶對賬戶的關鍵權限進行精準控制。由于EOA賬戶的代碼已經被規定,無法在EOA錢包上進行模塊化和功能化的設計,比如增加批量轉賬/社交恢復等功能,所以大家將突破口放在了智能合約上。與EIP-4337最為接近的提案是EIP-2938,EIP-2938同樣定義了一個新的智能合約運作協議,但是需要在共識層進行了修改,開發者們難以對其進行維護,而EIP-4337的主要創新點在于主網就不需要進行共識級別的協議更改。
在EIP-1237中,合約地址的簽名發起需要依賴于中心化的Relayer進行簽名,而Relayer是中心化的,并且各個Relayer之間的標準不一,無法兼容多鏈/多dAPP;
EIP-4337中,提出了用Bunbler代替的Relayer,Bundler是去中心化的多方,由此提升了智能合約錢包的抗審查性并且統一了簽名標準,可以大大降低開發者的集成難度;
EIP-4337會在未來造成影響,但是就目前而言對用戶的使用體驗沒有提升。所以該方案的討論狂熱在局限在VC和開發者,更像是Move之于Aptos,讓VC等資方和開發者社區狂熱,對于web3用戶來說,這個Layer1是用solidity寫的還是Move寫的對用戶體驗目前沒有太大改變。
①畢竟從賬戶抽象錢包Argent從2018年至今,已經完成了5620萬美元的融資,經過4年的開發,也僅僅只有7.4w地址:正如defi興起之后,幣圈用戶才從交易所轉去使用Metamask沖土狗挖高APY礦,造就了Metamask的崛起,目前來看智能合約錢包的熱潮仍需一個新的催化劑;
Source:Dune
②Argent上目前的用戶存款還沒有融資額多
Source:Dune
③但是隨著以太主網的賬戶抽象提案落地,意味著Argent用戶可以從StarkNet無縫銜接至Ethereum主網,這個過程中燃起的火花也值得我們期待。
使用案例
精細化權限控制:將EOA單一的簽名權限精細化:
賦予A用戶合約里的X個TokenB的轉賬額度
賦予B用戶合約的授權tokenC的交易權限而非轉賬的權限
當合約長時間無人使用,自動將合約的使用權轉移
Gas的多樣化支付方式:他人代付或者任意代幣支付
自動扣款/自動退款
擁抱Web3的未來
老生常談一句,web2用戶48億人,web3用戶在22年剛剛超過了1億,我們仍處在區塊鏈發展的早期蠻荒階段。
回到文章開頭的那個問題:“我愿意為我的資產承擔多大的風險以及多大的責任?”,能不能既不用記住我的私鑰,也能保證我的錢包不丟失?
一直都有聽到傳統的VC質問:有沒有什么場景,是只有web3可以做到而web2做不到的?我們認為,Web3錢包就其中一個打臉傳統Web2的例子:只有在Web3的去中心化網絡中,我們才能期待一個滿足抗審查性,安全性和用戶體驗的好錢包,用戶既不用承擔風險,也不用承擔責任。而這樣的錢包出現,也是47億Web2用戶擁抱Web3未來的重要基礎:錢包是不僅是Web3第一個入口,更是鏈上域名,靈魂綁定代幣,鏈上聲譽系統等發展的基礎,如果沒有安全的錢包環境,Web3Lego的搭建就沒有穩固的根基。
我們需要更認真地思考,熊市開槍的機會不多,MPC給我們看到了EOA錢包更易用更安全的未來,并且能夠適配目前所有的EVM鏈,智能合約的接入dAPP還有很長一段路要走,社交恢復方案目前看著雞肋,但是智能合約的未來可能性讓人期待,我們究竟要押寶在誰身上,我們會用真金白銀交上這份答卷。
2022是加密貨幣黑暗的一年,但是我們依舊相信未來是光明的。我們是魔獸世界里覺醒的術士,我們希望創造一個這樣的世界:在這個世界里,沒有人能拿走我們的生命虹吸。
聲明:本文部分內容基于對Web3錢包BitizenCEOWinson的訪談,Bitizen為RedlineDAO的Portfolio之一,在此感謝Bitizen與Winson對此文的支持。
參考文獻
門限簽名說明:https://www.wwsww.cn/btbjiaoxue/1273.html
將Web2用戶帶入Web3——未來屬于無助記詞錢包:https://mp.weixin.qq.com/s/TF2FCQDyyApzEVHQjxgZRg
V神:為什么我們需要廣泛采用社交恢復錢包?:https://www.163.com/dy/article/GNQ4K9D905373E94.html
非托管Solana錢包Phantom遭黑客攻擊,多名用戶資金被盜:https://chainfeeds.xyz/search
FenbushiCapital創始合伙人沈波:個人價值4200萬資產被盜,已報案:https://chainfeeds.xyz/feed/flash/detail/7a02d517-5a54-4892-a42a-ac519406da12
Wintermute在DeFi黑客攻擊中損失1.6億美元:https://chainfeeds.xyz/feed/flash/detail/39c24b5e-693c-49a1-bf5c-ec04b829f8b6
ParaSwap合約部署地址私鑰或已泄露,鏈上資金被盜:https://chainfeeds.xyz/feed/flash/detail/04c9a5d2-6e86-4207-9b1d-913eced8d2a7
Ronin跨鏈橋被盜原因:https://chainfeeds.xyz/feed/flash/detail/7a810726-80eb-4fef-a40b-a38c3c9f9738
版權所有,未經許可,謝絕轉載
對話者 SujiYan??MaskNetworkFounder?tim??.bitFounderJsson?《Web3社交報告》作者 主持人 徐思彥??騰訊研究院高級研究員?本文由研討整理而成.
1900/1/1 0:00:00核心觀點: Cosmos:當前版本的ICS將在2023年陷入困境Cosmos:網狀安全性將導致驗證者中心化問題Celestia:數據可用性采樣將徹底改變區塊鏈的發展2023年將建設關鍵基礎設施解.
1900/1/1 0:00:00撰文:Matti、Rapolas、Cam編譯:aididiaojp.eth,ForesightNews胖協議更適用于Web3的早期階段;長遠來看,胖應用將捕獲更多價值.
1900/1/1 0:00:00在任何行業中,創業都并非易事,然而Web3的創業道路尤為艱辛。原因之一是這條路少有人走過。傳統企業創始人可以借鑒前人豐富的經驗教訓,相比之下,雖然Web3的創業者也逐漸摸索出了一些經驗,但目前仍.
1900/1/1 0:00:00金色財經報道,加密貨幣對沖基金ThreeArrowsCapital的創始人在Twitter上收到了該基金清算人的傳票.
1900/1/1 0:00:00在基礎設施層,我們預計2023年將成為以太坊擴展最重要的年份之一。最近的暴雷事件推動人們轉向“優質”L1項目,尤其是大多數客戶、流動性和基礎設施所依附的以太坊,明年我們將把重點放在現有項目的繼續.
1900/1/1 0:00:00