Pectra 升級是以太坊網絡的下一個重要里程碑,預計將於 2025 年第一季度實施。這次升級包含兩個主要部分:Prague(布拉格)執行層升級和 Electra(星座名)協議層升級。

撰文:dwong

Pectra 升級是以太坊網絡的下一個重要里程碑,預計將於 2025 年第一季度實施。這次升級包含兩個主要部分:Prague(布拉格)執行層升級和 Electra(星座名)協議層升級。

與之前的重大升級不同,Pectra 並沒有一個突出的主要目標,而是聚焦於多個技術改進和優化。這與 Dencun 升級(大幅降低 L2 費用)或 Shapella 升級(允許質押的 ETH 提款,完成以太坊向權益證明(PoS)轉變的最後一步)形成對比。

最新進展

最近,以太坊核心開發者(ACD,All Core Developers)在電話會議中討論了將 Pectra 升級分拆成兩個階段的可能性。根據這一提議:

  1. Pectra 升級將包含 pectra-devnet-3 的 EIPs(詳見下文)。

  2. 原計劃中的 EOF(EVM 對象格式)和 PeerDAS(Peer Data Availability Sampling)內容將被推遲到下一次升級,暫定名爲 Fusaka(Fulu + Osaka)。

  3. 原本計劃在 Osaka(大阪)中實施的 Verkle Trees 相關內容將進一步推遲,可能會在後續的 Amsterdam(阿姆斯特丹)升級中實現。

這種分階段的方法旨在確保每次升級的規模和複雜度保持在可控範圍內,同時也爲各項技術的充分測試和完善留出足夠時間。

Pectra 升級相關 EIPs

已確定包含的 EIPs

  1. EIP-2537[1]:BLS12-381 曲線操作的預編譯

  2. EIP-2935[2]:在狀態中保存歷史區塊哈希

  3. EIP-6110[3]:在鏈上提供驗證者存款

  4. EIP-7002[4]:可觸發的執行層退出

  5. EIP-7251[5]:增加最大有效餘額

  6. EIP-7549[6]:將委員會索引移出證明

  7. EIP-7685[7]:通用執行層請求

  8. 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。這一變更有多重益處:

  1. 允許大型節點運營商合併爲較少的驗證者,提高運營效率。

  2. 爲小型質押者提供獲得複利獎勵的機會,增加質押的吸引力。

  3. 提供更靈活的質押選項,吸引更多參與者。

  4. 減少網絡中的冗餘驗證者,降低 P2P 消息的數量。

  5. 減小 BeaconState 的內存佔用,提高系統效率。

  6. 配合增強執行層的部分提款機制,進一步優化整個以太坊網絡的資金流動性。

EIP-7549:將委員會索引移出證明

該提案建議將委員會的 index 字段從簽名的證明消息中移除,以實現相同共識投票的聚合。這一變更的主要目標是提高 Casper FFG 客戶端的效率,通過減少驗證共識規則所需的平均配對數量來實現。雖然所有類型的客戶端都能從這一改進中受益,但對於需要證明 Casper FFG 共識的 ZK 電路來說,這一變更可能帶來最顯著的性能提升。

EIP-7685:通用執行層請求

該提案定義了一個通用框架,用於存儲和處理由智能合約觸發的請求。具體實現是在執行頭和正文中各增加一個字段來存儲請求信息,從而將這些請求暴露給共識層,允許其處理每一個請求。這一機制的設計主要是爲了應對智能合約控制的驗證者日益增加的需求,爲未來更復雜的鏈上交互提供基礎。

EIP-7702:爲一個交易設置 EOA 賬戶代碼

由 Vitalik Buterin 等人提出的 EIP-7702 旨在優化以太坊的賬戶抽象(account abstraction)。該提案引入了一種新的交易類型,允許外部擁有賬戶(EOA)通過授權機制設置賬戶代碼。這一改進支持多項新功能:

  1. 批量操作:允許 EOA 在同一交易中執行多個操作,提高效率。

  2. 代付交易:爲第三方支付交易費用提供便利。

  3. 權限降級:增強賬戶的安全性和靈活性。

通過採用新的交易結構,該提案不僅提升了 EOA 的功能性和可用性,還爲未來的賬戶抽象技術提供了良好的兼容性和擴展性。

結語

Pectra 升級雖然沒有一個突出的主要目標,但通過一系列技術改進和優化,將進一步增強以太坊網絡的功能、安全性和效率。隨着升級計劃的推進,我們可能會看到更多的 EIP 被納入或調整。

參考資料

EIP-7600: Pectra 硬分叉元數據[12]

以太坊核心開發者共識層會議#197[13]

[1]EIP-2537: https://eips.ethereum.org/EIPS/eip-2537

[2]EIP-2935: https://eips.ethereum.org/EIPS/eip-2935

[3]EIP-6110: https://eips.ethereum.org/EIPS/eip-6110

[4]EIP-7002: https://eips.ethereum.org/EIPS/eip-7002

[5]EIP-7251: https://eips.ethereum.org/EIPS/eip-7251

[6]EIP-7549: https://eips.ethereum.org/EIPS/eip-7549

[7]EIP-7685: https://eips.ethereum.org/EIPS/eip-7685

[8]EIP-7702: https://eips.ethereum.org/EIPS/eip-7702

[9]EIP-7547: https://eips.ethereum.org/EIPS/eip-7547

[10]EIP-7623: https://eips.ethereum.org/EIPS/eip-7623

[11]EIP-7742: https://eips.ethereum.org/EIPS/eip-7742

[12]EIP-7600: Pectra 硬分叉元數據: https://eips.ethereum.org/EIPS/eip-7600

[13]以太坊核心開發者共識層會議#197: https://www.galaxy.com/insights/research/ethereum-all-core-developers-execution-call-197/