承昨日帳戶抽象與 EIP-7702 讓每個 EOA 都能「暫時變聰明」,今天把鏡頭轉向那個真正讓錢包從「工具」變成「服務」的元件:paymaster,也就是 gas 代付。它是 ERC-4337 三大支柱裡最容易被使用者無感享受、卻最考驗開發者財務與資安設計的一塊。

📖 學

paymaster 的核心概念只有一句:讓「誰付手續費」和「誰發起交易」脫鉤。在傳統 EOA 世界,你要送出任何一筆交易,錢包裡就得先有原生代幣(ETH、MATIC)去付 gas,這是新用戶最大的一道牆——他手上可能只有從交易所買來的 USDC,卻因為沒有 0.001 ETH 而寸步難行。ERC-4337 把交易改寫成 UserOperation,經由 bundler 打包、送進單例的 EntryPoint 合約執行;而 paymaster 就是掛在這條流程上的一個合約,由它出面向 EntryPoint 質押並墊付這筆 gas。使用者端看到的,是一筆「不用先儲值也能送出」的交易。

從商業設計來看,paymaster 大致分兩類。第一類是贊助型(sponsored):App 幫使用者把 gas 全包了。這在 2026 年已經是消費級加密 App、鏈遊、穩定幣支付的預設體驗——新用戶前幾筆操作完全免費,轉化率的提升遠遠超過那點成本。實務上在 L2 上贊助一個新用戶的頭十筆操作,總成本通常不到一美元,對獲客而言便宜到近乎免費。第二類是代幣型(ERC-20 paymaster):使用者仍然付費,但用 USDC 之類的穩定幣付,由 paymaster 在背後即時換算並代墊原生代幣。這解開了「錢包裡只有穩定幣」的死結,也是穩定幣支付場景能規模化的關鍵齒輪。

但真正值得寫進筆記的,是 paymaster 的風險面,而這正是它有趣的地方。paymaster 為了替你付錢,必須先信任「這筆 UserOperation 值得代付」,於是它要在 validatePaymasterUserOp 這個驗證階段做出判斷:是不是我授權的白名單?簽章是否有效?使用者的 USDC 額度夠不夠換算?問題在於,驗證階段能讀到的狀態、能花的 gas 都受到嚴格限制,而攻擊者最愛的就是製造「驗證時看起來沒問題、實際執行時卻反悔」的落差,讓 paymaster 白白墊了錢卻收不回款。資安團隊 OtterSec 在 2025 年底的一篇分析裡就整理了這類「gas 竊取」與代付邏輯被套利的模式:授權簽章重放、餘額在驗證後被抽乾、以及 bundler 與 paymaster 之間的信任錯配。

所以 paymaster 的設計哲學,本質上是一種風險定價。你不是單純地「幫人付錢」,而是在對每一筆交易做一次微型的信用審核與額度控管:誰能被贊助、單筆與單日上限多少、簽章多久過期、換匯滑價怎麼算進去。把它想成「App 版的信用卡收單」會更貼切——好處是使用者無感,代價是你得像金融機構一樣管理你的墊款曝險。

值得留意的是,EIP-7702 讓這件事的門檻又降了一階。過去只有全新的智慧合約錢包能享受 paymaster,現在連你原本那個老 EOA 都能透過 7702 暫時獲得帳戶抽象能力,接上 paymaster 流程。這意味著 gas 代付的潛在受眾,從「願意換新錢包的少數人」一口氣擴大到「所有既有 EOA 用戶」,這也是為什麼 2026 年 paymaster 生態突然變得這麼熱。

🧠 記

  • paymaster = gas 代付合約,把「誰付手續費」與「誰發起交易」脫鉤,是 ERC-4337 三支柱(bundler、smart account、paymaster)之一。
  • 兩種模式:贊助型(App 全包,拉高轉化)與 ERC-20 型(用 USDC 付費、背後代墊原生幣)。
  • 風險核心在 validatePaymasterUserOp:驗證階段與執行階段的落差會被拿來「白嫖 gas」,設計上等於在做每筆交易的微型信用審核
  • EIP-7702 把 paymaster 的受眾從「新智慧錢包用戶」擴大到「所有既有 EOA」,這是 2026 年生態升溫的主因。

✍️ 實踐

挑一個你常用的錢包或 App(例如 Coinbase Smart Wallet、任一支援 gasless 的 L2 dApp),實際送出一筆交易,觀察它是否讓你「不持有原生代幣也能操作」。若有,回頭看它的交易紀錄或區塊瀏覽器,找出實際付 gas 的地址——那多半就是一個 paymaster 合約。試著問自己:如果我是這個 App 的老闆,我會設定什麼樣的贊助上限與過期規則,才不會被人把代付額度掃空?把你的答案寫成三條規則,這就是你對「風險定價」最直接的一次思考練習。

🔗 延伸學習

💬 問 AI

我想理解 ERC-4337 paymaster 的資安設計。請用一筆「使用者付 USDC、paymaster 代墊 ETH gas」的交易為例,逐步說明 validatePaymasterUserOp 驗證階段會檢查哪些條件,以及攻擊者可能如何在驗證通過後讓 paymaster 收不到款(gas 竊取)。最後列出三個實務上防止代付額度被掃空的具體設計(例如額度上限、簽章過期、滑價緩衝),並各給一句為什麼有效。