最近,賬戶抽象以及EIP-4337在開發者圈子里很火。賬戶抽象指的是未來錢包簽名機制概念化。目前,主流錢包(EOA錢包)采用的簽名機制是CDSA(橢圓曲線數字算法簽名),而未來錢包的簽名機制可以多樣化:采用多簽、其他的加密算法以及ZK驗證等。EIP-4337的提出則推動賬戶抽象概念的落地,未來將可能開啟智能合約錢包新紀元。
那么,賬戶抽象所帶來的錢包改革會帶來什么實質性的好處嗎?在Metamask、Math Wallet等錢包已經成了主流應用的情況下,智能合約錢包還機會興起嗎?本文在科普的基礎上也對上述話題進行探討。
(本文由Fenbushi Capital原創,有匪撰文,感謝Math Wallet CTO Eric 的分享。)
EOA錢包 & 智能合約錢包
錢包的賬戶都有兩部分構成:分別為外部賬戶(externally owned account) 和合約賬戶(contract account)。EOA錢包是用戶通過私鑰直接控制賬戶的錢包(Metamask、Math Wallet)。其中,錢包賬戶的創建是通過隨機生成私鑰、根據私鑰計算出公鑰、根據公鑰計算出地址的方式。用戶發送交易的過程實際上是用私鑰為交易數據簽名的過程,由外部賬戶觸發。
Beosin:SEAMAN合約遭受漏洞攻擊簡析:金色財經報道,根據區塊鏈安全審計公司Beosin旗下Beosin EagleEye 安全風險監控、預警與阻斷平臺監測顯示,2022年11月29日,SEAMAN合約遭受漏洞攻擊。Beosin分析發現是由于SEAMAN合約在每次transfer函數時,都會將SEAMAN代幣兌換為憑證代幣GVC,而SEAMAN代幣和GVC代幣分別處于兩個交易對,導致攻擊者可以利用該函數影響其中一個代幣的價格。
攻擊者首先通過50萬BUSD兌換為GVC代幣,接下來攻擊者調用SEAMAN合約的transfer函數并轉入最小單位的SEAMAN代幣,此時會觸發合約將能使用的SEAMAN代幣兌換為GVC,兌換過程是合約在BUSD-SEAMAN交易對中將SEAMAN代幣兌換為BUSD,接下來在BUSD-GVC交易對中將BUSD兌換為GVC,攻擊者通過多次調用transfer函數觸發_splitlpToken()函數,并且會將GVC分發給lpUser,會消耗BUSD-GVC交易對中GVC的數量,從而抬高了該交易對中GVC的價格。最后攻擊者通過之前兌換的GVC兌換了50.7萬的BUSD,獲利7781 BUSD。Beosin Trace追蹤發現被盜金額仍在攻擊者賬戶(0x49fac69c51a303b4597d09c18bc5e7bf38ecf89c),將持續關注資金走向。[2022/11/29 21:10:04]
Beosin:SheepFarm項目遭受攻擊事件簡析:金色財經報道,根據區塊鏈安全審計公司Beosin旗下Beosin EagleEye 安全風險監控、預警與阻斷平臺監測顯示,BNB鏈上的SheepFarm項目遭受漏洞攻擊,Beosin分析發現由于SheepFarm合約的register函數可以多次調用,導致攻擊者0x2131c67ed7b6aa01b7aa308c71991ef5baedd049多次利用register函數增大自身的gems,再利用upgradeVillage函數在消耗gems的同時累加yield屬性,最后調用sellVillage方法把yield轉換為money后再提款。本次攻擊導致項目損失了約262個BNB,約7.2萬美元。Beosin Trace追蹤發現被盜金額仍在攻擊者賬戶,將持續關注資金走向。[2022/11/16 13:10:39]
“
EOA錢包的優劣勢包括,優勢:
1. 可以免費創建錢包。
2. 轉賬是gas費用較為低廉。
Beosin:UVT項目被黑客攻擊事件簡析,被盜資金已全部轉入Tornado Cash:金色財經報道,據Beosin EagleEye 安全預警與監控平臺檢測顯示,UVT項目被黑客攻擊,涉及金額為150萬美元。攻擊交易為0x54121ed538f27ffee2dbb232f9d9be33e39fdaf34adf993e5e019c00f6afd499
經Beosin安全團隊分析,發現攻擊者首先利用開發者部署的另一個合約的具有Controller權限的0xc81daf6e方法,該方法會調用被攻擊合約的0x7e39d2f8方法,因為合約具有Controller權限,所以通過驗證直接轉走了被攻擊合約的所有UVT代幣,Beosin安全團隊通過Beosin Trace進行追蹤,發現被盜資金已全部轉入Tornado Cash。[2022/10/27 11:48:46]
3. 可以同時操作多個賬戶。
劣勢:
1. 用戶在生成一個錢包后,需要保留相應的私鑰。一旦私鑰流出,錢包因資產將面臨被盜風險而被棄用。
慢霧:Polkatrain 薅羊毛事故簡析:據慢霧區消息,波卡生態IDO平臺Polkatrain于今早發生事故,慢霧安全團隊第一時間介入分析,并定位到了具體問題。本次出現問題的合約為Polkatrain項目的POLT_LBP合約,該合約有一個swap函數,并存在一個返傭機制,當用戶通過swap函數購買PLOT代幣的時候獲得一定量的返傭,該筆返傭會通過合約里的_update函數調用transferFrom的形式轉發送給用戶。由于_update函數沒有設置一個池子的最多的返傭數量,也未在返傭的時候判斷總返傭金是否用完了,導致惡意的套利者可通過不斷調用swap函數進行代幣兌換來薅取合約的返傭獎勵。慢霧安全團隊提醒DApp項目方在設計AMM兌換機制的時候需充分考慮項目的業務場景及其經濟模型,防止意外情況發生。[2021/4/5 19:46:39]
2. 用戶在轉賬操作時經常需要授權應用,這給到惡意賬戶可乘之機,智能合約可以瞬間把資產轉走(參考TP錢包漏洞的案例)。
3. 用戶必須用ETH進行支付gas費用。
Harvest.Finance被黑事件簡析:10月26號,據慢霧區消息 Harvest Finance 項目遭受閃電貸攻擊,損失超過 400 萬美元。以下為慢霧安全團隊對此事件的簡要分析。
1. 攻擊者通過 Tornado.cash 轉入 20ETH 作為后續攻擊手續費;
2. 攻擊者通過 UniswapV2 閃電貸借出巨額 USDC 與 USDT;
3. 攻擊者先通過 Curve 的 exchange_underlying 函數將 USDT 換成 USDC,此時 Curve yUSDC 池中的 investedUnderlyingBalance 將相對應的變小;
4. 隨后攻擊者通過 Harvest 的 deposit 將巨額 USDC 充值進 Vault 中,充值的同時 Harvest 的 Vault 將鑄出 fUSDC,而鑄出的數量計算方式如下:
amount.mul(totalSupply()).div(underlyingBalanceWithInvestment());
計算方式中的 underlyingBalanceWithInvestment 一部分取的是 Curve 中的 investedUnderlyingBalance 值,由于 Curve 中 investedUnderlyingBalance 的變化將導致 Vault 鑄出更多的 fUSDC;
5. 之后再通過 Curve 把 USDC 換成 USDT 將失衡的價格拉回正常;
6. 最后只需要把 fUSDC 歸還給 Vault 即可獲得比充值時更多的 USDC;
7. 隨后攻擊者開始重復此過程持續獲利;
其他攻擊流程與上訴分析過程類似。參考交易哈希:0x35f8d2f572fceaac9288e5d462117850ef2694786992a8c3f6d02612277b0877。
此次攻擊主要是 Harvest Finance 的 fToken(fUSDC、fUSDT...) 在鑄幣時采用的是 Curve y池中的報價(即使用 Curve 作為喂價來源),導致攻擊者可以通過巨額兌換操控預言機的價格來控制 Harvest Finance 中 fToken 的鑄幣數量,從而使攻擊者有利可圖。[2020/10/26]
而合約錢包在保留公私鑰的同時,不同點在于錢包本身由智能合約操作,發起交易則直接通過合約賬戶(contract account)來完成。
合約錢包具備以下優劣勢,優勢:
1. 無需助記詞,可恢復錢包并更換私鑰。
2. 無需購買ETH作為gas費用支付。
3. 可管理,在基礎的轉賬上增添更多功能:隱私交易、多簽、代付gas費用等。
4. 可編程、可升級,定制化。
1. 創建錢包需要一定的成本,無法批量創建免費錢包。
2. 在Layer1的gas費成本高昂,之后搭建在Layer2上會好一點。
3. 一筆交易一次操作,多筆交易無法打包成一次。
4. 合約漏洞會影響錢包安全。
對比下來,EOA錢包像是ATM機,只支持存取、轉賬、余額查詢等基本服務。而合約錢包則更像是智能化的銀行系統,用戶可以設置白名單賬戶、最大提取額度;在轉賬操作上更加寬宥,允許項目方(補貼)、好朋友代付等等。由于各種操作都需要調用智能合約,提高了用戶管理錢包的便捷度。安全方面,EOA錢包和智能合約錢包各自存在隱患:前者容易在私鑰泄露和授權應用上出問題,后者則可能出現合約漏洞。有一點壞處是,用戶在使用合約錢包時每次調用智能合約費用較高。不過,此次以太坊基金會強推賬戶抽象,必有深意,下文繼續分說。
以太坊路線圖 & EIP-4337
賬戶抽象概念自2015年就被提出,經歷過多次的EIP提案也未成型。而最新的EIP-4337之所以受到以太坊基金會的重視,在于以太坊路線圖的確定。在合并之后,以太坊未來升級(proto-danksharding)都會圍繞著為Roll-up服務的基調。Rollup會顯著降低gas費用,而Proto-danksharding在降低gas費上又添助益。這為智能合約錢包的普及奠定了良好的基礎,解決了gas費用貴的主要問題。
EIP-4337無需在以太坊共識層面進行改動,而是推出了由User operation、Bundler以及Paymaster等角色構成的解決方案。解決方案如下:
1、Alice(用戶)發起一個“用戶操作”,并包含它想要執行的交易。
2、她將操作發送到高級別的“用戶操作內存池”。
3、操作被部分驗證并廣播到P2P內存池節點網絡。
4、操作由“Bundler”(打包者)負責,Bundler可以是任何人——MEV搜索者、驗證者、你或我,等等。所有的操作被打包者打包成一筆大額交易。
5、打包者將該區塊與其他交易一起包含在以太坊區塊中。
接著是打包者的功能,來了解交易將如何被執行和驗證。
1、打包者將交易路由到一個全局的“入口點”智能合約。
2、全局合約通過每個用戶操作并調用智能合約錢包中的“驗證函數”。
3、錢包運行這個函數來驗證用戶操作的簽名,并對打包者打包這些交易進行補償。
4、錢包運行一個執行操作來操作指定的交易。
5、執行操作后,剩余的gas會退還至錢包。
關于EIP-4337,其中新的mempool相當于在更高級別的系統中復制原先的交易內存池,bundler相當于sequencer對于交易進行排序并可能獲取一定的MEV收入,entry point contract作為可信入口點用以檢索和檢查打包內容是否有垃圾交易(在一定意義上實現了擴容)。Paymaster的模塊未來可以接入token/法幣通道,代付的應用場景也很豐富:第一,允許應用開發者代用戶付費;第二,允許用戶以ERC20代幣支付費用,合約作為中介收取ERC20并以ETH支付。總得來說,EIP-4337中的user operation mempool以及paymaster 有機會創造出全新的業態,值得開發者深入探索!
短期&長期智能合約錢包落地情況
短期來看,Argent已經實現了部分智能合約錢包的功能,包括無需助記詞和私鑰,僅憑手機號和郵箱賬戶即可創建賬戶;添加可信第三方“guardian”實現無私鑰恢復;支持更復雜的功能,通過DAI/WETH進行gas費用支付等等(它不是原子進行gas費支付)。不過,智能合約錢包并非無后顧之憂,依舊存有風險敞口。
長期來看,智能合約錢包的普及會面對如下阻力:
1. 合約錢包的門檻較高,創建錢包需要花錢。從用戶的角度來看,如果項目方不進行補貼,就難以有動力去使用產品。
2. 合約錢包的廣泛應用有賴于以太坊Layer2的蓬勃生態。就短期來說,Layer2生態還遠未達到成熟的水平。
3. 主流的錢包已經獲取太多用戶了,基于安全等因素的考慮,目前缺乏動力進行改革。
綜上所述,智能合約錢包因其可編程型、智能性、復合功能而備受關注,可能成為主流錢包的發展方向。不過辯證得看,它并不是十全十美、萬無一失,它的普及仍依賴于Layer2生態的成熟。最后是市場因素,這取決于用戶選擇對賬戶的”控制權“還是”便捷性“。
分布式資本
企業專欄
閱讀更多
金色早8點
區塊律動BlockBeats
金色財經
1435Crypto
吳說區塊鏈
blockin
比推 Bitpush News
Block unicorn
Foresight News
Odaily星球日報
Bankless
DeFi之道
社交是鏈上身份最令人興奮的類別之一,因為此類擁有非常活躍的活動,而且對大多數人來說此類的用例是實實在在看得見的.
1900/1/1 0:00:00原文作者:加密研究員 WagameEth原文編譯:0x214,BlockBeats以太坊 Layer2 擴容解決方案 zkSync 2.0 主網將于三周之內面世.
1900/1/1 0:00:00本文轉自公號:老雅痞 信息來源自substack,略有修改,作者Aylo Chris Whinfrey是Hop Protocol的創始人,他正在解決該領域最復雜的挑戰之一:橋接.
1900/1/1 0:00:00編譯 |malateng.eth ,SevenUp DAO來源|Creek LabsAlchemy Insights 近日發布題為《Web3開發報告:2022 年第三季度——以太坊及其他生態》的.
1900/1/1 0:00:00“在漆黑中找尋鮮明出眾的Web3人才。”就像周星馳在招人公告里提及的這句話,在過去一年里,以去中心化為核心的Web 3.0概念猶如黑暗中的螢火一般,給諸多行業帶來了一抹新的亮色.
1900/1/1 0:00:00作者:比推BitpushNews Derrick Chen狗狗幣(Dogecoin)的走勢繼伊隆·馬斯克(Elon Musk)收購Twitter一事塵埃落定,狗狗幣的價格順勢上漲.
1900/1/1 0:00:00