---
title: "EIP-7702：Pectra 升級後 Ethereum 開發者快速整合指南"
description: "Ethereum 即將迎來 EIP-7702 這項重要升級。以下是給所有開發者的整合考量快速指南。"
---

# EIP-7702：Pectra 升級後 Ethereum 開發者快速整合指南

<ImageBlock
  src="https://media.alchemy.com/1738616619-eip-7702-blog.jpg"
  alt="Ethereum Pectra 升級中的 EIP-7702，讓 EOA 具備智慧帳戶功能"
  width={3200}
  height={1600}
  caption="EIP-7702 讓 EOA 具備智慧帳戶功能"
  priority
/>

<CalloutBlock>

太長不看？我們懂。可以到[我們在 X 上的系列文章](https://x.com/Alchemy/status/1886965484383559972)看快速解說與示範。

</CalloutBlock>

[Ethereum 的路線圖](https://ethereum.org/en/roadmap/pectra/7702/)正朝主流加密貨幣採用邁進，其中 **[EIP-7702](https://www.alchemy.com/overviews/eip-7702-metamask-and-wallets)** 掀起了不小的討論，該提案已納入[**Pectra 硬分叉**](/overviews/ethereum-pectra-upgrade-dev-guide-to-11-eips)。這次升級標誌著 Ethereum 邁向**帳戶抽象化**的關鍵一步，旨在讓鏈上體驗更順暢、更智慧、更容易使用。具體而言，EIP-7702 讓外部擁有帳戶（Externally Owned Accounts，EOAs）能夠使用智能合約帳戶的功能。

身為開發者，你們是下一代鏈上創新的架構師，我們的任務就是確保你們能充分運用 EIP-7702 的潛力。作為[<u>驅動數百萬個鏈上應用程式的基礎設施</u>](https://www.alchemy.com/)的建構者，我們在此提供指引。

這是我們深入探討 EIP-7702 系列文章的第一篇，專為像你這樣的應用程式開發者撰寫。接下來，我們將一起探討這項提案為何如此重要、其底層運作方式，以及決定是否（和為何）將這些新功能整合進你的應用程式時，需要考量的關鍵技術要點。讓我們一步一步打造未來。

太長不看版：

- EIP-7702 讓 EOA 可以將控制權委派給智能合約帳戶，使其能夠直接從自己的地址執行程式碼
- 它與現行的 AA 標準 ERC-4337 相容，因此現有錢包可以直接變成智能合約錢包，無需建立新地址或轉移資產
- 對使用者而言，這將帶來類似 Web2 的功能，包括帳戶救援與 passkey 登入以簡化身分驗證，以及 Web3 的優勢，例如由他人贊助 gas 費用，以及不限於用 ETH 支付 gas，可用任何代幣支付

## Ethereum 帳戶的現況

2024 年 5 月，Vitalik Buterin 提出了[<u>EIP-7702</u>](https://eips.ethereum.org/EIPS/eip-7702)，這項提案有望從根本上改變 Ethereum 帳戶的運作方式。最初只是在一次全體核心開發者會議前 22 分鐘寫成的草案，如今已納入 Pectra 升級。EIP-7702 代表著邁向完整帳戶抽象化的重要一步，同時解決了眼前的可用性問題。

但要理解 Ethereum 未來的走向，我們得先[<u>了解它目前的架構</u>](https://www.alchemy.com/overviews/what-is-account-abstraction)。

目前，Ethereum 使用者依賴兩種帳戶：由私鑰控制的**外部擁有帳戶（EOAs）**，以及能直接執行程式碼的**智能合約帳戶（SCA）**：

**外部擁有帳戶**：

- 可以發起交易
- 無法直接從自己的地址執行程式碼
- 僅限於基本操作

**智能合約帳戶**：

- 可以執行程式碼
- 無法發起交易
- 更具彈性和可程式化能力

EIP-7702 的目標是將這兩者合而為一，讓*任何帳戶都能像智能合約一樣運作*。透過讓 EOA 能直接從自己的地址執行程式碼，Ethereum 開發者可以打造媲美 Web2 體驗的鏈上功能，包括：

- Session key
- 帳戶社交救援
- 不需要助記詞的身分驗證機制
- 以及將多個操作合併為單次點擊完成

以下是你應該了解的 EIP-7702 運作方式。

### 關於 EIP-7702 與 ERC-4337 你該知道的事

EIP-7702 並不會取代 Ethereum 現有的 AA 標準 ERC-4337。EIP-7702 的設計是要與 ERC-4337 互補，讓帳戶抽象化功能更容易觸及使用者。但 ERC-4337 確實有一個限制：

- 由於它與 EOA 不向下相容，因此需要建立新錢包

**EIP-7702 移除了這項限制**，且無需對 EVM 的共識邏輯做更深層的變動：

- 使用現有錢包
- 不需要新帳戶或遷移
- 與 ERC-4337 的基礎設施完美搭配
- 現有 EOA 只需透過委派指定符（delegation designator）委派智能合約邏輯

### EIP-7702 的執行流程

EIP-7702 依賴一種巧妙的委派機制，需要使用者提供執行智能合約程式碼的授權。這項授權在使用者明確撤銷之前會一直有效，也就是說使用者必須信任他們所授權的程式碼並非惡意。

執行流程如下：

1. **設定**：EOA 決定將控制權委派給智能合約錢包
1. **驗證**：系統檢查委派是否已正確簽署
1. **執行**：EOA 取得智能合約的功能
1. **清理**：如果 EOA 決定撤銷智能合約的控制權，必須再送出一筆 7702 交易，將委派設回 0

透過儲存**委派指定符**，EOA 得以像智能合約帳戶一樣運作。這個指定符是一種特殊程式碼，`0xef0100 \|\| address`，其中 `address` 指向包含所需功能或操作的智能合約。

委派指定符使用被禁用的 opcode `0xef`，以便與一般資料區分，確保程式碼執行操作會從指定的地址載入程式碼。

當交易發送給該 EOA 時，EOA 會執行指定地址上的程式碼，取得智能合約帳戶的功能。

### 應用程式開發者需考量的採用與安全性議題

EIP-7702 能否普及主要取決於一項因素：錢包提供商。由於錢包位於應用程式的上游，若沒有錢包支援，應用程式開發者及其使用者就無法運用 EIP-7702 帶來的功能。

與智能合約帳戶相比，EIP-7702 也呈現出不同的安全模型。主要是因為 EIP-7702 帳戶仍保留原本的 EOA 私鑰，這把私鑰可以覆寫智能帳戶的安全規則。

至於該如何整合 EIP-7702 啟用的錢包功能，應取決於幾項因素：你的應用程式所處的開發階段、你鎖定的使用者類型，以及你在跨多條鏈部署應用程式時需要多大的彈性。

#### 給已有使用者與內嵌錢包的開發者

如果你已經有內嵌錢包，那很幸運。我們會協助你透過[**smart accounts**](/smart-wallets)管理不同類型的使用者：

- 現有 EOA 使用者可以升級為 ERC-4337 帳戶
- 新使用者可以直接以純 ERC-4337 帳戶開始
- 系統將同時支援智能 EOA（EOA+7702）與純 ERC-4337 帳戶

#### 給尚未部署應用程式的開發者

對於全新開發的應用程式：雖然 ERC-4337 與 EIP-7702 都能實現帳戶抽象化，但在現代區塊鏈應用程式中，兩者服務的需求不同。

ERC-4337 提供純粹的智能合約帳戶，具有最大的可程式化能力、廣泛的交易客製化，以及成熟的工具生態，非常適合單鏈應用程式，以及大多數以帳戶功能為核心考量的多鏈應用程式。

相對地，EIP-7702 提供一種混合方式，讓帳戶能同時以 EOA 和智能合約的身分運作，實現無縫的跨鏈相容性與跨網路一致的地址，且由於不需要立即部署合約，初始 gas 成本也較低。

**在以下情況選擇 ERC-4337：**

- 深度的帳戶可程式化能力是核心需求
- 你正在打造多鏈應用程式，但不需要在部分鏈上使用 EOA、在其他鏈上使用 SCA 的彈性
- Gas 成本不是主要考量
- 你需要廣泛的交易客製化
- 你想運用現有的 4337 基礎設施

**在以下情況選擇 EIP-7702：**

- 你正在打造多鏈應用程式，且跨網路一致的地址是關鍵需求
- 初始 gas 成本是你的考量
- 與 EOA 基礎設施的向下相容性很重要
- 你想要從簡單開始、日後再逐步升級的彈性

EIP-7702 的主要優勢在於它的彈性：你不必在 EOA 與智能帳戶功能之間二選一，這對於需要同時與傳統和現代區塊鏈基礎設施互動、並規劃跨鏈擴展的應用程式來說格外有價值。

#### 給與外部第三方錢包合作的應用程式

許多最廣泛使用的錢包，例如 [MetaMask](https://www.alchemy.com/dapps/metamask)，計畫在今年納入智能錢包功能。以下是一些值得你深入研究的主題：

- [<u>批次處理</u>](https://github.com/ethereum/EIPs/blob/master/EIPS/eip-7702.md#self-sponsoring-allowing-txorigin-to-set-code)：讓單次授權能夠原子性地執行多個操作的能力，例如在[去中心化交易所（DEXs）](https://www.alchemy.com/dapps/list-of/decentralized-exchanges-dexs-on-base)上，使用者先核准某個 ERC-20 代幣、接著使用該筆核准額度進行交易
- [<u>委派</u>](https://github.com/ethereum/EIPs/blob/master/EIPS/eip-7702.md#secure-delegation)的風險
- 考慮使用[<u>我們的 SDK</u>](https://www.alchemy.com/docs/wallets/reference/account-kit/react/hooks/useConnect) 來簡化外部智能錢包的連接

### 其他考量事項

**若應用程式開發者決定使用 EIP-7702 升級現有 EOA，並希望使用 7702 啟用的**所有**功能，就需要一個 relayer。** relayer 架構有很多種，但我們建議使用 4337 bundler，原因如下：

- 提供標準化的中繼介面；
- 內建 paymaster 系統；
- 確保未來相容性；以及
- 可透過公開的 mempool 支援抗審查性

如果你需要 4337 bundler，[<u>Alchemy Bundler</u>](https://www.alchemy.com/bundler?utm_source=what_is_7702&utm_medium=blog&utm_campaign=eip_7702_series) 能滿足你的需求。

## 展望未來：邁向主流採用之路

雖然 EIP-7702 有望讓 Ethereum 更貼近 Web 的使用體驗，但開發者應注意，主網啟用後的實際採用情況仍取決於錢包是否率先整合這些功能——因此 EIP-7702 的可用性初期可能會受到限制。若想掌握 Ethereum 開發者社群最新的討論動態，可以到[<u>這裡</u>](https://ethereum-magicians.org/t/eip-7702-set-eoa-account-code/19923/346)查看最新文章。

### 我們協助你整合 EIP-7702

<ImageBlock
  src="https://media.alchemy.com/1745712194-frame-1597879441.png"
  alt="智慧錢包帶動使用者與交易量成長"
  width={2160}
  height={910}
  caption="智慧錢包帶動使用者與交易量成長"
/>

[**Smart wallets**](/smart-wallets)能協助你以零摩擦的方式將全世界帶上鏈。你現在就能運用 EIP-7702 升級現有 EOA，或部署新的 ERC-4337 帳戶。

- **零摩擦上手體驗**：透過內嵌錢包，實作使用者熟悉的電子郵件與社交登入
- **免 Gas 交易**：為使用者贊助 gas 費用，並實現一鍵完成交易
- **智能帳戶整合**：輕鬆整合 SDK，並支援 ERC-4337、ERC-6900 與 EIP-7702

我們在此協助你學習、開發並上線！

1. **探索**：閱讀[文件](https://www.alchemy.com/docs/wallets?utm_source=what_is_7702&utm_medium=blog&utm_campaign=eip_7702_series)並[開始建構](https://dashboard.alchemy.com/accounts?utm_source=what_is_7702&utm_medium=blog&utm_campaign=eip_7702_series)。
1. **需要協助？**：[與我們聯繫！](https://www.alchemy.com/contact-sales?utm_source=what_is_7702&utm_medium=blog&utm_campaign=eip_7702_series)我們的團隊全年無休，隨時協助你實作這些功能

## 常見問題

### 什麼是 EIP-7702？

EIP-7702 是納入 Pectra 硬分叉的 Ethereum 升級，讓外部擁有帳戶（EOA）能夠將控制權委派給智能合約帳戶，使其獲得智能帳戶的功能，例如批次交易、gas 贊助與社交救援。

### EIP-7702 如何與現有 EOA 搭配運作？

EIP-7702 讓現有 EOA 無需建立新帳戶或轉移資產，即可獲得智能合約功能。EOA 會儲存一個指向智能合約的委派指定符，使其能夠直接從自己的地址執行程式碼。

### EIP-7702 與 ERC-4337 相容嗎？

是的，EIP-7702 的設計目的是與 ERC-4337 互補，而非取代它。ERC-4337 提供純粹的智能合約帳戶，而 EIP-7702 則讓現有 EOA 也能使用那些帳戶抽象化功能，無需建立新錢包或進行遷移。

### EIP-7702 為使用者帶來哪些功能？

EIP-7702 帶來類似 Web2 的功能，包括帳戶救援、以 passkey 登入簡化身分驗證、由他人贊助的 gas 交易、可用任何代幣（不限於 ETH）支付 gas，以及將多個操作合併為單筆交易。

### 使用 EIP-7702 功能需要 relayer 嗎？

如果你想使用 EIP-7702 啟用的所有功能，就需要一個 relayer。我們建議使用 4337 bundler，因為它們提供標準化介面、內建 paymaster 系統，並確保未來相容性。

### 什麼時候該選擇 EIP-7702 而非 ERC-4337？

當你在打造需要跨網路維持一致地址的多鏈應用程式時、初始 gas 成本是考量因素時、與 EOA 基礎設施的向下相容性很重要時，或是你想要從簡單開始、日後再逐步升級的彈性時，就適合選擇 EIP-7702。

### EIP-7702 的委派可以撤銷嗎？

可以，委派在使用者明確撤銷之前會一直有效。若要撤銷智能合約控制權，必須再送出一筆 7702 交易，將委派設回零。

### EIP-7702 採用的主要依賴因素是什麼？

主要依賴因素是錢包提供商的支援。由於錢包位於應用程式的上游，若沒有錢包整合，應用程式開發者及其使用者就無法使用 EIP-7702 的功能。
