前言
在?2023.3.1?號丹佛的WalletCon上,官宣由以太坊基金會開發人員設計實現的ERC-4337的核心合約已經通過了OpenZeppelin的審計,通過各項測試,目前審計后的合約已經順利部署在以太坊主網以及若干測試網,后續可在各?EVM?兼容鏈上運作包括Polygon、Optimism、Arbitrum、BNBSmartChain、Avalanche和GnosisChain?等。
本文將梳理?4337?標準的實現機制、審計報告結論與最新行業進展
1、賬號抽象的背景
1.1、為什么產權分離是賬戶抽象的目標?
目前在以太坊中有兩種賬戶,分別為外部賬戶和合約賬戶。外部賬戶的所有權和簽名權理論上是同一個體單位持有的;簡單來講,持有私鑰的人不只擁有這個賬戶的「所有權」,同時還有權利「簽名轉移所有資產」。所以當前以太坊上所有權和簽名權是一體的,這樣的外部賬戶設計可能會衍伸出一些值得討論的問題:
私鑰難保護:用戶失去私鑰意味著地失去所有資產。
簽名算法少:原生協議在驗證交易上只能使用ECDSA簽名和驗簽算法。
簽名權限高:無原生多簽,單簽即可執行任意操作
多幣種受限:交易手續費只能通過ETH支付,并不支持批量交易。
交易隱私泄露:一對一交易容易分析賬戶持有者的隱私信息。
其次單純的合約錢包也有一定問題:
對合約錢包的操作必須由EOA發起,每筆交易將多消耗21000?Gas。(當前以太坊交易的驗證方式是固定的,只有持有了有效的ECDSA簽名、Nonce值和足夠
Tranchess即將上線以太坊 擬推出ETH流動性質押產品:據官方消息,在上周以太坊成功合并后,2021年首發幣安鏈的收益增強項目Tranchess在其官方推特上宣布,Tranchess即將上線以太坊。
Tranchess曾在2022年1月推出BNB流動性質押產品,綜合BNB產品運行過程中的優點以及開發團隊過往在傳統金融領域里金融產品設計以及架構方面積累的經驗和思考,Tranchess計劃在以太坊上上線ETH流動性質押產品,旨在為以太坊生態系統帶來又一個去中心化流動性質押解決方案,幫助ETH持有者更方便地獲得合并后以太坊鏈所帶來的質押收益。[2022/9/22 7:12:48]
的賬戶余額,一筆交易才算有效)。
需要EOA有足夠的ETH來支付Gas,或者依靠Relayer支付Gas。
上訴的約束讓普通用戶很難使用以太坊:
首先,使用以太坊上的任何應用,用戶都必須持有以太
其次,用戶需要處理復雜的費用邏輯,Gasprice、Gaslimit、事務阻塞這些概念對用戶來說過于復雜。
最后,雖然許多區塊鏈錢包或應用試圖通過產品優化提高用戶體驗,但它們的實際效果甚微。
破局之道在于實現賬戶抽象,將所有權和簽名權解耦,從而才能逐個解決上述問題
拓展閱讀:
以太坊賬戶抽象萬字研報:拆解10個相關EIP提案與沖擊千萬級日活用戶瓶頸的七年之路
雖然也有出現若干折中方案,如多簽錢包和無需?Gas?的元交易機制,接下來咱們展開探討。
1.2、EIP-4337?與折中方案對比
數據:最近一周,以太坊網絡新增109.02萬枚NFT資產:金色財經報道,NFTScan數據顯示,最近一周,以太坊網絡新增109.02萬枚NFT資產,平均每天新增鑄造15.57萬枚NFT資產。[2022/2/5 9:32:03]
1.2.1、折中?1-多簽合約錢包方案
多簽錢包,即用智能合約實現多簽功能的錢包合約賬戶。以Safe多簽錢包為例,可以設定錢包的多簽規則,如三人共管、兩人簽名可執行交易,而?Argent錢包的做法也類似,創新點是引入所謂的監護人機制,對用戶更友好,用戶可以設定其他EOA賬戶或郵件/手機作為監護人,監護人可以許可交易、鎖定錢包、協助恢復錢包。這樣的做法給用戶帶來了便利,但由于它的錢包軟件、錢包合約及后端程序的功能很復雜,它的方案很難成為行業通行的標準做法。
總之,這里很多的優點都源于合約本身的高度定制能力,同樣的缺點則是依賴于?EOA?賬戶做管理員來驅動,這本質是簽名算法的局限性。
相比之下對比傳統多簽合約錢包的方案,?4337?的優勢則是可以自定義簽名算法。這里的簽名只需和合約中簽名的算法綁定的,而簽名這件事本身可以有多種算法實現,不同算法性能和交互模式不同,而這將帶來的核心變化是,如更好的將簽名的功能轉入手機設備端實現從而實現便攜的硬件錢包。這點主要的挑戰是安卓等設備開放性過高,不可能私鑰存手機,需要單獨的簽名芯片等。
1.2.2、折中?2-元交易標準
這點優化折中針對的是用戶執行鏈上行為必須依賴已有?ETH?作為手續費,采用元交易標準后
用戶體驗上:用戶雖然賬戶中沒有ETH,但可仍通過網?界面鑄造NFT:用戶僅需簽即可,我們創建交易、為之代付燃料費、將之提交上鏈執行。
以色列區塊鏈公司Kirobo為以太坊交易提供“撤銷”功能:以色列區塊鏈安全公司Kirobo此前推出的“可檢索轉賬”服務現在可用于以太坊網絡上。對于MetaMask的用戶和任何使用WalletConnect協議的錢包,可檢索的轉賬允許用戶通過生成由發送方輸入的密碼來回收發送到錯誤地址的資金。資金接收方還必須輸入匹配的密碼,否則發送方就會收回資金,從而撤銷交易。此外,該服務還旨在防止向不支持存款的智能合約發送資金,以及防止中間人攻擊。(Coindesk)[2020/11/12 14:08:46]
幕后執行上:
用戶對結構化數據進行簽名,這個數據與簽名是要求NFT合約鑄造一個NFT給他
數據與簽名被發送給中繼器
鏈下中繼器向鏈上發起交易,送到鏈上可信的傳遞者合約(Forwarder)
而?NFT合約是定制的,會將這樣方式傳遞的交易中的原始發起者視為是用戶,而非?msg.sender
因此在最終的NFT合約中,執行的?NFTMint?得到的對象就不是原始標準中的交易發起者了
例如最近火熱的?Lens?免?gas?方案,就是非常標準的元交易執行模式,已經累計有上千萬筆代付交易了
這個方案是有效的,但有兩個缺點:
它引入了一個我們必須信任的鏈下?色中繼器。如果他宕機了,或者有作惡的動機,則可能存在?險。
我們最終交互的合約必須定制。這導致而無法與鏈上已經存在的、未定制的合約進行交互,這大幅減少能夠適用的范圍。
為什么用這么多篇幅來講述合約錢包和元交易呢?因為?4337?的實現里本身幾乎就能涵蓋上述的優點
Tether在以太坊鏈上增發5億USDT:據Whale Alert數據顯示,北京時間08月10日20:26,Tether公司新增發5億USDT,交易哈希為:0x00d57ebcc7a32835411fc8f009e9f3010b5dee230a725870d51750a4537af862。
此前報道,Tether將于幾小時內將5億枚USDT從TRON遷移至ERC20協議。在此過程中,USDT總供給量不會改變。[2020/8/10]
拓展閱讀:
EIP-4337標準智能錢包實踐研究報告:全景式呈現4337標準實例實現過程及機遇探討
https://research.web3?caff.com/zh/archives/4660?
2、為什么?4337?可以實現產權分離?
現在在去中心化的領域是不存在免費的信任,身份驗證必須基于密碼學證明,所以無論哪種提案都是需要管理某種意義的私鑰,而要實現體驗上的折中,首要打破的就是目前賬戶權限的過于集中,整體改造方式按針對的對象或者環節可以分成三種大方向:
改造鏈上交易類型
改造鏈上主體對象
改造上鏈交易打包過程
在下圖,EIP-4337方案納入了最新路線圖,這也宣告著以太坊最終在這兩條路徑中做出了決定。
EIP-4337是迄今為止是AA的最佳方案。
被選用的核心原因是EIP-4337完全避免了共識層協議更改,使用標準中提出了新的事務對象?UserOperation,用戶將此對象發送到內存池中由?bundlers?從礦工維度批量打包交付合約執行交易事務。是個任何人可以開發鏈上合約,任何人可以自運行捆綁器的去中心化模式。
動態 | 以太坊君士坦丁堡升級修改為兩個名稱,并刪除改進提案EIP1283:以太坊官方網站今日更新了關于以太坊君士坦丁堡升級的最新公告,并表示,以太坊網絡將按原定計劃在區塊高度達到7,280,000時發生。預計將于2019年2月28日(周四)進行。具體的日期可能會根據時間段的不同而變化,可以在1-2天之前或之后激活。這次網絡升級的名稱變為君士坦丁堡/圣彼得堡。此次網絡升級有兩個名稱的原因是原來的君士坦丁堡網絡升級被推遲了,需要在相同的區塊上進行兩個協議升級,以修復各種以太坊測試網絡上的問題。圣彼得堡變化主要體現在,在對以太坊主網執行網絡升級之前,將對測試網絡(如Ropsten)進行升級測試更改。此文章中列出的原始君士坦丁堡更改,在推遲之前應用于測試網絡,并且需要第二次網絡升級以撤消原始君士坦丁堡的更改。這被稱為圣彼得堡,它出現在與君士坦丁堡相同的區塊上。查詢發現,使用圣彼得堡網絡升級從測試網絡中刪除了提案EIP1283。(華爾街見聞)[2019/2/23]
2.1、?4337?運作原理
后續深入理解最新進展所面臨的難題和挑戰還是需要先理解原理,咱們從涉及的角色,分工,對照傳統交易的執行流程來梳理。
2.1.1、?4337?標準涉及的角色
ERC-4337有五個主要組成部分:?UserOperation、Bundler、EntryPoint、WalletContract?和?PaymasterContract。
UserOperations用戶操作對象,是用于與合約賬戶執行交易的偽交易對象。這些是由創建者的應用程序所創建的。
Bundlers捆綁器,可能是某個礦工,從內存池中打包UserOperations并將它們發送到區塊鏈上的EntryPoint合約的參與者。
EntryPoint入口點合約,是處理交易驗證和執行邏輯的智能合約。
WalletContracts是用戶最終擁有的鏈上身份,屬于智能合約帳戶。
PaymasterContracts是可選的代付智能合約。
2.1.2、?4337?交易的執行流程
我們來重新按完成一筆以太坊轉賬的流程來梳理下按照ERC-4337實現的交易是怎樣的:
打開錢包:用戶管理持有的私鑰工具,如Metamask,Bitkeep,Bitizen等。
交易簽名:用私鑰對新的若干字段做簽名操作,稱之為?UserOperation用戶操作對象。
發送交易:稱之為Bundlers打包者或是捆綁器,本質仍是由某個負責出塊的礦工操作。
礦工打包:bundlers把用戶發送的操作簽名解析驗證后由礦工單獨再簽名一筆交易來包裹用戶的指令,批量地將用戶的操作指令轉發到某個合約錢包中再由合約來驗證用戶的簽名并執行。
由于交易是礦工簽名并發送的,因此from是礦工,原先用戶的簽名和指令在則在參數之中。
打包發送到作為路由器的智能合約中,執行驗證并且進一步轉發到各用戶獨立的合約錢包。
入口點合約驗證:EntryPoint?是處理交易驗證和執行邏輯的智能合約。會反復和用戶的合約賬戶進行交互以及驗證,確保最終鏈上打包必然成功,否則全部交易都要回退。
出塊流程:完全不變。
2.2、功能舉例:入口點合約
遷入?4337?后,對任何賬戶的調度都需要先經過入口點合約,他需要解決的是
如果用戶的「錢包合約」尚未部署,則用?UO?中的initCode字段去部署合約
循環驗證組合交易中?UserOperation
既有鏈下模擬驗證
也在合約也提供鏈上驗證
管理質押費
計算?gas?成本,既要用于收取用戶,也需要面對失敗交易補償捆綁器
3、為什么持續要關注ERC-4337??
ERC-4337的高開發投入以及快速的迭代進度,說明他能快速成為最終提案、并被各種應用廣泛接納、真正成為事實性行業標準,他帶來的核心價值是大幅度降低普通用戶使用Web3應用的門檻。
屆時,一個應用能否兼容ERC-4337?,則將影響自己能否利用整個以太坊生態的其他組件、以快速發展。后續的DApp應用,也將必然需要能兼容從賬戶主體已然轉移向ERC-4337的用戶們。
最終驗證市場的還是用戶本身,實現的方案是復雜的,這也僅僅是對于應用方的復雜
對于用戶本身而言,最終他們能夠看到的是:
更流暢的交易體驗,類似購物車,即使面對?10?個市場也能夠一筆交易完成打包。
更安全的接入入口,借助?4337?的自定義簽名算法能力,使用手機專屬安全芯片而無需攜帶硬件錢包,
更沉浸的游戲環境,借助?paymaster?的代付能力,乃至可以定義半小時內的不超過?XX?金額的交易免除簽名,避免了一場游戲被場外打斷。
真正的鏈上主體,可以被社交恢復,可以更換私鑰密碼,可以做交易的風險分層分級,兼容安全與使用便捷。
如此種種對終端用戶體驗的提升,都是最終為什么要如此費力的推進ERC-4337的原因。
上篇更多是圍繞?ERC-4337?運作機制、背景進行說明。
下篇詳細講述當前被審計方案的優缺與實施細節,但涉及較多以太坊底層所以閱讀難度較高,投稿在Web3?Caff?平臺的?research?頻道。
閱讀原文:https://research.web3?caff.com/zh/archives/6900?
參考文獻
https://cointelegraph.com/news/ethereum-erc-4337-smart-accounts-launch-at-walletcon-account-abstraction-is-here
https://blog.openzeppelin.com/eip-4337-ethereum-account-abstraction-incremental-audit/#conclusions
https://blog.openzeppelin.com/eth-foundation-account-abstraction-audit/
https://eips.ethereum.org/EIPS/eip-4337?
https://hackmd.io/@erc?4337/test-suite
https://www.youtube.com/watch??v=eyT?6?WzJmWyc
https://notes.ethereum.org/@yoav/unified-erc-4337-mempool#What-does-censorship-resistance-require-of-ERC-4337?
https://github.com/eth-infinitism/account-abstraction/issues/188?
https://notes.ethereum.org/@yoav/unified-erc-4337-mempool
https://github.com/eth-infinitism/account-abstraction/blob/develop/reports/gas-checker.txt#enroll-beta
尊敬的歐易用戶:?為了帶給您更優質的交易體驗,降低您的交易成本并提升整體流動性,歐易調整USDK幣種折扣率的時間于2023年3月17日19:00修改為:2023年3月16日11:00-11:30.
1900/1/1 0:00:00親愛的ZT用戶: ZT已完成LUFFY從V2到V3的合約升級置換,LUFFYV3合約地址變更為0x54012cDF4119DE84218F7EB90eEB87e25aE6EBd7.
1900/1/1 0:00:00本文來自Coindesk,原文作者:BrandyBetzOdaily星球日報譯者|Moni3月13日.
1900/1/1 0:00:00比特幣似乎將在周三的交易日收盤時基本持平于24,000美元左右,這讓市場參與者在經歷了7天的忙碌價格走勢后有一些急需的時間來喘口氣.
1900/1/1 0:00:0012:00-21:00關鍵詞:Voyager、Coinbase、CNHCGroup、澳大利亞1.美國政府:Binance.US收購Voyager的交易應該停止;2.
1900/1/1 0:00:00自去年以來,加密貨幣市場一直在放緩。然而,一些市場顛覆者正在迎接挑戰分析人士認為,ADA、SOL、XRP都是將在不久的將來撼動該行業的代幣 XRP Ripple(XRP)是XRPLedger的原.
1900/1/1 0:00:00