跳至內容
0%

什麼是 Ethereum Pectra 升級?11 個 EIP 開發者指南

發布於 2025年5月7日閱讀時間 3 分鐘

Pectra 升級(Prague + Electra)是 Ethereum 的下一次主要硬分叉,也是納入 EIP 數量最多的一次升級,已於 2025 年 5 月 7 日上線。它整合了 11 個 EIP,內容涵蓋從智慧錢包功能到質押機制,乃至rollup資料效率等各個層面。以下我們逐一說明各項改進,包括變更內容以及對開發者的影響——無論你是在部署應用程式、智慧合約,或是自己的鏈。

重點 EIP 一覽

Pectra 中會有哪些 EIP?以下逐一說明。

EIP
Description

EIP-7702

將 EOA 升級為智慧錢包,支援交易打包、gas 代付、session key、資產救援、passkey

EIP-7691

提升 blob 容量,將最大 blob 數量從 3/6 提升至 6/9,藉此提升 rollup 可擴展性並降低交易手續費

EIP-7251

將每個 validator 的最大質押量從 32 ETH 提升至 2048 ETH,支援獎勵自動複利,降低網路負載並提升質押效率

EIP-7623

提高 rollup 使用 calldata 的成本,鼓勵其改用 blob,同時維持一般 L1 使用者的成本不變。

EIP-7002

允許透過執行層發起 validator 提款,讓去信任化的質押池得以運作,不再需要仰賴中介機構處理提款與獎勵

EIP-7685

使執行層與共識層可以直接溝通,智慧合約現在能直接互動

EIP-2537

讓 BLS 簽章與 zk proof 等運算更快、更便宜,降低 rollup、橋接與隱私應用的 gas 成本

EIP-2935

將鏈上區塊歷史紀錄延伸至 8,192 個區塊,支援無狀態客戶端,並改善 rollup 與跨鏈應用的去信任化存取

EIP-6110

將存款紀錄直接寫入區塊,加快 validator 啟用速度,縮短等待時間並提升質押效率

EIP-7549

優化 validator 簽章聚合,大幅降低驗證成本,讓輕節點運作更有效率,並改善 zk-proof 的生成

EIP-7840

將 blob 容量正式納入執行層設定檔中,提升 blob 設定的靈活度,讓費用預測更準確,未來升級也更順暢。

智慧 EOA(EIP-7702):錢包獲得「超能力」

EIP-7702 讓一般的外部擁有帳戶(Externally Owned Account, EOA)可以在交易過程中暫時執行智慧合約程式碼。實務上,這引入了一種新的交易類型,讓 EOA 可以附加並執行 bytecode,而不會永久變成合約。可以想像成,你原本的普通錢包突然能在單一筆交易中表現得像完整的智慧合約錢包一樣。這項升級被稱為 Ethereum 錢包的「iPhone 時刻」 ——大幅擴展了錢包的能力,遠超過單純發送 ERC-20 代幣或呼叫合約。它與目前主流的帳戶抽象化(Account Abstraction, AA)標準 ERC-4337 相容,因此既有錢包可以直接變成智慧錢包,不需要建立新地址或轉移資產。

對應用程式與錢包開發者的影響

對於已有既有使用者的應用程式與錢包開發者來說,EIP-7702 的影響非常大。它讓更好的使用者體驗流程(打包交易、免 gas 體驗、社交救援邏輯、多簽驗證等)可以直接在協定層實現。錢包供應商可能需要整合這種新交易類型,並為這些「智慧帳戶」功能提供對應的 UI。

若應用程式的目標是全新使用者,建議選擇 ERC-4337 以獲得最佳安全性與功能。詳細建議請參閱這份指南。

資訊圖表,說明 EIP-7702 如何讓 EOA 執行智能合約程式碼
Ethereum Pectra EIP-7702 摘要

對智慧合約開發者的影響

對智慧合約開發者而言,需要留意有些舊有假設已不再成立。原本依賴 tx.origin 來確認呼叫者為 EOA(用於防止重入或防機器人的模式)的合約將不再有效。

在 7702 之下,一個 EOA 同時是 tx.origin,且可以執行內部呼叫——這代表 tx.origin == msg.sender 檢查已無法可靠地區分「外部呼叫」與「內部呼叫」。如果你的程式碼採用這種模式,建議進行更新。反過來說,你現在也可以設計合約,預期 EOA 會發出更複雜的交易邏輯——舉例來說,一個 dApp 可以假設使用者可能會將 approval 與操作打包在一起,並針對這種情況進行優化。

另外,如果你打算使用 EXTCODESIZE==0(EXTCODESIZE 是一個 opcode,回傳帳戶程式碼的大小),請記得在 7702 之後 EXTCODESIZE 會回傳非零值,因此若強制執行 EXTCODESIZE==0 檢查,將會阻擋任何使用 7702 的錢包。

提醒:早在此之前,透過合約建構子(constructor)中的外部呼叫即可繞過合約大小檢查,因為在合約建立流程完成之前,該合約地址並不存在任何程式碼,因此會回傳零。

