金鑰、錢包與帳戶抽象化

打包者

打包者是 ERC-4337 中負責把使用者操作從專屬的 UserOp 記憶池中取出、將一批操作裝進單一筆普通以太坊交易、再把該交易送上鏈的角色。它是抽象意圖層與真實協議之間的橋樑:UserOperation 不是交易,因此少了打包者去包裝並廣播它們,便什麼也不會發生。其角色很像區塊建構者,只不過服務的是帳戶抽象化的記憶池,而非底層。

打包者運行自己的節點,在替代記憶池上聆聽,並針對每個候選 UserOperation 模擬驗證步驟,以確認兩件事:該操作有效,以及它(或它的 paymaster)確實會償付 gas。唯有如此它才納入該操作,以這批操作呼叫 EntryPoint 的 handleOps;EntryPoint 逐一驗證並執行,再從帳戶與 paymaster 償付打包者的 gas 成本。打包者的利潤來自「被償付的金額」與「交易實際花費」之間的差額,外加任何優先費用。

為了在一個開放、無須許可的記憶池中保障這件事的安全,ERC-4337 加諸驗證規則,限制 UserOperation 在驗證階段可存取的範圍——例如限制它能讀取哪些儲存、並禁用某些操作碼——使打包者的模擬結果在交易上鏈時仍然有效,無法被另一個操作廉價地推翻。這正是防止「攻擊者讓打包者把 gas 浪費在會回滾的操作上」這種拒絕服務騷擾的關鍵。如今打包者是一個值得留意的中心化點;一如底層的區塊建構,長遠目標是眾多彼此競爭、去中心化的打包者,而非少數幾家獨大。

打包者不是區塊提議者。它產生的是一筆普通交易,仍須經由一般的費用市場被撿取、由驗證者納入。因此一個 UserOperation 要穿過兩層的上鏈風險——打包者選中它,以及提議者納入打包者的那筆交易。

又称
UserOp bundlerERC-4337 bundlerUserOp 打包者