摘要
“Not your key, not your coin”,無論智能合約錢包還是個人賬戶錢包,私鑰都擁有對錢包的絕對控制權,一旦私鑰丟失我們的錢包就完全暴露在風險之下
私鑰是錢包的基礎,助記詞是私鑰的恢復方案,也是目前的錢包發展阻礙所在
MPC和社交恢復帶來的無助記詞方案是Mass Adoption的基礎
未來錢包的更多可能性,關于EIP-4337的期待
正文
2010年,以太坊創始人Vitalik Buterin在魔獸世界中有一個術士的賬號,有一天暴雪決定將術士角色大削,移除了生命虹吸法術的法傷部分。他哭著睡著了,并且在那一天意識到集中服務器會帶來怎樣的恐怖,于是他決定退出,創建了去中心化網絡以太坊。2022年11月,世界上最大的衍生品交易所FTX被曝挪用用戶資金,創始人SBF被巴哈馬逮捕,準備移交美國受審。
從13年前被暴雪莫名背刺的術士玩家,到今天維權的FTX受害用戶,我們越來越認識到“Not your key, not your coin”這句話的重要性:即使有第三方的審計/監管機構,中心化的服務器仍然可以肆意篡改、粉飾數據,而在去中心化網絡上,鏈上賬本透明且無法篡改,只要我們擁有自己賬戶的私鑰,便擁有對個人資產的絕對控制權。
去中心化是美妙的,但代價呢?
生活在區塊鏈網絡中的我們,是個人資產的第一負責人。大部分的用戶選擇在選擇鏈上錢包時,最關鍵的權衡是,我愿意為我的資產承擔多大的風險以及多大的責任?以傳統金融機構為例:
在追求安全性的用戶的眼里,他們希望將錢放在開戶步驟繁瑣,但是規模體量龐大的銀行里:大銀行的資金安全(風險) > 標準嚴格的開戶步驟(責任)
在追求應用性的用戶眼里,他們僅僅將錢放在微信和支付寶里即可,微信和支付寶能夠便捷地完成P2P交易,而且只需要身份證和手機號即可完成注冊,即使微信和支付寶只是兩家上市企業而非國家支持的銀行機構:微信的便捷性(責任)> 微信的運營狀況(風險)
回到web3,我們在web3中存放資產有兩種方式,托管錢包和非托管錢包,而在此之前我們需要對錢包的原理進行一個簡要的介紹:
錢包與私鑰
賬戶的生成即私鑰的創建過程。在以太坊上,有兩種賬戶類型:EOA 賬號(External Owned Account,外部賬戶)和合約賬戶(通過EOA賬戶部署在鏈上的智能合約):
以EOA賬戶為例,
EOA address
通過生成256bit的隨機數作為私鑰,再通過私鑰由SHA3算法推導出對應的公鑰,然后再通過keccak-256計算出地址(原始哈希的后20字節),便得到了一個由唯一私鑰對應的個人賬戶。在這個過程中,私鑰會計算生成12個助記詞,我們可以用助記詞來重新推導出私鑰。
目前各大主鏈上最主流的dApp錢包都是EOA錢包,如Metamask,Phantom(Solana),BSC Wallet(BSC),Keplr(Cosmos)。
2. 而智能賬戶則是通過EOA賬戶在鏈上部署的一段EVM編碼,可以實現不同的功能。但是和EOA賬戶不一樣的是,合約賬戶沒有私鑰,不能主動執行,它只能被EOA賬戶發起調用,也正因此,智能合約錢包的最終控制權 = 部署合約使用的EOA賬戶私鑰,在這個層面上理解,智能合約賬戶也是被私鑰控制的。只要錢包地址是合約,那就是智能合約錢包。
智能合約錢包分為多簽錢包(Multisig account)和賬戶抽象錢包(Abstract account):
多簽錢包:早在 2013 年,多簽錢包就已經成為基金組織的首要選擇。這項技術最初是在比特幣生態系統中開發的,現在以太坊中也存在優秀的多簽錢包(如Gnosis Safe):以太坊基金會用的就是一種4-of-7的多簽錢包(即創建一個智能合約用于存放基金,通過7個EOA賬戶對合約進行控制,只有達到4/7以上的EOA賬戶簽名,才可以完成簽名)
賬戶抽象則是以單個EOA錢包控制合約地址,達到用智能合約模擬EOA的效果,如Argent/Loopring等熱門項目都屬于賬戶抽象錢包
印度借貸平臺KreditBee完成2億美元的D輪融資:金色財經報道,總部位于班加羅爾的金融科技借貸平臺 KreditBee 獲得了私募股權巨頭 Advent International 領投的 1 億美元投資D輪融資。Advent資金補充了 D 系列的第一部分,該系列也籌集了 1 億美元,日本三菱日聯金融集團以及現有投資者 Premji Invest、Motilal Oswal Alternates、NewQuest Capital Partners 和 Mirae Asset Venture Investments 參與了投資。該公司計劃利用這筆資金擴大現有業務,并通過涉足數字化金融產品來實現產品多元化。[2023/1/9 11:01:24]
Apecoin Contract Address
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將無法幫助用戶尋回,用戶的資產也將永久丟失
Reddit聯合創始人:P2E游戲將在五年內占據90%的游戲市場:1月18日消息,Reddit聯合創始人Alexis Ohanian表示,P2E游戲將在五年內占據90%的游戲市場。(GameSpot)[2022/1/18 8:56:07]
b.被公認為最安全的硬件錢包(如Ledger),則是采用了一個硬件設備離線生成私鑰和錢包地址,再通過將地址的公鑰導入至網頁錢包如Metamask,需要簽名時再通過Ledger硬件的線下確認,由于私鑰完全不接觸互聯網,黑客很難竊取硬件錢包里的私鑰。但是如果用戶把助記詞丟失了,或者被釣魚了,硬件錢包的防護作用也歸零,用戶的資產依舊會被盜走。
托管錢包
交易所錢包如Coinbase/Binance等則采取了托管錢包的方式,不同之處在于,Coinbase內顯示的賬戶不是用戶持有自己的私鑰,而只是Coinbase程序里顯示的記賬數字而非Etherscan上顯示的鏈上資產,可以理解為用戶信任Coinbase,將資產托管給Coinbase而非自己擁有,所以coinbase的賬戶也無法和Uniswap等dAPP進行交互
Source: Binance
總體而言,托管錢包中,項目方代為保管助記詞,注冊和恢復錢包的門檻低,但是錢包的安全取決于項目方而非用戶自身,且項目方擁有錢包的實際控制權;非托管錢包的助記詞掌握在用戶手中,注冊和恢復錢包的門檻高,但是安全性和抗審查性都很高。
助記詞方案的缺陷
隨著WEB3不斷向前發展,越來越多的需求和應用場景隨之出現,鏈上的生態蓬勃發展,尤其是2021年的Defi Summer吸引了大批原本只在交易所交易的用戶將資產遷移至鏈上,截至2022年3月,MetaMask月活用戶已經達到3000萬,但同時,助記詞作為目前最主流的助記詞賬戶恢復方案,成為了黑客的主要攻擊目標:對于普通用戶而言,最常見的錢包被盜事件便是助記詞在剪貼板被復制,或者遇到了釣魚網站被竊取了儲存于本地的私鑰文件。
當黑客進行攻擊時,他需要衡量攻擊的成本以及獲得的回報,所有的私鑰(12個助記詞)都是字典的子集,只要窮盡字典的排列,黑客便可以獲得鏈上的所有資產。然而這個投入產出比是糟糕的,字典如果通過暴力算法排列所有的組合;
目前主流的助記詞是12個英語單詞,詞庫一共2048個單詞。也就是2048^12=5.44e39種(5444517870735000000000000000000000000000);
如果要使用如此龐大的算力,黑客已經可以通過51%攻擊控制BTC網絡;
所以,黑客回報率更高的方法是,通過釣魚的方式獲取用戶的助記詞,或者竊取用戶本地設備保存的私鑰。
繼續以Metamask作為例子,黑客可以在兩個地方獲得保存的助記詞和私鑰:
助記詞
a.錢包創建之后,用戶需要保管好生成的助記詞,一般建議采取用紙筆的方式抄寫在白紙上并妥善保管,但是也有懶惰的人會使用剪切板進行復制粘貼,保存在doc文檔,甚至是微信的聊天記錄里;
b.如果黑客已經在用戶的手機上/電腦上安裝的惡意軟件,時刻監控用戶的剪貼板,便可以竊取到剛剛創建的私鑰。比如QuickQ VPN曾被曝出復制用戶的剪貼板竊取助記詞。
私鑰
a.同時,Metamask一般會將私鑰加密后保存在創建錢包的本地設備以便隨時調用,如果是在Chrome上安裝的Metamask插件:
i.在Windows上的儲存位置,Metamask的私鑰保存地址:
C:\Users\USER_NAME\AppData\Local\Google\Chrome\User Data\Default\Local Extension Settings\nkbihfbeogaeaoehlefnkodbefgpgknn。
ii.在Mac上的儲存位置:Library>Application Support>Google>Chrome>Default>Local Extension Settings>nkbihfbeogaeaoehlefnkodbefgpgknn
PredictX將在BSC上啟動首個基于AMM的預測市場:據官方消息,PredictX將在BSC上啟動首個基于AMM的預測市場,這為用戶和流動性提供者參與市場提供了更多的激勵。此外,PredictX也是第一個將條件式代幣(conditional token)帶入BSC的團隊,這是一種新的資產類別,通過嵌入代幣中的組合結果,可以更輕松地在預測市場中創建流動性。
PredictX是將預測市場與DeFi相結合的DeFi協議。
PredictX的獎勵機制設計精準,能自動調節流動性,允許用戶在簡單易用的平臺上根據預測實現盈利,同時確保各市場的流動性處于最佳水平。[2021/5/4 21:23:28]
b.即Metamask的安全性取決于Chrome的安全性,一旦Chrome的防火墻被黑客攻破,黑客便可以獲得用戶的地址私鑰,轉移所有資產。這也是為什么硬件錢包在安全性上優于Metamask等插件錢包。
Metamask以外,部分非托管錢包,甚至達不到高抗審查性,如Solana上的Slope錢包被盜事件:Slope 的移動應用在創造Phantom錢包時,通過 TLS 向他們的 Sentry 服務器發送助記詞,這些助記詞隨后以明文形式存儲,這意味著任何可以訪問 Sentry 的人都可以訪問用戶私鑰。
除此之外,還有更多的錢包安全事故值得我們反省:
EOA賬戶被盜
Fenbushi資本創始人錢包被盜:
沈波錢包被盜原因為助記詞泄露,被盜時使用的錢包為 Trust Wallet,被盜金額包括約 3823 萬枚 USDC、1607 枚 ETH、72 萬枚 USDT 和 4.13 枚 BTC。
Wintermute 錢包遭攻擊損失約 1.6 億美元,被盜原因是 Wintermute 為了節省 Gas 費使用了 Profanity 來創建 Vanity 錢包(開頭 0x0000000,它可以在調用智能合約時達到節省 Gas 的效果):
Profanity 的設計目的,是幫助人們生成一個具有特殊視覺效果的賬號,比如以特殊字符開頭或者結尾的賬號,另一方面,一些開發者使用它來生成開頭為很多個 0 的賬號。
Profanity 在獲取到第一個 32 位私鑰 SeedPrivateKey 以后,為了碰撞出需要的賬號地址,會通過一個固定的算?法不斷迭代這個私鑰,最多 200 萬次(數值來源于 1inch 披露的文章)。當 PublicKey 已知時,我們可以通過窮舉SeedPrivateKey和 Iterator 來得到 SeedPrivateKey,計算量大概為 2^32 乘以 200 萬次,算力大的顯卡在幾天甚至幾個小時內就能完成。
合約賬戶被盜
Paraswap的合約部署地址被盜:
根據慢霧的調查報告:黑客地址(0xf358..7036)已經獲得了 ParaSwap Deployer 和 QANplatform Deployer 的私鑰權限。黑客從 ParaSwap Deployer 中提取了 1000 美元,并將其轉入轉出 QANplatform 部署者地址作為測試。我們使用 AML 平臺對 0xf358..7036 進行分析后發現,黑客還盜取了 The SolaVerse Deployer 及多個其他靚號地址。截止目前,黑客已經竊取了超過 17 萬美元的資金。
Ronin橋于今年 3 月受到黑客攻擊,損失 17.36 萬枚 ETH 和 2550 萬枚 USDC:
黑客虛構了不存在的公司,通過 Linkedin 和 WhatsApp 勾搭了 Axie 的高級工程師,利用新工作機會引誘他,還安排了面試,最后開出豐厚的待遇,但 offer 文件有,于是成功侵入 Axie 系統,盜竊工程師部署合約的EOA地址私鑰。
助記詞方案除了是黑客的主要攻擊目標以外,同時也是阻止新用戶進入WEB3的高門檻。
創建錢包時,為了安全起見需要手動抄寫12個單詞,而且這張白紙最好不要拍照保存。即使使用可信的開源密碼保存軟件(如1password),我們也無法使用便捷的復制粘貼保存,因為存在剪貼板被盜風險
恢復錢包時,即更換登錄設備時,需要翻出這張白紙,重新輸入12個單詞
保管一張寫有12個單詞的白紙這件事情本身聽起來就很不靠譜且不web3:我們期待著生活在metaverse 的未來,但是我們的賬戶安全卻靠一張宋代發明的白紙。至此,這兩個步驟足以勸退大部分的web2玩家,畢竟在web2的世界里,大部分注冊流程都可以使用google賬號/ios賬號一鍵登錄。
EOS社區成員在Reddit論壇發泄不滿:北京時間1月10日晚間Dan Larimer(BM)在Voice上正式宣布辭去block.one首席技術官職務后,大量EOS社區成員涌入Reddit上的EOS子論壇上發泄不滿。@MasterOfMind表示已經“追隨”EOS三年時間,雖然期間收到過許多提醒但仍堅信EOS,但現在BM離開就像是壓倒駱駝的最后一根稻草,使其對EOS產生厭惡感。@Randal_M表示自己自2017年首次代幣發行時就投資了EOS,不僅浪費了大量金錢還浪費了許多時間,建議大家遠離EOS這樣的項目。據悉,Dan Larimer其實從2020年12月31日就已經離開EOS,后續將會轉移到其他“自由即服務”項目。[2021/1/11 15:51:29]
無助記詞的賬戶恢復新方案
為了降低錢包的門檻,吸引更多的用戶進入WEB3,我們需要使用如Web2的社交賬號登錄方案,而不損失錢包的安全性和抗審查性。由此,我們需要更便捷且安全的的賬戶恢復方案,目前的一切討論都指向一個終局:無助記詞。目前的無助記詞有兩種實現方案:MPC方案和社交恢復方案。
1.MPC方案:私鑰由多方共同計算生成,從而避免用戶端私鑰丟失/備盜導致的單點事故。
可以理解為:MPC是一個3FA,每一個驗證方式都掌握著一個密鑰碎片,門鎖沒有一個單獨的鑰匙,當其中的一個密鑰碎片丟失了,用戶可以用其他的驗證方式恢復丟失的密鑰碎片
2.社交恢復方案:將資金儲存于智能合約中,通過多簽/單簽的方案由EOA錢包控制,并指定可信的第三方監護人,當EOA錢包私鑰丟失,通過第三方監護人更換合約的控制權,所以用戶不需要保存助記詞。
目前的討論通常將社交恢復和賬戶抽象錢包并列討論,需要注意的是,社交恢復方案是智能合約上的一個標準和功能,由2019年的EIP-2429提出,指用戶可以通過監護人對合約的控制私鑰進行更換;最近熱議的EIP-4337則是有關賬戶抽象的討論,我們會在下面的篇章中討論
MPC方案
MPC方案是在創建EOA錢包時,多方共同創建私鑰碎片。2019年,在CRYPTO 2019上公布了《基于安全多方計算的兩方橢圓曲線數字簽名》的論文,正式將MPC的實現帶入大家的視野。MPC即安全多方計算(Secure Multi-Party Computation)。
多方計算(MPC)是加密技術的一個分支,始于將近40年前的Andrew C. Yao的開創性工作。使用多方計算,私鑰的生成不再需要單點完成,而是可以由一組互不信任的多方(n方)共同計算得出并持有(n個碎片私鑰),這項技術即DKG(Distributed Key Generation)。
分布式密鑰的生成可以采用允許不同類型的訪問結構的方式進行:常規的 “t out of n”(只要n份私鑰碎片中的t份參與簽名,即可證明是有效簽名)設置將能夠承受與私鑰相關的操作中最多t次任意失敗,而無需損害安全性。
門限簽名方案(TSS)是對分布式密鑰生成(DKG)和分布式簽名這種組合的稱呼。
同時當其中一方的私鑰碎片丟失/暴露,MPC方案支持恢復和更換私鑰碎片,達到無需更換賬戶也能保證賬號安全的效果。
MPC方案做到了在賬戶創建,使用,保存,備份和恢復都沒有出現完整的私鑰,通過多方共同生成/持有私鑰碎片以及”t out of n“的 TSS 門限簽名方案,達到了比Metamask等單點生成/持有私鑰錢包更高的便捷性。安全性和抗審查性:與傳統的助記詞方案相比,大大提高了用戶使用的安全性,甚至可以媲美硬件錢包
安全性
a.無私鑰/助記詞:錢包生成的過程中,各方(錢包項目方和用戶)通過MPC各自生成私鑰碎片,完整的私鑰在整個過程中都沒有出現過,可以理解為MPC是真正的無私鑰錢包;
b.黑客攻擊成本大大增加:黑客即便入侵了用戶的本地設備,也只能獲得私鑰碎片。只有當黑客掌握了錢包方的服務器+用戶的本地設備才可以盜取用戶的財產。
門檻:
社交登錄:用戶可以通過郵箱等身份驗證方式在MPC錢包上創建賬戶(假設MPC錢包采用了2/2的簽名方案,即兩個私鑰碎片同時使用才可簽名)。
抗審查性:
中心化機構(錢包方/備份的設備)只持有賬戶私鑰碎片,無法控制用戶的賬戶。
社交恢復方案
社交恢復方案部署在智能合約賬戶上,智能合約錢包可以理解為用EOA賬戶在鏈上部署了一個用于管理資金的合約,和普通的智能合約相同,部署者的EOA錢包擁有對于智能合約的控制權。
Reddit“社區積分”跟進:最先發行$MOONS和$BRICKS兩種以太坊代幣:Reddit目前正在測試兩種基于以太坊發行的代幣:$MOONS以及$BRICKS,這兩種代幣將分別發行給/r/Cryptocurrency和/r/FortniteBR兩個板塊的成員,目前這兩個板塊分別擁有100萬和130萬訂閱者。據報道,Reddit還設計了一個引導用戶打開的“Vault”頁面,這是一個管理代幣的新平臺。通過Vault,用戶可以從多個看板中查看他們的代幣,并根據提示來使用代幣。據Reddit的說法,這些代幣目前正處于測試階段,將在2020年夏季前進行測試,“智能合約和移動應用程序已經由獨立安全公司Trail of Bits進行審查和審計”。據了解,這兩種代幣都將作為Reddit此前披露的加密計劃“社區積分(Community Point)”的一部分。與此前曝光的信息一樣,Reddit的會員可以使用這些代幣進行投票、給內容創建者打賞和轉賬等操作。論壇還將顯示用戶的特定余額,以衡量他們的信譽。(The Block)[2020/5/14]
智能合約錢包并不是無私鑰的解決方案,因為控制的EOA錢包存在私鑰;
但是智能合約錢包可以通過社交恢復方案更改用戶的簽名私鑰;
社交恢復方案是在你的鑰匙丟失之后,讓監護人給你換一把鑰匙。
EIP-2929提案之后過了兩年,2021年Vitalik首次在論壇里提出了社交恢復的錢包應用案例:
在創建智能合約錢包時,用戶可以指定其他EOA地址作為“監護人”,“監護人”地址需要在鏈上簽名確認,付出gas fee;
用戶的EOA賬戶作為“簽名私鑰”,可用于批準交易;
至少有 3 名 (或更多)“監護人”EOA賬戶,不能批準交易,但可以更改”簽名私鑰“。更改“簽名私鑰”也需要“監護人”付出gas fee進行簽名確認;
簽名私鑰具有添加或刪除監護人的功能,但整個過程需要經過一段時間(通常為 1-3 天)。
在日常的使用場景里,用戶可以像使用普通的錢包一樣使用具有社交恢復功能的智能合約錢包(如Argent和Loopring),用他們的簽名密鑰確認交易。這樣,每筆交易都可以通過一次確認快速完成,就像在傳統錢包(如 Metamask)中一樣:
a.創建私鑰
賬戶抽象錢包在私鑰的創建上和 Metamask 無異。
b.保管私鑰
由于控制合約的 EOA 錢包只是作為“簽名私鑰”使用,并可以通過監護人轉移控制權,所以用戶不需要特意保管助記詞。
c.使用私鑰
合約錢包同樣是轉賬/交易,因為需要調用合約,所以會比 MPC 錢包和傳統錢包更貴;
但也因為是調用合約,所以支持使用 USDC/USDT 等非 Native token(如 ETH是 Ethereum 上用于支付 gas fee 的 native token)支付,這無疑會大大降低 Web3 新玩家的交互難度:原理上,項目方在同一個交易里,將用戶的 USDC swap 成 ETH 之后代為支付 gas fee。
d.備份私鑰
賬戶抽象錢包的私鑰備份步驟用“監護人”代替,然而這是反直覺并且高成本的:
①用戶初次使用web3,希望注冊錢包,卻需要尋找三個已經在web3內有EOA錢包的可信任的好友,讓他們付出gas fee成為自己的監護人;
②若用戶希望補償好友的gas fee,用新創建的錢包進行三次轉賬,則創建一個錢包,一共需要給出6次gas fee,而MPC錢包創建賬戶是無成本的。
e.恢復私鑰
如果用戶丟失了他們的簽名密鑰,這時可以申請使用社交恢復功能。用戶需聯系他們的監護人,讓他們簽署一項特殊的交易(用戶或監護人支付gas fee),將錢包合約中注冊的簽名公鑰更改為一個新的簽名即可。這就簡單多了:監護人可以通過訪問一個網頁,比如 security.loopring,查看恢復請求并簽名。
然而,在私鑰的安全性上,沒有達到MPC錢包的高度:
被攻擊的成本:黑客仍然可以通過入侵用戶設備獲取完整的私鑰,換言之,用戶使用智能合約錢包僅僅只是在私鑰丟失這個場景下,多了一種找回私鑰的手段
抗審查性低:由于社交恢復方案需要指定“監護人”,存在著“監護人”相互串通作惡的可能性
社交恢復的主要風險是:
①合謀:如果一些用戶知道他們是某個恢復的一部分,他們可能會對恢復攻擊的執行感興趣;
②目標攻擊:外部代理可能了解恢復的所有者,并瞄準執行恢復攻擊所需最薄弱的點;
③一般暴露:攻擊者如果設法感染大型用戶基礎環境依賴項,并獲得對多個身份的訪問權限,也可能通過恢復對未受影響的用戶產生副作用。
MPC方案 v.s. 社交恢復方案:安全性,門檻,抗審查性
Mass Adoption的未來:Web3錢包
有了無助記詞賬戶恢復方案之后,我們可以期待新一代的Web3錢包,即可以使用郵箱注冊和登錄的錢包。在我們挑選了MPC錢包和賬戶抽象錢包的代表項目來分別做分析:用戶準入上他們都達到了無助記詞的低門檻,我們從安全性和抗審查性分別對他們做評估——
Bitizen
在MPC錢包中,抗審查性和便捷性做得比較徹底的Bitizen錢包采用了2/3的TSS方案,讓我們從錢包的安全性和抗審查性對其進行分析:
為了達到強審查性,用戶在完成錢包注冊之后,可以用第二臺設備通過藍牙進行私鑰碎片備份,采用2/3TSS方案:Bitizen服務器,用戶本地設備以及用戶第二臺設備。
由于錢包創建過程中沒有生成過完整私鑰,所以也沒有助記詞:用戶的Bitizen賬號會關聯用戶的云盤和郵箱,用戶只需郵箱登錄,便可正常使用Bitizen錢包。
①用戶通過面容識別認證獲得Bitizen云端儲存的私鑰碎片和本地設備儲存的私鑰碎片進行簽名即可(2/3);
②當第二臺設備通過藍牙備份私鑰碎片之后,可以完全離線保存,平日也完全不需要用到(簽名只需要Bitizen的服務器和用戶的主力設備完成即可)。
①將本地私鑰碎片備份至用戶的云盤;
②當用戶需要更換設備登錄,只需要通過郵箱和面容認證即可,Bitizen會請求用戶從云盤上的恢復私鑰碎片的備份。
①同樣的,當用戶的設備丟失/誤刪了Bitizen的本地文件,可以通過云盤恢復私鑰碎片;
②當用戶甚至無法登錄云盤,Bitizen會通過服務器上的私鑰碎片和用戶第二臺備份設備,重新計算出私鑰碎片,讓用戶恢復正常的使用。
Source: Bitizen
的TSS方案讓用戶擁有自己錢包的絕對控制權(2/3的私鑰碎片在用戶手里),即使Bitizen倒閉或者跑路,用戶依然可以正常行使錢包的控制權。
Unipass
賬戶抽象錢包以Unipass為例,Unipass采取了智能合約+MPC錢包的方式,結合兩種方案的優點:
在交易上,可以使用錢包支持的任意代幣(主流的,流動性強的代幣)支付gas fee;
在保管私鑰上,使用了MPC(2/2)和TSS技術分布式生成私鑰,從而不會發生私鑰被黑客單點獲得的可能性——私鑰分成兩片,一片保存在Unipass的服務器上,一份保存在用戶的本地設備中;
在恢復私鑰上,Unipass使用了 DomainKeys Identified Mail (DKIM) 方案,用戶可以使用郵箱地址作為“監護人”,而不是其他的EOA地址,如此大大降低了用戶尋找監護人的門檻:并不需要監護人使用區塊鏈,只需要監護人的郵箱即可。
Source: Unipass
低門檻 —> 高應用性
低門檻錢包并不是錢包應用的終點,目前的Web3基礎設施與Web2的傳統金融相比仍有一定距離。Visa 提供的自動扣款和定期自動付款功能為用戶帶來了巨大的便捷,但在以太坊上實現仍具有一定難度。賬戶抽象賬戶可能會是下一個高應用性的區塊鏈錢包敘事:Visa 發布文章「自我托管錢包的自動支付(Auto Payments for Self-Custodial Wallets)」,探索利用賬戶抽象錢包Argent在StarNet網絡上實現自動可編程支付,允許用戶使用自我托管錢包自動付款而無需簽署每筆交易。而賬戶抽象錢包具體是如何實現的呢?這個概念實際起源已久。
賬戶抽象 - 從EIP-2938到EIP-4337
隨著EIP-4337的提出,賬戶抽象這個話題重新回到大家的視線。社交恢復方案和賬戶抽象(將智能合約作為EOA錢包使用,即賬戶抽象)早于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上目前的用戶存款還沒有融資額多
③但是隨著以太主網的賬戶抽象提案落地,意味著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 第一個入口,更是鏈上域名(如ENS),靈魂綁定代幣(Soul-Bounded Token),鏈上聲譽系統(Decentralized Identifiers)等發展的基礎,如果沒有安全的錢包環境,Web3 Lego的搭建就沒有穩固的根基。
我們需要更認真地思考,熊市開槍的機會不多,MPC給我們看到了EOA錢包更易用更安全的未來,并且能夠適配目前所有的EVM鏈,智能合約的接入dAPP還有很長一段路要走,社交恢復方案目前看著雞肋,但是智能合約的未來可能性讓人期待,我們究竟要押寶在誰身上,我們會用真金白銀交上這份答卷。
2022是加密貨幣黑暗的一年,但是我們依舊相信未來是光明的。我們是魔獸世界里覺醒的術士,我們希望創造一個這樣的世界:在這個世界里,沒有人能拿走我們的生命虹吸(除非提案投票通過)。
參考文獻
門限簽名說明: 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
Fenbushi Capital 創始合伙人沈波:個人價值 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
版權所有,未經許可,謝絕轉載
金色財經
金色早8點
澎湃新聞
Odaily星球日報
Arcane Labs
深潮TechFlow
歐科云鏈
鏈得得
MarsBit
BTCStudy
在加密行業中,礦工是一個特殊的群體,他們是區塊鏈底層安全保障,是加密行業中最富有的和最具話語權的一群人,代表著加密市場的晴雨表;同時,在反對者眼中,其所處的行業是吞噬能源的巨獸.
1900/1/1 0:00:00有傳言說埃隆·馬斯克可能會推出自己的推特幣,可能會把狗狗幣(DOGE)晾在一邊,甚至拋棄它。Twitter用戶界面的泄露最早出現在12月初,顯示了“Coin”功能。幾小時前,又有新的爆料.
1900/1/1 0:00:00原文:《MEV: The Next Five Years》by James Prestwich編譯:aididiaojp.eth.
1900/1/1 0:00:00▌Polygon完成硬分叉 將解決gas費上漲和頻繁重組問題據官方消息,Polygon PoS網絡已完成升級。關于硬分叉的討論于2022年12月首次引入Polygon社區.
1900/1/1 0:00:00作者:澎湃新聞記者 王蕙蓉加密貨幣過冬:市值一年蒸發超1.4萬億美元,頭部機構接連暴雷2022年,加密行業面臨寒冬,加密貨幣市場總價值大量縮水,降逾1.45萬億美元,期間多家加密公司接連倒塌.
1900/1/1 0:00:00在揮別實現爆炸性增長的2021年之后,NFT市場迎來了非常不同的2022年——NFT在頭幾個月發展勢頭迅猛,之后與加密貨幣一起暴跌,連帶著投機狂潮也結束了。這一年,NFT領域有了很多新變化.
1900/1/1 0:00:00