我們樂於協助你整合 EIP-7702。歡迎探索智慧錢包功能、閱讀 EIP-7702 實作指南,並在有整合相關問題時與我們聯繫。

資料可用性與 rollup 可擴展性(EIP 7691、7623、7840)

Rollup 開發者,這一節是為你準備的。Pectra 包含對 Ethereum 資料可用性層的升級,將直接影響 L2 的吞吐量與成本。核心主題是**「多用 blob,少用 calldata,而且要多用!」**——延續自 proto-danksharding(Dencun 中的 EIP-4844)的方向,讓 rollup 更便宜、更有效率。

EIP-7691:將每區塊 blob 容量翻倍

變更內容:

EIP-7691 提升了 Ethereum 每個區塊可攜帶的 blob 容量,將目標 blob 數量從 3 個提升至 6 個,最大允許數量也從 6 個提升至 9 個。同時,它也調整了 blob 相關的手續費機制:當區塊滿載時,blob 基礎費用的上升幅度會較為溫和(約上升 8.2%),而當 blob 供應充足時,下降幅度則更明顯(約下降 14.5%)。這樣可以確保即使 blob 容量擴大,手續費仍維持穩定且可預測。

影響:

這將直接使 rollup 受益,讓它們能在每個 Ethereum 區塊中包含兩倍的資料量。實務上,rollup 可以選擇提升交易吞吐量、降低費用,或兩者兼顧。使用樂觀(optimistic)或 ZK-rollup 等 L2 方案的使用者,應會明顯感受到交易費用降低或效能提升,因為資料可用性成本對整體交易費用有相當大的影響。

EIP-7623:提高 calldata 成本,促使 rollup 轉向 blob

變更內容:

EIP-7623 有策略性地提高了交易 calldata 的 gas 成本。在 blob 出現之前,rollup 通常直接將壓縮後的資料存放在 calldata 中,這在當時是 Ethereum 所鼓勵的做法。現在,Ethereum 透過提高 calldata 的相對成本,鼓勵 rollup 將資料儲存完全遷移至 blob。

影響:

這項經濟誘因旨在促使 rollup 遠離效率較差的 calldata 用法,轉而使用專屬的 blob 儲存層。打個比方,可以把 Ethereum 區塊想像成行李箱:一般交易就像普通行李,而大量 calldata 就像塞了保齡球一樣。EIP-7623 意味著行李塞得越重就要付出越高的代價,藉此鼓勵使用 blob——Ethereum 專屬的資料空間。

Rollup 開發者必須相應更新系統。仍使用 calldata 作為資料可用性方案的舊版 rollup,需要完全轉換至 blob,否則將面臨明顯更高的營運成本。一般智慧合約與標準 Ethereum 交易,由於 calldata 用量極低,基本上不受影響。

EIP-7840:可設定的 blob 參數(面向未來)

變更內容:

EIP-7840 在客戶端設定檔中引入了一個新物件「blob schedule」。過去,每次分叉都需要為 blob 相關參數(如每區塊的目標與最大 blob 數量)寫死程式碼,現在這些設定可以透過設定檔調整,讓網路調校更容易、更可預測。

請在客戶端設定檔中,以下列結構擴充 blobSchedule 物件:

json
Copied
"blobSchedule": { "cancun": {"target": 3,"max": 6,} "prague": { "target": 6, "max": 9 }, "osaka": { "target": 12, "max": 16}, ... }

若目前分叉沒有明確設定,則沿用上一個指定分叉的數值。若沒有任何前值可用,則兩者皆設為零。

影響:

這項變更讓未來的調整更簡單。舉例來說,日後若要再次提升 blob 容量,不再需要大規模修改程式碼——只需簡單調整設定即可。這讓 rollup 與 Ethereum 核心開發者擁有更高的彈性,也讓 Ethereum 的擴展路徑更透明、更易於維護。

負責節點運作或基礎設施的開發者,應確保其執行層客戶端在升級後正確納入這些 blob 參數。應用程式開發者短期內不會直接感受到影響,但長遠來看,將受惠於 Ethereum 資料可用性層更順暢、更可預測的擴展成果。

若你有興趣部署 rollup,或對相關效益有任何疑問,歡迎與我們聯繫。

質押與 validator 升級(EIP 7251、7002、6110、7549、7685)

變更內容:

Pectra 升級為 Ethereum 質押帶來多項重要改進。Validator 現在每個帳戶最多可持有 2048 ETH(EIP-7251),降低複雜度並支援獎勵自動複利。Validator 可以直接從執行層發起退出(EIP-7002),由於處理流程更簡化,存款啟用速度也更快(約 13 分鐘,從原本需數小時大幅縮短)(EIP-6110),attestation 簽章效率大幅提升(驗證次數減少約 60 倍,EIP-7549),並建立了執行層與共識層之間的標準化溝通管道(EIP-7685)。

重要性:

這些變更共同簡化了 validator 的操作,讓質押體驗更簡單、更安全,也更具擴展性。較少的 validator 處理較大的質押量,代表更低的營運負擔與更高的網路效率。執行層觸發的退出機制提升了 validator 的安全性與去中心化程度,而更快的存款處理則改善了使用者體驗。標準化跨層溝通,也為未來的升級打下更順暢的基礎。

