比特幣交易所 比特幣交易所
Ctrl+D 比特幣交易所
ads

以太坊賬號抽象ERC4337的過審方案解讀(上)_TPS

Author:

Time:1900/1/1 0:00:00

前言

在2023.3.1號丹佛的WalletCon上,官宣由以太坊基金會開發人員設計實現的ERC-4337的核心合約已經通過了\nOpenZeppelin的審計,通過各項測試,目前審計后的合約已經順利部署在以太坊主網以及若干測試網,后續可在各EVM兼容鏈上運作包括\nPolygon、Optimism、Arbitrum、BNBSmartChain、Avalanche和GnosisChain等。本文將梳理4337標準的實現機制、審計報告結論與最新行業進展

1、賬號抽象的背景

1.1、為什么產權分離是賬戶抽象的目標?

目前在以太坊中有兩種賬戶,分別為外部賬戶和合約賬戶。外部賬戶的所有權和簽名權理論上是同一個體單位持有的;簡單來講,持有私鑰的人不只擁有這個賬戶的「所有權」,同時還有權利「簽名轉移所有資產」。所以當前以太坊上所有權和簽名權是一體的,這樣的外部賬戶設計可能會衍伸出一些值得討論的問題:私鑰難保護:用戶失去私鑰意味著地失去所有資產。簽名算法少:原生協議在驗證交易上只能使用ECDSA簽名和驗簽算法。簽名權限高:無原生多簽,單簽即可執行任意操作多幣種受限:交易手續費只能通過ETH支付,并不支持批量交易。交易隱私泄露:一對一交易容易分析賬戶持有者的隱私信息。其次單純的合約錢包也有一定問題:對合約錢包的操作必須由EOA發起,每筆交易將多消耗21000Gas。。需要EOA有足夠的ETH來支付Gas,或者依靠Relayer支付Gas。上訴的約束讓普通用戶很難使用以太坊:首先,使用以太坊上的任何應用,用戶都必須持有以太其次,用戶需要處理復雜的費用邏輯,Gasprice、Gaslimit、事務阻塞這些概念對用戶來說過于復雜。最后,雖然許多區塊鏈錢包或應用試圖通過產品優化提高用戶體驗,但它們的實際效果甚微。破局之道在于實現賬戶抽象,將所有權和簽名權解耦,從而才能逐個解決上述問題拓展閱讀:以太坊賬戶抽象萬字研報:拆解10個相關EIP提案與沖擊千萬級日活用戶瓶頸的七年之路雖然也有出現若干折中方案,如多簽錢包和無需Gas的元交易機制,接下來咱們展開探討。1.2、EIP-4337與折中方案對比

DeBank集成以太坊側鏈擴容方案Polygon:據官方消息,一站式DeFi錢包DeBank宣布集成以太坊側鏈擴容方案Polygon,分別在“個人資料”、“代幣置換”、“DeFi市場”和“DeFi排名”4個類別予以集成。第一階段參與此集成的項目是Aave、Quickswap、Dfyn、Smartdex和Sushiswap,所有這些協議都將集成在DeBank中,為用戶提供洞察并為多鏈DeFi探索提供基礎。[2021/4/18 20:32:06]

1.2.1、折中1-多簽合約錢包方案多簽錢包,即用智能合約實現多簽功能的錢包合約賬戶。以\nSafe多簽錢包為例,可以設定錢包的多簽規則,如三人共管、兩人簽名可執行交易,而Argent\n錢包的做法也類似,創新點是引入所謂的監護人機制,對用戶更友好,用戶可以設定其他EOA\n賬戶或郵件/手機作為監護人,監護人可以許可交易、鎖定錢包、協助恢復錢包。這樣的做法給用戶帶來了便利,但由于它的錢包軟件、錢包合約及后端程序的功能很復雜,它的方案很難成為行業通行的標準做法。總之,這里很多的優點都源于合約本身的高度定制能力,同樣的缺點則是依賴于EOA賬戶做管理員來驅動,這本質是簽名算法的局限性。相比之下對比傳統多簽合約錢包的方案,4337的優勢則是可以自定義簽名算法。這里的簽名只需和合約中簽名的算法綁定的,而簽名這件事本身可以有多種算法實現,不同算法性能和交互模式不同,而這將帶來的核心變化是,如更好的將簽名的功能轉入手機設備端實現從而實現便攜的硬件錢包。這點主要的挑戰是安卓等設備開放性過高,不可能私鑰存手機,需要單獨的簽名芯片等。1.2.2、折中2-元交易標準這點優化折中針對的是用戶執行鏈上行為必須依賴已有ETH作為手續費,采用元交易標準后用戶體驗上:用戶雖然賬戶中沒有ETH,但可仍通過網?界面鑄造NFT:用戶僅需簽即可,我們創建交易、為之代付燃料費、將之提交上鏈執行。幕后執行上:用戶對結構化數據進行簽名,這個數據與簽名是要求NFT合約鑄造一個NFT給他數據與簽名被發送給中繼器鏈下中繼器向鏈上發起交易,送到鏈上可信的傳遞者合約(Forwarder)而NFT合約是定制的,會將這樣方式傳遞的交易中的原始發起者視為是用戶,而非msg.sender因此在最終的NFT合約中,執行的NFTMint得到的對象就不是原始標準中的交易發起者了例如最近火熱的Lens免gas方案,就是非常標準的元交易執行模式,已經累計有上千萬筆代付交易了

