
作者:以太坊基金會協議支持團隊;翻譯:比特鏈視界xiaozou
以太坊Pectra升級計劃於2025年5月7日在以太坊主網epoch 364032(UTC時間10:05:11)激活。
1、Pectra簡介
Pectra是繼去年Dencun升級後的重大更新。它通過引入新功能來增強以太坊帳戶體系、改善驗證者體驗、支持L2擴展等!
本文將詳細探討這三項主要改進。如需全面了解升級內容,請參閱ethereum.org的升級指南。
(1)從外部帳戶(EOA)到智能帳戶
EIP-7702標誌著帳戶抽象化進程的重要一步,允許用戶為外部帳戶(EOA)添加智能合約功能。
這種混合方案結合了EOA的簡易性與合約帳戶的可編程性。具體而言,它使得錢包能夠支持如下功能:
• 交易批處理: 多個操作可在單筆交易中原子化執行。無需再為”授權”和”兌換”發起獨立交易!
• Gas代付: 允許第三方支付交易費用。這對於無ETH帳戶發起交易特別有用。
• 替代驗證: 意味著當前手機中的許多硬體安全模塊(HSM)可通過通行密鑰等技術授權帳戶操作。
• 支出控制: 可限制特定應用能消耗的代幣數量,或設置錢包每日轉出上限以提升安全性。
• 恢復機制: 為用戶提供多種資產保護選項,無需遷移至新帳戶。
使用EIP-7702時,EOA需籤署指向特定委託地址的授權(該地址包含待執行代碼)。設置完成後,帳戶即獲得新代碼功能(如批處理、代付、驗證邏輯等)。由於選擇委託目標意味著移交大量控制權,EIP-7702強制實施多項安全檢查:
• 特定鏈委託: 默認情況下,委託僅對特定鏈ID有效,防止跨網絡使用相同授權。
• Nonce綁定委託: 授權可與帳戶當前nonce綁定,nonce增加後自動失效。• 可撤銷性:EOA所有者始終可創建新的EIP-7702授權來撤銷或替換現有委託代碼,避免錯誤操作導致永久鎖定。
(2)驗證者體驗優化
Pectra包含三項改善驗證者體驗的EIP:7251、7002和6110。
首先,EIP-7251通過自願更新提款憑證類型,將驗證者可獲得獎勵的最大餘額從32 ETH提升至2048 ETH。
對質押者而言,這實現了收益複利。此前驗證者質押超過32 ETH的部分不會計入活躍質押量。想要質押超過32 ETH的用戶只能以32 ETH為增量單位操作,中間值需依賴質押池。EIP-7251使得新舊驗證者都能配置為按實際質押量獲取獎勵(上限2048 ETH)。
該EIP還允許大型運營商合併多個32 ETH驗證者,從而降低全網帶寬需求。
EIP-7002則通過引入執行層可觸發的提款來擴展驗證者能力。此前僅有驗證者活躍籤名密鑰能觸發退出。現在若將以太坊地址設為提款憑證,該地址也可強制退出。這降低了委託設置中的信任假設,因為資金所有者(無論是控制EOA的個人還是DAO管理的智能合約)始終可以無需信任地發起退出。
最後,EIP-6110消除了合併前以太坊的遺留問題:驗證者存款與加入存款隊列之間的延遲。以太坊合併前,信標鏈需等待2048個區塊才處理驗證者存款以應對潛在的工作量證明重組。現在這已不再必要!
EIP-6110使存款處理延遲從約9小時降至13分鐘。
(3)Blob擴展
Pectra最後一項重大變更是EIP-7691,它將以太坊的blob吞吐量翻倍!
Dencun升級引入的blob是L2用於向以太坊L1提交壓縮交易數據和證明的臨時存儲方案。啟用後使L2的L1費用降低10-100倍,大幅削減了L2用戶交易成本。
當前以太坊主網每區塊平均支持3個blob,峰值容量為6個。EIP-7691將分別提升至平均支持6個,峰值9個。
與節點永久存儲的CALLDATA不同,blob在4096個epoch(約18天)後會被清除。這限制了其空間佔用。blob的實際約束來自帶寬,因為它們需要在以太坊點對點層傳播。為抵消EIP-7691帶來的帶寬增長,Pectra還引入EIP-7623來限制區塊大小上限。
要在不增加帶寬需求的前提下持續擴展以太坊數據吞吐量,我們必須從”每個節點存儲所有blob”轉向”節點僅存儲子集並通過網絡採樣驗證其餘數據”的模式。好消息是:相關工作已在推進中!以太坊基金會研究團隊的Francesco在Devcon主題演講中大致描述了這一擴展路線圖。
2、Pectra規範
Pectra的具體更新詳見EIP-7600。具體包括:
• EIP-2537:BLS12-381曲線操作的預編譯
• EIP-2935:在狀態中保存歷史區塊哈希值
• EIP-6110:鏈上供應驗證者存款
• EIP-7002:執行層可觸發的退出
• EIP-7251:提高MAX_EFFECTIVE_BALANCE上限
• EIP-7549:將committee index欄位移出Attestation
• EIP-7623:增加calldata成本
• EIP-7685:通用執行層請求
• EIP-7691:Blob吞吐量提升
• EIP-7702:設置EOA帳戶代碼
• EIP-7840:向EL配置文件添加blob schedule
執行層與共識層規範的完整Python版本可參見以下版本:
• 執行層:v1.17.0rc6
• 共識層:v1.5.0-beta.5
此外,Pectra還對用於共識層與執行層節點通信的Engine API進行了更新。
3、Pectra激活
Pectra網絡升級將於2025年5月7日UTC時間10:05:11(epoch 364032起始)在以太坊主網激活。
此前已在Hoodi、Holesky和Sepolia測試網完成激活。
4、客戶端版本
以下客戶端版本適用於以太坊主網的Pectra升級。
共識層版本
運行驗證者時,需同時更新共識層信標節點和驗證者客戶端。
執行層版本
5、常見問題
問:以太坊網絡升級如何運作?
答: 以太坊網絡升級需要節點運營者明確選擇加入。雖然客戶端開發者就升級包含的EIP達成共識,但他們並非最終決策者。
要使升級生效,驗證者和非質押節點必須手動更新軟體以支持新協議。
如果使用的以太坊客戶端未更新至最新版本(見上文),在分叉區塊時將斷開與升級節點的連接,導致網絡分叉。這種情況下,每個節點子集僅與保持相同(未)升級狀態的節點保持連接。
儘管多數以太坊升級無爭議且分叉情況罕見,但節點運營者自主決定是否支持升級是以太坊治理的核心特徵。
問:作為以太坊主網用戶或ETH持有者,我需要做什麼?
答: 一句話:不需要。
如果你使用交易所、數字錢包或硬體錢包,除非服務商特別通知,否則無需任何操作。
問:作為非質押節點運營者,我需要做什麼?
答: 為確保兼容性,請將執行層和共識層客戶端更新至上表所列版本。
問:作為質押者,我需要做什麼?
答: 為確保兼容性,請將執行層和共識層客戶端更新至上表所列版本。請同時更新信標節點和驗證者客戶端。
問:作為應用或工具開發者,我該做什麼?
答: 審閱Pectra包含的EIP,評估其對項目的影響——本次升級在執行層和共識層都引入了許多令人興奮的新功能!
問:為何命名為”Pectra”?
答: 執行層升級沿用Devcon城市名,共識層升級採用星宿名稱。”Pectra”是Devcon IV舉辦地布拉格(Prague)與金牛座(Taurus)藍白色巨星Electra的組合。