對開發者的影響:

基礎設施與質押池開發者需要調整工具與工作流程,以因應更大的 validator 質押量、執行層觸發的退出機制,以及簡化後的 attestation。客戶端與節點營運者將受惠於更低的複雜度與更高的網路效率,但需要相應更新軟體。一般 dApp 開發者短期影響有限,但能間接受惠於網路效能與穩定性的提升。

密碼學與歷史資料強化(EIP 2537 與 2935)

變更內容:

EIP-2537 為 BLS12-381 橢圓曲線新增原生 Ethereum precompile,讓 BLS 簽章驗證與 zk-SNARK proof 等運算的成本大幅降低。過去,這類複雜的密碼學驗證在智慧合約中的成本高到難以負擔。EIP-2935 將 Ethereum 的 BLOCKHASH 歷史紀錄從約 1 小時(256 個區塊)延伸至約 27 小時(8192 個區塊),讓合約能夠直接在鏈上參照近期的過往區塊。

重要性:

EIP-2537 讓開發者能夠直接在 Ethereum 上以更低的 gas 成本,建構進階的密碼學應用——例如 zk-rollup、鏈上輕節點證明、去信任化橋接,以及保護隱私的合約。同時,EIP-2935 解決了 Ethereum 短期記憶的限制,支援需要可靠鏈上歷史參照的應用場景,例如強化隨機數生成、可驗證證明,以及 rollup 詐欺證明。

對開發者的影響:

智慧合約開發者將獲得強大且高效的鏈上密碼學工具(EIP-2537),並能更廣泛地取得近期歷史資料用於合約邏輯(EIP-2935)。涉及進階密碼學方案的應用——例如採用聚合 BLS 簽章的 DAO、以 zk 為基礎的隱私應用,或鏈上驗證系統——實作難度將大幅降低。此外,依賴近期區塊雜湊值來產生隨機數或進行驗證的合約,現在能可靠地存取鏈上資料,簡化設計並降低對外部依賴的需求。

常見問題

Ethereum Pectra 升級何時進行?

Pectra 升級已於 2025 年 5 月 7 日上線。與過去的 Ethereum 硬分叉相同,確切時間取決於區塊產生速率,但生態系參與者與開發者應在此目標日期前做好準備。

Pectra 升級的主要特色有哪些?

Pectra 的主要亮點功能包括:

  • 一般錢包可暫時具備智慧合約能力(EIP-7702),被稱為 Ethereum 錢包的「iPhone 時刻」
  • 將每區塊 blob 容量從 3 個翻倍至 6 個,讓 rollup 更有效率、成本更低
  • 將最大 validator 容量從 32 ETH 提升至 2048 ETH,簡化 validator 操作
  • 新增原生支援 BLS12-381 密碼學,讓進階密碼學應用得以在鏈上實現
  • 將區塊歷史參照範圍從約 1 小時延伸至約 27 小時,強化智慧合約功能

Pectra 升級對 Ethereum 開發者有何影響?

Pectra 的影響依開發者的關注領域而有所不同:

  • 應用程式與錢包開發者可透過 EIP-7702 的智慧帳戶功能,獲得強大的使用者體驗能力
  • 智慧合約開發者需要檢視依賴 tx.origin 檢查或 EXTCODESIZE==0 假設的程式碼
  • Rollup 開發者應完全從 calldata 遷移至 blob,以達到最佳成本效益
  • 基礎設施供應商需要更新客戶端,以因應新的 blob 參數與 validator 操作
  • 密碼學應用開發者現在可以實作過去不切實際的 zk-SNARK 與 BLS 簽章方案

Pectra 與先前的 Ethereum 升級(如 Dencun)有何不同?

Pectra 建立在 Dencun 的 proto-danksharding 基礎之上,但採取了更全面的方向。Dencun 主要專注於引入 blob 以改善資料可用性(EIP-4844),而 Pectra 則同時處理 Ethereum 協定的多個層面。它大幅強化了錢包功能、優化質押經濟機制、將 blob 容量翻倍,並引入原生密碼學運算。這種全面的涵蓋範圍,使 Pectra 成為 Ethereum 迄今納入 EIP 數量最多的一次升級,觸及的協定面向也比 Dencun、Shanghai 或 Paris 等先前的升級更廣。

為所有人打造更好的鏈上未來

Pectra 升級為 Ethereum 帶來了重大改進,帶來更智慧的錢包、可擴展的質押機制、強大的密碼學能力,以及強化的資料可用性。對開發者而言,這代表更完善的工具、更簡單的操作,以及在打造下一代去中心化應用程式時更高的彈性。這是有意義的一步進展——讓你能夠打造更好的使用者體驗、更強大的解決方案,最終帶來更健康的 Ethereum 生態系。

延伸資源

我們樂於協助你善用這些升級,打造成功的鏈上應用程式。

與我們的團隊聯繫,一起打造吧!

Background gradient

打造區塊鏈魔法

Alchemy 結合最強大的 Web3 開發者產品與工具,並提供資源、社群與卓越的支援。