Pax Treasury在以太坊網絡增發近979萬枚BUSD:據whale alert數據,北京時間10月4日05:40,Pax Treasury在以太坊網絡增發9,788,479枚BUSD,交易哈希為0xa43f296fb2e76d11dd83e9918d805456bed4226c933910d532ce283e8580f292。[2020/10/4]

這個方案是有效的,但有兩個缺點:它引入了一個我們必須信任的鏈下?色中繼器。如果他宕機了,或者有作惡的動機,則可能存在?險。我們最終交互的合約必須定制。這導致而無法與鏈上已經存在的、未定制的合約進行交互,這大幅減少能夠適用的范圍。為什么用這么多篇幅來講述合約錢包和元交易呢?因為4337的實現里本身幾乎就能涵蓋上述的優點拓展閱讀:EIP-4337標準智能錢包實踐研究報告:全景式呈現4337標準實例實現過程及機遇探討https://research.web3caff.com/zh/archives/46602、為什么4337可以實現產權分離?

現在在去中心化的領域是不存在免費的信任,身份驗證必須基于密碼學證明,所以無論哪種提案都是需要管理某種意義的私鑰,而要實現體驗上的折中,首要打破的就是目前賬戶權限的過于集中,整體改造方式按針對的對象或者環節可以分成三種大方向:改造鏈上交易類型改造鏈上主體對象改造上鏈交易打包過程在下圖,EIP-4337方案納入了最新路線圖,這也宣告著以太坊最終在這兩條路徑中做出了決定。

比特幣專家:比特幣和以太坊代表安全性和靈活性之間的權衡:2月28日消息,比特幣安全專家Andreas Antonopoulos最近在活動中表示,在每一種加密貨幣的演變過程中,都需要做出一些代表權衡取舍的決定。比特幣和以太坊之間最根本的權衡是安全性和靈活性之間的權衡。他說:““比特幣腳本語言在很多方面受到限制,簡單、圖靈化、故意不完整,很難實現和暴露一個非常小的攻擊面。因此,它所能表達的范圍極其有限。” Antonopoulos接著表示以太坊選擇了相反的方法。根據他的說法,以太坊平臺的靈活性帶來了“令人難以置信的復雜系統,其中有各種意想不到的副作用,為了達到成熟度、安全性、健壯性和穩定性,必須經歷更多的迭代”。 他補充說,目前以太坊的設計目的是創造一種相當容易使用的貨幣形式,而比特幣傾向于一種價值儲存手段。(AMBCrypto)[2020/2/28]

EIP-4337是迄今為止是AA的最佳方案。被選用的核心原因是EIP-4337完全避免了共識層協議更改,使用標準中提出了新的事務對象UserOperation,用戶將此對象發送到內存池中由bundlers從礦工維度批量打包交付合約執行交易事務。是個任何人可以開發鏈上合約,任何人可以自運行捆綁器的去中心化模式。2.1、4337運作原理

后續深入理解最新進展所面臨的難題和挑戰還是需要先理解原理,咱們從涉及的角色,分工,對照傳統交易的執行流程來梳理。2.1.1、4337標準涉及的角色ERC-4337有五個主要組成部分:UserOperation、Bundler、EntryPoint、WalletContract和PaymasterContract。

