以太坊下一次升級 Pectra,其名稱來源于 Prague 和 Electra 的組合。
Prague 代表執(zhí)行層的升級,得名于以太坊開發(fā)者大會(Devcon 4)的舉辦城市布拉格,而 Electra 則象征共識層的升級,依照字母順序以星星命名。這次選擇的星名 Electra 對應(yīng)字母「E」。
Pectra 升級作為以太坊歷史上可能涉及最多 Ethereum Improvement Proposals(EIP)的一次硬分叉,不僅包含了一系列針對驗(yàn)證者操作和主網(wǎng)性能提升的提案,還引入了優(yōu)化 L2 的提案。Pectra Devnet 4 測試網(wǎng)剛上線,目前已經(jīng)有 8 個 EIP 確定包含在 Pectra 升級中。
確定納入的 EIP 以及產(chǎn)生的影響
這 8 個 EIP 對用戶的影響體現(xiàn)在:通過為 EOA 添加代碼執(zhí)行能力提高了賬戶的靈活性,使其能夠執(zhí)行更復(fù)雜的操作;提升質(zhì)押上限可能增加對 ETH 的需求;同時,優(yōu)化驗(yàn)證者的流程提升了安全性和效率,提高了以太坊的速度和吞吐量。
- EIP-2537(支持 BLS 簽名):通過引入一系列預(yù)編譯合約(precompiles),為以太坊增加對 BLS12-381 曲線運(yùn)算的支持,可以實(shí)現(xiàn) BLS 簽名驗(yàn)證,并允許多個簽名聚合為一個簽名,從而減少驗(yàn)證時的復(fù)雜度。BLS 簽名是一種密碼學(xué)算法,能夠生成較小的簽名并支持簽名聚合。這將有助于需要進(jìn)行大量的簽名驗(yàn)證和數(shù)據(jù)驗(yàn)證操作的 L2 更好地運(yùn)行。
- EIP-2935(在狀態(tài)中保存歷史區(qū)塊哈希):通過將最近 8192 個區(qū)塊哈希存儲在系統(tǒng)合約中,以支持無狀態(tài)客戶端(Stateless Clients) 模型,并提供更靈活的歷史區(qū)塊哈希查詢功能。這些哈希值可以通過合約直接查詢,并作為證明(witness)捆綁,提供給無狀態(tài)客戶端。客戶端無需自己維護(hù)完整的區(qū)塊鏈歷史或存儲大量數(shù)據(jù),只需依賴通過狀態(tài)中存儲的區(qū)塊哈希和相關(guān)證明就能夠驗(yàn)證區(qū)塊和交易的合法性。
- EIP-6110(在鏈上提供驗(yàn)證者存款):將驗(yàn)證者存款的處理從共識層轉(zhuǎn)移到執(zhí)行層,在鏈上進(jìn)行處理和驗(yàn)證,而不再依賴共識層中的額外投票機(jī)制來確認(rèn)存款信息的有效性。增強(qiáng)了存款流程的安全性,減少了處理延遲,同時簡化了共識層和客戶端的設(shè)計(jì)。
- EIP-7002(執(zhí)行層可觸發(fā)的退出):允許持有提款憑證的所有者能夠獨(dú)立發(fā)起退出,而無需依賴驗(yàn)證者的活躍密鑰(BLS 密鑰),增加了用戶自主性。目前,只有驗(yàn)證者的活躍密鑰才能觸發(fā)退出,這意味著如果活躍密鑰丟失,或驗(yàn)證者將驗(yàn)證任務(wù)委托給第三方(如質(zhì)押服務(wù)提供商),提款憑證的所有者(即資金的實(shí)際所有者)無法自主控制質(zhì)押的 ETH。該提案通過執(zhí)行層觸發(fā) ETH 的退出和提款操作,持有者可以通過提款憑證發(fā)起退出,無需依賴活躍密鑰。
- EIP-7251(增加質(zhì)押上限):增加驗(yàn)證者的最大有效余額,從而允許每個驗(yàn)證者可以持有超過 32 ETH 的質(zhì)押,而最低質(zhì)押門檻仍然保持為 32 ETH。旨在讓大節(jié)點(diǎn)運(yùn)營者通過合并多個驗(yàn)證器減少網(wǎng)絡(luò)中的驗(yàn)證者數(shù)量,從而減少 P2P 消息、簽名聚合以及存儲負(fù)擔(dān)。
- EIP-7549(將委員會索引移出證明):通過將委員會索引字段移出 Attestation(證明)消息,實(shí)現(xiàn)更高效的共識投票聚合。當(dāng)前在以太坊的共識機(jī)制中,每個驗(yàn)證者在投票包含:LMD GHOST 投票(包含投票的區(qū)塊根和時隙)、Casper-FFG 投票(包含源和目標(biāo)信息)、委員會索引(驗(yàn)證者所屬的委員會編號)。由于委員會索引被包含在簽名消息中,當(dāng)多個驗(yàn)證者對相同的區(qū)塊進(jìn)行投票時,即使他們的投票內(nèi)容相同,生成的簽名根也不同,導(dǎo)致這些投票無法輕松聚合。將委員會索引字段移出簽名消息本身,從而實(shí)現(xiàn)更高效的投票聚合,減少驗(yàn)證成本和網(wǎng)絡(luò)負(fù)載。
- EIP-7685(通用執(zhí)行層請求):為執(zhí)行層(EL)定義一個通用框架,用于存儲和處理由智能合約觸發(fā)的請求。這一框架支持更多的執(zhí)行層觸發(fā)行為,并且使得不同類型的請求能夠被統(tǒng)一處理,簡化了添加新請求類型的過程,而無需修改執(zhí)行塊結(jié)構(gòu)。
- EIP-7702(為 EOA 添加代碼執(zhí)行能力):為外部擁有賬戶(EOA)添加代碼執(zhí)行功能,從而增強(qiáng)賬戶的靈活性和可編程性。EOA 通過授權(quán)簽名的方式,指定一個智能合約來代理執(zhí)行某些操作,比如批量交易或權(quán)限控制。在不需要轉(zhuǎn)變?yōu)橹悄芎霞s賬戶的情況下,具備一定的智能合約功能。
重點(diǎn)考慮的 EIP
以下是一些正在積極考慮的 EIP,主要通過優(yōu)化 blob,提高了 L2 數(shù)據(jù)發(fā)布的費(fèi)用穩(wěn)定性、增強(qiáng)了 L2 的交易處理能力,并有效降低了 L2 的成本。此外,增加 calldata 成本的調(diào)整可能會影響 ETH 的銷毀量,加大 ETH 的通脹壓力。
- EIP-7742(解除共識層和執(zhí)行層之間的 blob 計(jì)數(shù)依賴):將共識層與執(zhí)行層之間的 blob 數(shù)量解耦,簡化 blob 驗(yàn)證流程,減少不必要的復(fù)雜性,提高協(xié)議的擴(kuò)展性和靈活性。在當(dāng)前協(xié)議中,執(zhí)行層和共識層都硬編碼了 blob 的最大值,導(dǎo)致了冗余的驗(yàn)證。該提案取消了執(zhí)行層對 blob 最大值的驗(yàn)證,改為由共識層動態(tài)提供 blob 目標(biāo)值給執(zhí)行層。這樣一來,可以更靈活地調(diào)整 blob 目標(biāo)參數(shù),適應(yīng)未來的擴(kuò)容需求。EIP-7742 是正在考慮納入升級的 EIP 列表中爭議最小的提案,根據(jù)最新的共識層會議,開發(fā)者同意開始在 pectra-devnet 5 中實(shí)現(xiàn) EIP 7742,但其是否會正式納入,還需要等待執(zhí)行層在 ACDE(全體核心開發(fā)者執(zhí)行層會議)上的反饋。
- EIP 7762(最低 blob 基礎(chǔ)費(fèi)用):提高 MIN_BASE_FEE_PER_BLOB_GAS,目的是減少 blob 價格調(diào)整至合理水平所需的時間。目前,最低 blob 基礎(chǔ)費(fèi)用設(shè)置為 1 wei,當(dāng) blob 需求超過供應(yīng)時,價格發(fā)現(xiàn)過程(即確定合理的 blob Gas 價格)過于緩慢,需要很長時間才能達(dá)到合適的費(fèi)用水平。通過提高最低 blob 基礎(chǔ)費(fèi)用,可以縮短價格調(diào)整的時間,能夠更快實(shí)現(xiàn)市場均衡,確保網(wǎng)絡(luò)在需求高峰時仍能保持穩(wěn)定。
- EIP-7623(增加 calldata 成本):提高交易中 calldata 的成本,以減少區(qū)塊的最大大小及其變動范圍,確保網(wǎng)絡(luò)能夠更加平穩(wěn)地處理交易。當(dāng)前區(qū)塊最大大小約為 1.79 MB,但由于 rollups 等應(yīng)用的大量數(shù)據(jù)發(fā)布,平均區(qū)塊大小不斷增加。通過增加主要用于數(shù)據(jù)可用性(DA)交易的 calldata 成本,將區(qū)塊最大大小減少至約 0.72 MB,為未來增加區(qū)塊 Gas 限制或更多 blob 留出空間。普通用戶的交易成本保持不變,此更改主要影響依賴以太坊進(jìn)行大規(guī)模數(shù)據(jù)存儲的交易類型。不過,calldata 成本的增加可能會降低以太坊在數(shù)據(jù)存儲方面的競爭力。此外,calldata 成本增加,交易數(shù)量可能因此減少,導(dǎo)致通過 EIP-1559 機(jī)制銷毀的 ETH 也相應(yīng)減少,進(jìn)而給 ETH 帶來更大的通脹壓力。
- EIP 7782(縮短 slot 時間):將以太坊 slot 時間從 12 秒縮短至 8 秒,更頻繁地生成區(qū)塊來處理更多的交易,將此作為增加 blob 數(shù)量的替代方案,以提高交易吞吐量。但可能會破壞某些硬編碼了 12 秒 slot 時間的智能合約,并加速以太坊的狀態(tài)膨脹問題,增加存儲和計(jì)算負(fù)擔(dān)。
- EIP-7783(逐步增加區(qū)塊 Gas 費(fèi)限制):作為 EIP-7782 更溫和的替代方案,通過動態(tài)調(diào)整區(qū)塊的 gas 限制,逐步增加每個區(qū)塊可容納的交易數(shù)量,從而提高網(wǎng)絡(luò)的處理能力。相比直接縮短 slot 時間,逐步調(diào)整 gas 限制可以使網(wǎng)絡(luò)擴(kuò)展更加平穩(wěn)。這個提案不需要硬分叉,但可能會對狀態(tài)數(shù)據(jù)產(chǎn)生影響。
由于 Pectra 升級包含大量 EIP,為了減少單次升級的復(fù)雜性并加快部分 EIP 的上線,在 5 月,以太坊基金會的工程師團(tuán)隊(duì)EthPandaOps建議將 Pectra 拆分為兩個部分,但當(dāng)時擔(dān)心會延遲升級,因此未被認(rèn)真考慮。9 月,以太坊研究員Alex Stokes再次提出拆分建議,這次得到了開發(fā)者的認(rèn)同,這種拆分有助于在六個月內(nèi)完成升級的第一部分:
- 第一部分:包括已經(jīng)在 Pectra Devnet 測試網(wǎng)運(yùn)行的 EIP(即已經(jīng)確定的 8 個 EIP),它們相對來說更容易實(shí)施,并且已經(jīng)通過了大量的測試。
- 第二部分:將較復(fù)雜的 EIP(如 PeerDAS、EOF 相關(guān)的提案)和其他需要更多時間測試的提案放在第二階段。這些提案需要進(jìn)一步的開發(fā)、審計(jì)和測試,特別是涉及共識層和執(zhí)行層協(xié)調(diào)的提案。
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。