EIP-7702 在 2025 年 5 月的 Pectra 升級中正式上線,讓一般人常用的外部帳戶(EOA,也就是有私鑰、以 0x 開頭的錢包地址)能在一筆交易中「暫時」變成智慧合約錢包。這解決了帳戶抽象(Account Abstraction)長期卡住的一個結:過去 ERC-4337 只能服務全新部署的智慧錢包,而全世界數億個既有 EOA 無法直接升級。7702 補上了這條遷移路徑,讓 MetaMask、Rabby、Trust 等主流錢包的老用戶不換地址就能享受交易批次、Gas 代付、社交恢復等功能。

但同一把鑰匙也能開後門。Wintermute 與 GoPlus 追蹤鏈上資料後發現,Pectra 上線後首月主網超過 97% 的 7702 委派都指向極少數幾組「掃錢包」(sweeper)合約,超過九成的委派與惡意合約有關,已出現多起單筆逾百萬美元的釣魚損失。今天拆解 7702 的運作機制、它與 ERC-4337 的分工,以及為什麼一個提升體驗的升級,反而成了盜幣工具。

📖 學(核心)

EIP-7702 到底改了什麼:委派而非部署

7702 引進了新的交易型別 0x04(SetCode)。使用者用私鑰簽署一份「授權」(authorization),內容指向一個實作合約(implementation contract)的地址。交易上鏈後,EOA 的帳戶狀態會被寫入一個 23 bytes 的委派指標(格式為 0xef0100 加上目標合約地址),之後 EVM 對這個 EOA 的呼叫,都會當成是在呼叫那個實作合約來執行。

關鍵在於「委派,不是部署」。EOA 的地址底下並沒有真的寫入合約 bytecode,它只是存了一個指向別人合約的指標,而且私鑰依然有效、地址依然不變。這代表升級是可逆的:再簽一份指向零地址的授權就能取消委派。也因為地址與歷史紀錄都保留,老用戶不必把資產搬到新錢包,這是 7702 相對於「重新部署一個智慧錢包」最大的優勢。

7702 與 ERC-4337 的分工

ERC-4337 是「協議外」(off-protocol)的帳戶抽象方案,它不動 Ethereum 核心規則,而是另建一套 UserOperation(使用者操作)的替代記憶池(alt mempool),由 Bundler(打包者)把多筆 UserOp 打包成一般交易送上鏈,再靠 Paymaster(代付合約)贊助 Gas。它適合「全新安裝」的用戶,一開始就發一個智慧合約帳戶。

7702 則是「協議內」(in-protocol)方案,直接改了 EVM 對 EOA 的處理方式,適合「有歷史的老 EOA」升級。兩者不是取代關係而是互補:2026 年主流做法是新用戶走 4337、舊用戶走 7702,合起來就能覆蓋整個以太坊用戶基數。實務上 7702 委派後的 EOA 也能送出 UserOp,搭配 Paymaster 就能實現「用穩定幣付 Gas、不需要先持有 ETH」的體驗。

為什麼它同時是盜幣神器

7702 的殺傷力來自「一次簽名、全權委派」。當使用者簽下那份授權,實作合約就取得了對帳戶資產的執行權,包含轉出代幣、批准 NFT、發起代付交易。攻擊者(如 Inferno Drainer、Pink Drainer 等釣魚集團)會架設模仿 Uniswap 等平台的假介面,誘導使用者簽署一份看似正常、實則把帳戶委派給惡意 sweeper 合約的授權。

一旦簽下去,sweeper 合約會自動把錢包裡的資產掃空,常見手法是透過 Relay 等協議把贓款橋接回主網。麻煩之處在於:傳統釣魚通常只騙到「單一代幣的 approve」,而 7702 的惡意委派是把整個帳戶的執行權交出去,一次簽名等於交出全部。arXiv 上已有專門分析 7702 釣魚攻擊的論文,審計機構也開始把 7702 委派錢包列為新的安全審查領域。

🧠 記

  • EIP-7702 隨 Pectra(2025-05)上線,讓 EOA 能在交易中暫時變成智慧合約,不換地址、可逆。
  • 機制是新交易型別 0x04(SetCode),帳戶存入 23 bytes 委派指標(0xef0100 + 合約地址),指向實作合約。
  • 「委派而非部署」:EOA 底下沒真的寫入 bytecode,私鑰仍有效,取消委派只要再簽一份指向零地址的授權。
  • ERC-4337 是協議外方案(Bundler + Paymaster + alt mempool),適合全新智慧錢包;7702 是協議內方案,適合老 EOA 升級,兩者互補。
  • 委派後的 EOA 可送出 UserOperation,搭配 Paymaster 可用穩定幣付 Gas,免持有 ETH。
  • 風險核心是「一次簽名、全權委派」:惡意授權把整個帳戶執行權交給 sweeper 合約,比傳統單一 approve 釣魚危險得多。
  • 鏈上數據顯示 Pectra 首月主網 97%+ 的委派指向少數 sweeper 合約家族,90%+ 委派與惡意行為相關。

✍️ 實踐

  1. 檢查你的地址目前是否有委派:在區塊瀏覽器(如 Etherscan)查自己的地址,若 code 欄位出現 0xef0100... 開頭,代表已委派;確認指向的合約是否為你信任的錢包(如 MetaMask、Rabby 官方 delegator)。
  2. 簽署授權前先看清「目標合約地址」:任何要求你簽署 7702 授權(SetCode / delegation)的頁面,務必核對實作合約是否為官方公佈的地址,不明地址一律拒簽。
  3. 用測試網跑一次完整流程:在 Sepolia 上用支援 7702 的錢包發一筆委派交易,體驗交易批次與 Gas 代付,再送一份指向 0x0 的授權取消委派,理解可逆機制。
  4. 為高價值資產分離錢包:把長期持有的資產放在「不做任何委派、不連任何 dApp」的冷錢包,只用一個小額熱錢包測試 7702 功能,降低單次誤簽的損失上限。
  5. 開發者導入時走白名單:若你的產品要用 7702,只允許委派到經審計的官方 delegator 合約,並在 UI 明確顯示「你正在把帳戶執行權委派給 X 合約」,不要把授權藏在一般簽名裡。

🔗 延伸學習


💬 問 AI

我想搞懂 EIP-7702 對我這種{請填入:你的角色,例如一般錢包用戶 / DeFi 開發者}的實際影響。
我目前的使用情境是{請填入:例如用 MetaMask 玩 DeFi、管理一個多簽金庫},
持有的資產規模與風險承受度是{請填入}。
請幫我:1) 用白話解釋 7702 委派機制對我的好處與風險;
2) 列出我現在該做的安全檢查步驟;
3) 說明我該不該啟用 7702、以及在什麼情境下該避免簽署委派授權。