動態 | 以太坊2.0下周將發布公共測試網:據TrustNodes今日報道,以太坊2.0客戶端Lighthouse表示,他們已選擇并確認Trail of Bits作為審核Lighthouse代碼庫的公司,預計審核工作將于2020年1月開始。安全審核是由Moloch DAO資助的,Moloch DAO是一個去中心化組織,專注于為ETH開發籌集資金。以太坊2.0在春天發布之前,安全審核將作為最后一步,公共測試網也將在下周發布。[2019/11/29]

UserOperations用戶操作對象,是用于與合約賬戶執行交易的偽交易對象。這些是由創建者的應用程序所創建的。Bundlers捆綁器,可能是某個礦工,從內存池中打包UserOperations并將它們發送到區塊鏈上的EntryPoint合約的參與者。EntryPoint入口點合約,是處理交易驗證和執行邏輯的智能合約。WalletContracts是用戶最終擁有的鏈上身份,屬于智能合約帳戶。PaymasterContracts是可選的代付智能合約。2.1.2、4337交易的執行流程

我們來重新按完成一筆以太坊轉賬的流程來梳理下按照ERC-4337實現的交易是怎樣的:打開錢包:用戶管理持有的私鑰工具,如Metamask,Bitkeep,Bitizen等。交易簽名:用私鑰對新的若干字段做簽名操作,稱之為UserOperation用戶操作對象。發送交易:稱之為Bundlers打包者或是捆綁器,本質仍是由某個負責出塊的礦工操作。礦工打包:bundlers把用戶發送的操作簽名解析驗證后由礦工單獨再簽名一筆交易來包裹用戶的指令,批量地將用戶的操作指令轉發到某個合約錢包中再由合約來驗證用戶的簽名并執行。由于交易是礦工簽名并發送的,因此from是礦工,原先用戶的簽名和指令在則在參數之中。打包發送到作為路由器的智能合約中,執行驗證并且進一步轉發到各用戶獨立的合約錢包。入口點合約驗證:EntryPoint是處理交易驗證和執行邏輯的智能合約。會反復和用戶的合約賬戶進行交互以及驗證,確保最終鏈上打包必然成功,否則全部交易都要回退。出塊流程:完全不變。2.2、功能舉例:入口點合約

現場 | 以太坊行業峰會第一場圓桌 如何應對智能合約安全問題:金色財經9月8日現場報道,Loi Luu (KyberNetwork 創始人)、Shawn Douglass

(Amberdata 聯合創始人兼CEO)、Jay Zhou (Loopring Protocol 聯合創始人)、Alan Li (FBG X 研發部負責人)、Antoine Cote (Enuma Technologies 聯合創始人兼CEO) 參與了討論,嘉賓們一致認為,由于智能合約涉及資產交易且不可篡改,一旦發生安全問題將引起資產嚴重受損,關注智能合約安全是必要的。Loi Luu指出,區塊鏈行業項目方,需要為開發者設立預警機制。開源代碼要引入第三方檢測,避免犯一些顯而易見的錯誤。

Jay zhou認為,需要更有經驗的開發者去開發用戶易用、以人為本的合約,同時也有必要引入交叉審計。

Shawn Douglass說:“因為智能合約的不可篡改性,在程序員開發前,就必須告知開發者未來可能造成的后果,特別是在涉及資產的領域必須確保事前萬無一失甚至考慮保險。”

Antoine Cote表示,可以在早期時候引入懸賞機制讓黑客或者社區成員共同發現漏洞。大家討論后得出共識,每一個開發者都必須在開發速度和安全性之間做一個平衡。在區塊鏈領域,注重安全和責任心是必須的。[2018/9/8]

遷入4337后,對任何賬戶的調度都需要先經過入口點合約,他需要解決的是如果用戶的「錢包合約」尚未部署,則用UO中的initCode字段去部署合約循環驗證組合交易中UserOperation既有鏈下模擬驗證也在合約也提供鏈上驗證管理質押費計算gas成本,既要用于收取用戶,也需要面對失敗交易補償捆綁器3、為什么持續要關注ERC-4337?

