作者:Eden Network,翻譯:金色財經xiaozou
2023年3月1日,ERC-4337上線以太坊主網,增強了智能合約代表用戶進行交易的能力。但實際上,到底發生了什么變化?
ERC-4337并沒有觸及以太坊所依賴的核心共識層,而是添加了一個層,使開發人員有機會從根本上改變用戶的鏈上交互和交易方式。
本文,我們將研究ERC-4337引入的五個主要技術組件,以及它們是如何協同工作執行用戶交易的。
ERC-4337標準有五個關鍵組件值得關注:UserOperation、Bundler、EntryPoint、Aggregator和Paymaster。
1、UserOperation
簡單來說:UserOperation捕捉用戶的意圖和操作,包括與發送方、有效負載和gas費相關的信息。由于它的設計是為了避免更改共識,以太坊團隊選擇創建一個全新的結構,以獲取代表用戶發送的交易所包含的全部必要元素。
為了避免混淆,他們特意沒有將其稱為“交易”。
更具體地說:智能合約錢包現在可以創建叫做UserOperation(userOp)的偽交易對象,代表用戶所期望的交易意圖,而無需初始化傳統交易。
CyberConnect宣布推出代幣CYBER:4月28日消息,Web3 社交圖譜協議 CyberConnect 宣布推出代幣 CYBER,將于 2023 年 5 月 18 日在 CoinList 公開發售 CYBER 代幣。CYBER 總供應量為 1 億枚,此次公售占總供應量的 3%。CYBER 將成為其生態中的原生代幣,還將允許持有者對其提案進行投票。
此前消息,CyberConnect 于 2022 年 5 月完成 1500 萬美元 A 輪融資,Anomica Brands 和 Skyline Capital 領投。[2023/4/28 14:31:48]
UserOperation不能訪問任何在模擬和執行之間可能發生變化的信息,例如當前區塊時間、哈希值、區塊號等。這是為了確保它的有效性,并且能夠為其鏈上交易執行支付費用。
UserOperation同樣只允許訪問與發送方地址相關的數據。
與交易類似:UserOperation包含sender、to、calldata、maxFeePerGas、maxPriorityFee、signature和nonce字段。
與交易不同:nonce和signature字段的使用不是由協議定義的,而是由各帳戶實現定義的。
UserOperation內存池
簡單來說:UserOperation內存池是一個等待網絡處理的未執行UserOperations的池。UserOperations被發往UserOperation內存池,而非傳統的公共內存池。
ZenGo:從Polygon官方跨鏈橋轉至以太坊的ERC-20代幣中有價值超2700萬美元的資產并未被申領:11月29日消息,加密貨幣錢包ZenGo發布文章稱,在研究對Polygon的支持時,發現Polygon官方跨鏈橋合約在以太坊端相較Polygon端多出了價值約2700萬美元的資產。
ZenGo稱,此舉或由于從Polygon上通過官方跨鏈橋跨鏈至以太坊后需要手動申領跨鏈的代幣,但很多用戶并未執行申領操作。其中,0x0076開頭的地址從Polygon上向以太坊跨鏈轉賬超812枚WETH和超54枚WBTC(總價值超200萬美元)但均未在以太坊端進行申領。[2022/11/29 21:08:25]
更具體地說:UserOperation內存池是任一個UserOperation作為真正交易上鏈之前的最后一個“停靠站”,然后,稱為bundler(下文將詳細介紹)的新質押者可以從該內存池里提取各UserOperation,充當了EOA角色,支付gas費并將UserOperations發送到共識層作為交易執行。
這是一個專用的高級UserOperation內存池,僅供UserOperations使用,也稱為canonical內存池。該內存池遵循并嚴格執行ERC-4337規則。ERC也允許為UserOperations提供不遵循canonical內存池規則的替代內存池(alt-mempool)。
遵守ERC規則的UserOperations被發送到canonical內存池。那些不遵守ERC規則的可以被發送到其他規則不同的替代內存池。這些替代內存池中的UserOperations僅被發送給該池的參與者。
電商平臺WooCommerce和Shopify接受ADA付款:在Reddit的一個新帖子中,加密支付網關解決方案NOWPayments發布了一個插件,電商平臺WooCommerce和Shopify商戶接受Cardano (ADA)付款。此外,NOWPayments還透露,他們正在尋求與電子商務平臺Etsy合作,以啟用ADA付款。據其網站介紹,NOWPayments允許商戶接受超過50種貨幣加密貨幣,并可以選擇將這些代幣直接發送到接收者的錢包。[2021/4/25 20:55:04]
Bundlers可以通過加入白名單或加入另一個不同ID的替代內存池來應對canonical內存池的異常情況。Bundlers可以自由加入canonical內存池(他們必須無一例外地遵守ERC規則)及替代池。
注:UserOperations內存池的最終版本尚未完全定義,因此預計會有進一步的變化。然而,一個完全去中心化的內存池對于協議的采用和健康來說是必不可少的。
2、Bundler
簡單來說:Bundler充當著它從canonical內存池和替代內存池中所提取的全部UserOperations的EOA的角色,Bundler將UserOperations發送到EntryPoint合約進行驗證和完整性檢查,然后,最后進入我們在ERC-4337出現之前的世界里所習慣的交易流程。
更具體地說:Bundler是一個專門的操作員,它監聽UserOperation內存池和所有內存池,提取多個UserOperations,將它們打包在一起,并將交易包發送給EntryPoint合約執行。這看起來非常像從EOA到智能合約的交易,其中UserOperations的執行就如內部交易。“from”地址將是Bundler,“to”地址將是EntryPoint合約。
TrustSwap將推出NFT和ERC-20代幣交易平臺SWAPPABLE:12月4日,TrustSwap發文宣布將于12月底推出NFT和ERC-20代幣交易平臺SWAPPABLE。SWAPPABLE將支持ERC-721和ERC-1155NFT的鑄造、購買、銷售。
此外,用戶可以以任意價格和任意用戶交易任何ERC-20代幣。交易手續費的80%將作為TrustSwap原生代幣SWAP的質押獎勵。[2020/12/4 23:06:02]
Bunders選擇將哪些UserOperations對象包含在他們的打包交易中,基于與今天以太坊的區塊建設者所使用的類似的價值最大化邏輯。
成為Bundler的經濟模型/動機是什么?
交易上鏈時,Bundler充當“from”地址,正因如此,Bundler將使用ETH為交易包支付gas費。Bundler作為所有單個UserOperation執行的一部分,隨后會獲得費用補償。
在接收UserOperation之前,Bundler將模擬它來驗證簽名,確保UserOperation可以支付費用,并確保UserOperation在模擬和執行時以相同的方式運行。要靠Bundler來避免包含驗證失敗的UserOperations,避免吸收那些無法支付的gas成本。
注意:在ERC-4337框架中,區塊建設者也可以充當Bundlers角色,以提供更強大的執行保證,但這并不是必需的。如果沒有這種更強大的執行保證,交易包將被發送到公共池,并且有可能發生搶先交易,導致交易包交易失敗。
公告 | BKEX Global 即將恢復ETH及相關ERC20代幣的充提功能:據BKEX公告,BKEX Global已完成對ETH的伊斯坦布爾升級,將于12月8日12:00(UTC+8)前陸續恢復ETH及相關ERC20代幣的充提功能。[2019/12/8]
3、Paymaster
簡單來說:Paymaster是一個可選的質押者,可以為其他用戶的交易支付費用。為什么?Paymaster可以為以太坊交易帶來許多有趣的新功能,例如:
應用開發者可以很容易地為他們的用戶補貼費用,例如作為一種獲客手段。
用戶可以使用ERC-20代幣或信用卡或其他訂閱服務等鏈下支付方式輕松支付gas費。
更具體地說:ERC-4337流程并沒有強制要求必須使用paymaster。UserOperation使用paymaster通常有以下兩種選擇:
驗證Paymaster:這些paymaster提供與鏈下流程相關聯的gas抽象。例如,它可以讓用戶用信用卡或訂閱服務支付交易費用,而不會損害他們的賬戶托管。
存款Paymaster:這些paymaster提供與鏈上ERC-20代幣相關聯的gas抽象。
Paymaster要么必須限制其存儲使用,要么必須進行質押。
注:為了防止濫用,系統將降低速度或暫時封禁提交大量無效UserOperations的Paymaster。為了防止實體的“女巫攻擊”,全局實體需要在系統中進行質押,這使得拒絕服務(DoS)攻擊的成本很高。該質押不會被罰沒,可隨時提取,但會受延遲限制。不訪問全局存儲的全局實體例外。
4、Aggregator
簡單來說:Aggregator是一類特殊的參與者,利用helper智能合約來處理批量UserOperation簽名,并將它們轉換成一個簽名,也就是將其聚合。
更具體地說:Aggregator是一個受合約帳戶信任的helper智能合約,用于驗證聚合簽名。UserOperations包由Aggregator在單個步驟中進行驗證,而不是單獨驗證每個簽名。Aggregator旨在提高大規模交易處理的效率和成本。
當前的現實:ERC-4337的交易量還不夠高,不足以顯現簽名聚合的好處,但交易量正在快速增長,一旦達到臨界值,Aggregator就會成為一個關鍵的利益相關者,促進大規模交易。
壓縮的實現過程超出了本文的討論范圍。然而,它已經整合進ERC-4337的設計中。最流行的壓縮方法就是使用BLS簽名聚合。
從用戶的角度來看,他們看不出有任何不同,但是開發人員需要在智能帳戶中部署BLS簽名邏輯。
5、EntryPoint
簡單來說:EntryPoint合約是一個單例合約,驗證并執行發送給它的UserOperations包。它檢查并確保由bundler發送的提交到鏈上的所有UserOperations都是真實有效的。
更具體地說:EntryPoint合約是所有符合ERC-4337標準的智能合約錢包必須使用的全局入口點,以便在EVM上進行交易。這一概念類似于單個質押存款合約。
EntryPoint的使用簡化了智能合約錢包使用的邏輯,將確保安全所需的更復雜功能推至入口點,而不是錢包本身。其核心目的是防止錢包在進入網絡之前進行不必要或未經授權的操作。
EntryPoint序列
下圖展示了EntryPoint是如何管理Bundler發送的UserOperation包的。通常有兩個階段,但在使用aggregator的情況下,會增加一個階段。
EntryPoint序列相對簡單,有兩個階段:
如果存在aggregator:
如果沒有aggregator:
序列中的每個循環都有自己的角色,如下:
循環1:Aggregator循環
如果一個交易包使用了aggregator,那么EntryPoint會首先檢查aggregator。由Entry Point來驗證簽名。
循環2:驗證循環
首先,它會檢查合約帳戶是否存在。如果不存在,它就會創建一個。
如果沒有定義paymaster:序列驗證Contract Account在EntryPoint中是否有足夠的存款來支付gas費。如果存款充足,它就會為UserOperation付費。
如果定義了paymaster:序列驗證paymaster在EntryPoint合約中是否有足夠的存款。如果存款充足,那么合約將驗證UserOperation。
循環3:執行循環
它使用callData調用合約帳戶。
如果定義了paymaster,它將調用paymaster中的自定義費用邏輯。
只有在UserOperation通過序列循環的考驗后,才能最終上鏈。
結論:
雖然為了避免混淆,ERC-4337特意使用了不包含“交易”字眼的用語,但實際上,它可以被視為用戶交易上鏈的替代流程。一旦把所有組成部分連接起來,協議就有能力向現有EOA交易流程引入新的用戶意圖層。
AA(賬戶抽象)錢包的用戶將把他們的意圖傳遞給UserOperations內存池。Bundlers將這些意圖轉換為網絡可以像以前一樣處理的簽名交易。
雖然對于開發者來說,這看起來像是一個有額外步驟的“交易”,但對于用戶來說,這就是手動輸入用戶名/密碼并將其記在筆記本上以確保安全,或使用OAuth只點擊幾下就可訪問web3應用程序之間的區別。
金色薦讀
金色財經 善歐巴
迪新財訊
Chainlink預言機
區塊律動BlockBeats
白話區塊鏈
金色早8點
Odaily星球日報
Arcane Labs
歐科云鏈
點擊閱讀:2023年NFT 市場分析(上):市場概況與微觀趨勢原文:CoinMarketCap&NFTGO 譯:金色財經第三章 主要項目與事件 NFT項目的趨勢分析.
1900/1/1 0:00:00作者:Kadeem Clarke, M6Labs負責人以太坊作為領先的智能合約平臺和市值第二大的區塊鏈,DeFi在以太坊網絡上更具優勢.
1900/1/1 0:00:00【5.07 - 5.13】周報概要:1、上周NFT總交易額:156,493,104(美元)2、上周NFT總交易筆數:128,1933、上周NFT總用戶數:57.
1900/1/1 0:00:00摘要: BTC已在$27,000-$30,000區間內震蕩多日,我們認為短期內利好出盡,沒有新的驅動因素促使市場上漲,BTC可能在120日均線$25,000附近獲得支撐.
1900/1/1 0:00:00金色周刊是金色財經推出的一檔每周區塊鏈行業總結欄目,內容涵蓋一周重點新聞、礦業信息、項目動態、技術進展等行業動態。本文是其中的新聞周刊,帶您一覽本周區塊鏈行業大事.
1900/1/1 0:00:00作者:William Peaster,Bankless作者;翻譯:金色財經xiaozou以太坊質押的下一個重頭戲是EigenLayer,這是一種新的“再質押”協議.
1900/1/1 0:00:00