Pectra 升級是以太坊網路的下一個重要里程碑,預計將於2025 年第一季實施。這次升級包含兩個主要部分:Prague(布拉格)執行層升級和Electra(星座名)協定層升級。
與先前的重大升級不同,Pectra 並沒有一個突出的主要目標,而是聚焦於多個技術改進和最佳化。這與Dencun 升級(大幅降低L2 費用)或Shapella 升級(允許質押的ETH 提款,完成以太坊向權益證明(PoS)轉變的最後一步)形成對比。
最新進展
最近,以太坊核心開發者(ACD,All Core Developers)在電話會議中討論了將Pectra 升級分拆成兩個階段的可能性。根據這項提議:
-
Pectra 升級將包含pectra-devnet-3 的EIPs(詳見下文)。
-
原計劃中的EOF(EVM 物件格式)和PeerDAS(Peer Data Availability Sampling)內容將被推遲到下一次升級,暫定名為Fusaka(Fulu + Osaka)。
-
原本計劃在Osaka(大阪)中實施的Verkle Trees 相關內容將進一步推遲,可能會在後續的Amsterdam(阿姆斯特丹)升級中實現。
這種分階段的方法旨在確保每次升級的規模和複雜度保持在可控範圍內,同時也為各項技術的充分測試和完善留出足夠時間。
Pectra 升級相關EIPs
已確定包含的EIPs
-
EIP-2537[1]:BLS12-381 曲線操作的預編譯
-
EIP-2935[2]:在狀態中保存歷史區塊哈希
-
EIP-6110[3]:在鏈上提供驗證者存款
-
EIP-7002[4]:可觸發的執行層退出
-
EIP-7251[5]:增加最大有效餘額
-
EIP-7549[6]:將委員會索引移出證明
-
EIP-7685[7]:通用執行層請求
-
EIP-7702[8]:為一個交易設定EOA 帳戶代碼
考慮中的EIPs
-
EIP-7212: 支援secp256r1 曲線的預編譯
-
EIP-7547[9]:包含列表
-
EIP-7623[10]:增加calldata 成本
-
EIP-7742[11]:解除共識層和執行層之間的blob計數關係
關鍵EIP 簡介
EIP-2537:BLS12-381 曲線操作的預編譯
該提案引入了BLS12-381 曲線上的預編譯操作,大大提高了BLS 簽章驗證等操作的效率。與現有的BN254 預編譯相比,BLS12-381 提供了更高的安全性(超過120 位,而BN254 僅為80 位)。這項改進不僅包括基本的曲線運算,還整合了多重指數運算,為高效聚合公鑰和簽章奠定了基礎。
EIP-2935:在狀態中保存歷史區塊哈希
該提案建議將最近8192 個區塊的雜湊儲存在系統合約中,這項變更主要是為了支援無狀態客戶端的執行。透過這種方式,無狀態客戶端可以更輕鬆地獲取必要的歷史信息,同時保持現有BLOCKHASH 操作碼的兼容性。這不僅簡化了區塊哈希歷史的儲存機制,還為存取歷史資料提供了新的方法。
EIP-6110:在鏈上提供驗證者存款
該提案將驗證者存款的過程直接整合到以太坊執行層的區塊結構中。這項變更將存款的包含和驗證責任從共識層轉移到執行層,消除了共識層對存款(或eth1data)進行投票的需求。透過分析存款交易的合約日誌事件來產生存款列表,這種方法不僅提高了存款處理的安全性和效率,還改善了使用者體驗。此外,它還簡化了客戶端軟體的設計,降低了整體系統的複雜性。
EIP-7002:可觸發的執行層退出
該提案引入了一種新機制,允許驗證者透過執行層(0x01)撤回憑證來觸發撤回和退出操作。具體實作是將撤回訊息附加到執行層區塊中,然後由共識層進行處理。這種方法為驗證者提供了更靈活的退出選擇,同時保持了系統的安全性和一致性。
EIP-7251:增加最大有效餘額
該提案旨在提高以太坊驗證者的最大有效餘額(MAX_EFFECTIVE_BALANCE),同時保持最小質押餘額為32 ETH。這一變化更有多重益處:
-
允許大型節點業者合併為較少的驗證者,提高營運效率。
-
為小型質押者提供獲得複利獎勵的機會,增加質押的吸引力。
-
提供更靈活的質押選項,吸引更多參與者。
-
減少網路中的冗餘驗證者,降低P2P 訊息的數量。
-
減少BeaconState 的記憶體佔用,提高系統效率。
-
配合增強執行層的部分提款機制,進一步優化整個以太坊網路的資金流動性。
EIP-7549:將委員會索引移出證明
該提案建議將委員會的index 欄位從簽署的證明訊息中移除,以實現相同共識投票的聚合。這項變更的主要目標是提高Casper FFG 用戶端的效率,透過減少驗證共識規則所需的平均配對數量來實現。雖然所有類型的客戶端都能從這項改進中受益,但對於需要證明Casper FFG 共識的ZK 電路來說,這項變更可能帶來最顯著的效能提升。
EIP-7685:通用執行層請求
該提案定義了一個通用框架,用於儲存和處理由智慧合約觸發的請求。具體實現是在執行頭和正文中各增加一個字段來儲存請求訊息,從而將這些請求暴露給共識層,允許其處理每一個請求。此機制的設計主要是為了因應智慧合約控制的驗證者日益增加的需求,為未來更複雜的鏈上互動提供基礎。
EIP-7702:為一個交易設定EOA 帳戶代碼
由Vitalik Buterin 等人提出的EIP-7702 旨在優化以太坊的帳戶抽象(account abstraction)。該提案引入了一種新的交易類型,允許外部擁有帳戶(EOA)透過授權機制設定帳戶代碼。這項改進支援多項新功能:
-
批量操作:允許EOA 在同一交易中執行多個操作,提高效率。
-
代付交易:為第三方支付交易費用提供便利。
-
權限降級:增強帳戶的安全性和靈活性。
透過採用新的交易結構,該提案不僅提升了EOA 的功能性和可用性,還為未來的帳戶抽象技術提供了良好的兼容性和擴展性。
結語
Pectra 升級雖然沒有一個突出的主要目標,但透過一系列技術改進和優化,將進一步增強以太坊網路的功能、安全性和效率。隨著升級計劃的推進,我們可能會看到更多的EIP 被納入或調整。