ERC-4337的高開發投入以及快速的迭代進度,說明他能快速成為最終提案、并被各種應用廣泛接納、真正成為事實性行業標準,他帶來的核心價值是大幅度降低普通用戶使用Web3應用的門檻。屆時,一個應用能否兼容ERC-4337,則將影響自己能否利用整個以太坊生態的其他組件、以快速發展。后續的DApp應用,也將必然需要能兼容從賬戶主體已然轉移向ERC-4337的用戶們。最終驗證市場的還是用戶本身,實現的方案是復雜的,這也僅僅是對于應用方的復雜對于用戶本身而言,最終他們能夠看到的是:更流暢的交易體驗,類似購物車,即使面對10個市場也能夠一筆交易完成打包。更安全的接入入口,借助4337的自定義簽名算法能力,使用手機專屬安全芯片而無需攜帶硬件錢包,更沉浸的游戲環境,借助paymaster的代付能力,乃至可以定義半小時內的不超過XX金額的交易免除簽名,避免了一場游戲被場外打斷。真正的鏈上主體,可以被社交恢復,可以更換私鑰密碼,可以做交易的風險分層分級,兼容安全與使用便捷。如此種種對終端用戶體驗的提升,都是最終為什么要如此費力的推進ERC-4337的原因。上篇更多是圍繞ERC-4337運作機制、背景進行說明。下篇詳細講述當前被審計方案的優缺與實施細節,但涉及較多以太坊底層所以閱讀難度較高,投稿在Web3Caff平臺的research頻道。閱讀原文:https://research.web3caff.com/zh/archives/6900參考文獻https://cointelegraph.com/news/ethereum-erc-4337-smart-accounts-launch-at-walletcon-account-abstraction-is-herehttps://blog.openzeppelin.com/eip-4337-ethereum-account-abstraction-incremental-audit/#conclusionshttps://blog.openzeppelin.com/eth-foundation-account-abstraction-audit/https://eips.ethereum.org/EIPS/eip-4337https://hackmd.io/@erc4337/test-suitehttps://www.youtube.com/watch?v=eyT6WzJmWychttps://notes.ethereum.org/@yoav/unified-erc-4337-mempool#What-does-censorship-resistance-require-of-ERC-4337https://github.com/eth-infinitism/account-abstraction/issues/188https://notes.ethereum.org/@yoav/unified-erc-4337-mempoolhttps://github.com/eth-infinitism/account-abstraction/blob/develop/reports/gas-checker.txt#enroll-beta

Tags:以太坊ETHIONTPS什么是以太坊幣制式ethicaljudgementetherdimensionhttps://etherscan.io

以太坊價格
OmniChain的未來:第一個可實現完全互操作性的L1公鏈ZetaChain_AIN

在本篇報告中,我們將詳細介紹ZetaChain的跨鏈機制,并將現有跨鏈技術與ZetaChain的Omnichain功能進行詳細對比,引導讀者深入了解ZetaChain.

1900/1/1 0:00:00
掌握財富密碼:一文梳理15個免費加密信息渠道_COM

在加密圈子中,信息的獲取往往是投資的關鍵。好的信息渠道,人們常常稱之為Alpha信息渠道。那這些財富密碼都是在哪里找到的呢?今天這篇文章,就來給大家介紹15個不能錯過的Alpha信息渠道.

1900/1/1 0:00:00
面臨嚴重擠兌,USDC會崩盤嗎?_USD

1天時間,SVB的漣漪效應就來到了加密市場。今晨,因SVB中有部分存款,USDC穩定幣發行商Circle突然面臨嚴重擠兌,USDC出現持續性脫錨.

1900/1/1 0:00:00
三家加密友好銀行崩盤,業內人士都怎么看?_HTT

上周的幾件大事接連發生,加密友好銀行SilvergateBank暴雷、硅谷風投圈著名銀行SillionValleyBank被接管,想必大家也看到了.

1900/1/1 0:00:00
比特幣跌破20000美元,硅谷銀行連累了加密市場?_SIL

最近一周,或許是加密市場自FTX崩潰以來最糟糕的一周。在拜登的最新預算案和Silvergate的倒閉風波之后,硅谷銀行為加密市場再次帶來重磅沖擊.

1900/1/1 0:00:00
下一個The Beacon?一文了解Web3游戲Zeeverse_VER

首次接觸到Zeeverse還是在區塊先生的youtube上看到的。簡單的上手體驗了下,畫風清新,有趣;沙盒世界+PVE闖關的玩法,代幣經濟和資產還沒有.

1900/1/1 0:00:00
ads