解析「上海昇級」技術細節及潛在影響:為什麼說它很重要?

原文標題: 《 OB30 講第4 講,從ETH2.0 入門不讀不行,聊到上海昇級技術細節與深遠影響》

原文來源:OpenBlock Operation

為什麼上海昇級很重要。因為實際上ETH 15 年發布的路線圖中的四個階段:前沿、宅基地、大都會、寧靜,歷經15 次升級,在上一次巴黎升級中已經全部完成了,有遺憾,但是整體大大超預期。

ETH2.0 新時代路線圖的一大特點是更新頻繁,在eth1.0 階段。每次大更新間隔在1~2 年的測試才能上馬。而ETH2.0 當中,現在看來每半年就會進行一次大升級。

而上海昇級是新路線圖六個階段的第一次升級,其身上的重擔不言而喻。就像四年前看eth 路線圖覺得賊畫餅一樣,現在我們看新路線圖也是這種有點夢幻的感覺,又要多少年才能夢想照進現實?

說點粗俗的,可以預見的將來,市場馬上就會開始熱炒,能蹭上這次上海昇級概念的代幣了。

那為了解答這個粗俗的問題。我們的文章會分為三個部分。

1. ETH2.0 的新格局

2. 上海昇級的具體內容

3. 上海昇級,潛在的後續影響

ETH2.0 的新格局,這是一個屬於MEV 的時代

在ETH2.0 當中」驗證者「替換了從前」礦工「的角色。MEV 收益取代了原來GAS 費的角色。Liquid pool,staking pool,cex staking 三類礦池取代了從前pow 礦池的角色。

1. 驗證者取代了礦工

ETH2.0 主網合併後以太坊網絡上的所有交易將不再由能源密集型的「礦工」驗證,而是由已存入或質押大量ETH 的個體和組織「驗證者」進行驗證。任何人只需質押32ETH 以上,即可滿足最低要求,驗證節點成為**「驗證者」。

2.MEV 收入取代了GAS 費

web3.0 從業者必須盡快普及的一個概念MEV。我們可以這樣闡述,ETH1.0 圍繞pow 展開的gas 分配遊戲,而ETH2.0 圍繞MEV 展開的套利gas 消耗遊戲

MEV(Miner Extractable Value),礦工可提取價值,也有譯為最大可提取價值(Max Extractable Value),最早由Phil Daian 在 Flash Boys 2.0 這篇論文中提出。

我們都知道,鏈上所有動作都以「交易」形式存在,而所有交易由用戶發起後,都會進入「內存池(mempool)」中等待被礦工打包,出於利潤最大化原則,礦工會按照gas 費高低來確定打包順序,這就是MEV 產生的基本條件,也催生了鏈上機器人的出現,他們通過高gas 設置(PGA)來搶跑池子中的交易進行套利。

具體來講,目前已開發的MEV 套利,主要是三類:

1. 三角套利

2. 夾子(三明治攻擊.)

3. 借貸清算。

而實際套利捕捉,目前僅僅能實現理論套利的20% 左右。這一塊兒的套利策略開發和套利規模,會隨著eth 的代碼完善,性能增強,行情變化逐漸增大。

這樣放在地上白撿的利潤自然被不少人盯上,據統計數據,自2020 年至今,全網累計捕獲MEV 金額高達6.8 億美金。這同時也造就了一代新星的興起——Flashbot,幫助節點捕獲MEV 的工具。以及MEV 捕獲賽道的一眾花式競爭者,包括但是不限於:KeeperDAO,ArcherDAO,Automata,mistX,BackRunMe 。

MEV 所產生的巨額利潤,一直都被圈在礦工和鏈上機器人的圈子裡,最早作為礦池的一種灰色收入被民間戲稱「賄賂節點收入」,「最小的51% 攻擊」。

套利者發現套利機會,賄賂」驗證者「,操縱交易打包順序進行套利。這裡面套利者和驗證者的分贓過程「既是合作關係,也是博弈關係。本文此處就不過多展開了。

這種情況一直到2022 年的倫敦升級和以太坊合併才有所改變。

倫敦升級中通過的EIP1559 大大改變了礦工們的收入結構

由從前的收全額gas 費變成燃燒+收小費的模式,而以太坊合併也標誌著它徹底改變為POS 共識機制,「驗證者」代替原先比較佛系的「礦工」參與MEV 價值瓜分,ETH2.0 的節點網絡成為一個競爭更激烈的、生態更豐富的MEV 樂園。這也大大增加了Flashbot 客戶數量,截至目前,近90% 的以太坊驗證者都在運行其MEV-boost 客戶端。

從此MEV 徹底取代了gas 費成為了以太坊「驗證者」主要收入,gas 費被用來燃燒,造成了ETH 的長期通縮預期。以目前的數據來說因為MEV-boost 的引入,以太坊「驗證者」的收入從年化3% 左右提升到了接近10% 的水平。在ETH 通縮的前提下,「節點」收入甚至不輸於減半之前,為ETH 的網絡穩定打下了基礎,和其他pos 鏈之間形成了天險一般的壁壘。

3. 新時代的礦池

雖然如同前文介紹過的,在eth2.0 當中只需要30 多個eth 就能成為驗證者,個人驗證者成功獲得獎勵平均要兩個月一次還是非常困難的。尤其現在涉及到mev-boost 這樣需要頻繁維護的技術活,個人驗證者總是捉襟見肘。因此對於除了極少數巨鯨,以及孤勇者以外,加入礦池依舊是主流方案,目前的礦池有三類:Liquid pool,staking pool,cex staking

市場份額如下:

1. 流動性礦池:

中心化程度中等,業務模型以市場份額88.67% 的Lido 為例。在Lido 質押的挖礦收益是以steth 的形式給的。所有挖礦獎勵分為三部分,90% 給質押ETH 的用戶,節點運營商和Lido 國庫各分5%,同時礦池還會獎勵用戶和國庫$Lido 挖礦獎勵,用戶存款憑證為stETH,因為stETH 具有流動性,因此被稱為流動性礦池。維護stETH-ETH 交易對的流動性,與$LDO 代幣的激勵,是該類礦池的主要競爭力壁壘所在。

2. 交易所礦池

中心化程度比較高,礦池收益具體分配方案,管理費用,甚至是抵押ETH 的來源,都比較不透明。優勢是交易所強大的業務背書和商務團隊。

3. 礦池

中心化程度極低,基本是去中心的,模式就是沒有什麼模式。自由抵押,公平分配,管理費相對透明。

劣勢是,在此次上海昇級之前,受限於ETH2.0 的階段性局限,目前鎖倉的ETH,都處於坐牢狀態,無法贖回。可預見,該類型礦池會成為上海昇級之後的主要受益方。

基於以上新經濟模型,驗證者質押ETH 可以生成和收集新的ETH(MEV),這些所謂的「新ETH」就是他們證明驗證交易和保護網絡的獎勵。

但目前的以太坊,只能存入ETH 但不能提取ETH,質押總價值接近235 億美元,都被「被困」在以太坊網絡上。

如果不盡快開放解除質押功能,則質押ETH 的吸引力將大打折扣,後續也就不會有那麼多人進入以太坊網絡,這無疑會對以太坊的未來發展和網絡安全產生巨大影響。而在POS 世界,pos 的抵押量就是正義,維護抵押量是維護區塊安全的第一共識。

而這一次上海昇級將為鏈上鎖定著的235 億美金的POS 質押ETH 提供解鎖能力,還伴隨有對GAS 優化的諸多EIP 融入。

上海昇級的具體內容

非常可惜,原定上海昇級中非常重要的EIP-4844 最終被確認推遲了。它是ETH 分片的第一步,可以極大的降低eth 的gas 費用。部分操作可以節省gas 一百倍。

最終被確認更新的提案只剩下十二個提案中的九個。其中第八條關於ETH 解鎖的具體方案最為重要。

1.EIP-3540: EVM Object Format (EOF) v1

EOF 優化

此EIP 為EVM 引入了可擴展和版本化容器的預留格式。此預留格式可以實現代碼和數據分離優勢,從而可以在未來輕鬆引入各種變化。這一變化依賴於EIP-3541 所引入的預留格式。

目前,鏈上部署的EVM 代碼不包含預留格式。代碼通常在客戶端每次運行前都要進行JUMPDEST 分析驗證,導致了額外的消耗,且無助於代碼的更新迭代。本EIP 中描述的革新引入了一個簡單的、可擴展的預留格式,對客戶端和編碼的要求都相對較低。此預留格式提供了識別並分離代碼和數據的分離的功能。這種分離功能對於鏈上的代碼驗證器(如Optimism 等第二層擴展工具所使用的驗證器)特別有利。

2.EIP- 3651: Warm COINBASE

節省了ERC20 相關的無意義gas 消耗

EIP-3651 於2021 年7 月12 日由William Morriss (wjmelements) 提出。此提案已經通過並會納入到上海昇級中。這是一個影響激勵的交易類型的提案。此提案中提到的COINBASE 並非大型交易所Coinbase,而是礦工用於在網絡上獲取新代幣的軟件名稱。這個概念最初來源於比特幣,區塊中的第一筆交易被稱為創幣交易或者COINBASE 交易,這是一筆特殊交易,用於礦工打包收集挖礦的gas 小費。執行交易前是否有預先加載被定義為「溫暖」或「寒冷」。在EIP-2929 中,目標不在accessed_addresses 中時將收取冷賬戶訪問成本(COLD_ACCOUNT_ACCESS_COST),此時的首筆交易為未預先加載(寒冷)的,收取的gas 費用會偏高,而預先加載後(溫暖)的交易,gas 費用則會降低。

William Morris 在提案中提出現階段在平台上的每筆新交易都必須與COINBASE 軟件進行多次交互,由於軟件需要「預熱」,第一次gas 成本會更高,隨著交互次數的增加,gas 費用會逐漸降低。 Williams Morriss 在EIP-3651 中提出可以將COINBASE 軟件從一開始就保持「溫暖」的狀態(預先加載),並在accessed_addresses 中包含COINBASE (0x41) 返回的地址,從而改變礦工插入的首筆交易的gas 費用,並以此鼓勵ERC20 代幣的支付方式。此提案的好處在於EIP -3651 推出後礦工打包的交易可以用於更多的用途,gas 費用成本會降低。同時在EIP-3651 推出前更傾向於使用ETH 支付,而推出後將更鼓勵使用ERC 20 的支付方式。上海昇級中通過的另一項提案EIP-3855 也是一個用於降低無意義的gas 消耗的提案,兩項提案的實施都將很大程度上降低以太坊gas 費用的成本。

3.EIP-3670: EOF – Code Validation

EOF 優化

配合EIP-3540 合約創建時引入代碼驗證。拒絕未定義指令的合約。這樣在合約創建時,就可引入代碼驗證。拒絕包含截斷的PUSH-數據或未定義指令的合約。

4.EIP-3855:新增PUSH0 指令

是一個降低無意義的GAS 消耗的提案

對於EVM 即以太坊虛擬機(執行合約代碼的系統)中,設計有多種指令,但是之前缺少設計了push0 即針對0 這個數值的壓入堆棧的操作指令,而此EIP 則新增了PUSH0( 0x5f) 指令,它將常量值0 壓入堆棧,該指令的需要2 gas。

原先沒有push0 時導致的是,有一些依賴於0 做偏移量的操作,比如遠程call 調用與返回,則有很多參數是0,原先要操作0,只能使用指令PUSH1 0(即壓入一個數字,數字為0),這個操作要消耗3 個gas,其次push1 和0 各佔一個初始化代碼的字節存儲,導致的是部署此合約的成本也高了2*200gas。

該EIP 還統計了因此的gas 損失:在現有賬戶戶中,有340,557,331 字節浪費在PUSH1 00 指令上,意味著部署損耗達68,111,466,200 gas。

5.EIP-3860: Limit and meter initcode

提高智能合約系統上限以及降低gas

通過引入initcode 的最大大小限制(MAX_INITCODE_SIZE = 2 * MAX_CODE_SIZE = 49152),擴展了EIP-170。即將initcode 的最大大小限制從24576 提升為49152,即翻倍。同時為每32 字節的initcode chunk 引入2 個gas 費用,以表示jumpdest-analysis 的成本。

目的:在合約創建過程中,客戶端必須在執行initcode 之前對初始化代碼執行jumpdest-analysis。所執行的工作隨initcode 的大小線性擴展。基於EIP170 是限制了initcode 大小為24576,而如今則是將initcode 的最大大小限制提升為49152。原先的臨時解決方案都是分多個合約部署,然後互相相互調用,但顯然跨合約引用是個高gas 成本的事情。顯然,更大的代碼容量,就意味合約大小可以擴展一倍,合約開發者可以部署更豐富的功能。簡言之,EIP-3860 目的是支持更大型的Dapp。

6.EIP-4200: EOF – Static relative jumps

優化EOF,節省gas.

引入了三個新的EVM 跳轉指令(RJUMP、RJUMPI 和RJUMPV),它們將目標編碼為帶符號的立即值。這些在大多數(但不是全部)用例中都很有用,並且可以降低成本。

7.EIP-4750: EOF – Functions

優化EOF,節省gas.

引入了兩個新的操作碼CALLF 和RETF 來調用這樣的函數並從中返回。此外,還引入了JUMPF 指令來執行到函數的跳轉。不允許使用動態跳轉指令。

EIP-4200 引入了靜態跳轉指令,它消除了大多數動態跳轉用例的需要,但並不是所有的事情都可以用它們來解決。

該EIP 旨在消除動態跳轉的需要並禁止動態跳轉,因為它提供了最重要的功能:調用函數和從函數返回。

此外,它旨在通過對每個給定函數的輸入和輸出數量進行編碼並隔離每個函數的堆棧(即函數無法讀取調用者/被調用者的堆棧)來提高分析機會。

8.EIP-4895: Beacon chain push withdrawals as operations

本次上海昇級的核心: 支持驗證者通過新的「系統級」操作類型從信標鏈提款到EVM。

此EIP 將引入一個系統級「操作」來支持從信標鏈「推」到EVM 取款。目前有約1400 萬枚ETH 任被質押在信標鏈中。此提款操的運行將意味著以太坊信標鏈質押提款功能將被激活。

目的:這個EIP 為信標鏈上的驗證者提款提供了一種進入EVM 的方法, 從而實現質押ETH 的提款操作。實現方式是基於信標鏈共識信息,系統無條件地直接控制指定地址的ETH 餘額。在此方法下不產生gas 費消耗,且無需再用gas 來防止dos 攻擊。總而言之,EIP-4895 的目的就是實現質押提款功能。

9.EIP-5450: EOF – Stack Validation

EOF 優化

引入代碼段的擴展驗證,以保證在執行驗證合約期間不會發生堆棧下溢。

當前現有的EVM 實現對每條執行的指令執行大量有效性檢查,例如檢查堆棧溢出/下溢、是否有足夠的GAS 等。此更改旨在通過在部署時驗證來最大程度地減少運行時所需的此類檢查的數量-沒有異常情況發生的時間,並防止在可能發生的地方部署代碼。

特別是,這種擴展的代碼驗證消除了對每條執行的指令進行EVM 堆棧下溢檢查的需要。它還會阻止部署可靜態證明需要超過1024 個堆棧項的代碼,但在某些情況下仍有可能超過該限制,因此無法完全消除溢出檢查。

ETH 上海昇級解鎖質押方案

流失限制係數(Churn Limit Quotient)

根據社區的最新提案,驗證者可進行部分提款和全部提款,且出於安全性考慮,提款數額和驗證者的退出速率會受到限制。提款的每個Epoch 最大可提取數量被設定為512 筆,按照現有的驗證者數量,他們可4 天(驗證者總數/(512*225)提取一次獎勵。按當前驗證者近33.9 ETH 的平均餘額來算,以太坊市場每天最大面臨的平均拋售壓力為23 萬枚ETH,4 天累計數額為92.1 萬枚。

其中,全部提款中的退出速率則會受到限制,退出機制引入了「流失限制係數」(Churn Limit Quotient),ETH 提現的限制為每天X/ETH,其中X 為驗證者總數量/65536,目前每個Epoch 僅能激活7 名驗證者被允許退出,即每天(225 個Epoch)1575 名驗證者。若按每名驗證者均持有32 ETH,則每天流出的ETH 超5 萬枚。當然,提款速率還會根據質押的ETH 總量進行調整,以防止大量資金外流及攻擊者進行罰沒攻擊。而部分提款則沒有具體的提款次數限制。

需要注意的是,驗證者的有效質押餘額需在32 ETH 以上,如果低於這個數額將無法獲得全部質押獎勵,或餘額低於16 ETH 時還將被逐出驗證者行列。當前,驗證者待定的提款方案分為部分和全部提取質押金,其中部分提款允許驗證者提取超過32 ETH 的部分,全部提款則提取所有質押金後退出質押行列。

不過,近期開發者Potuz 提出新方案稱可取消處理提款隊列

即取消在區塊內全部和部分提款隊列的邏輯,建議使用驗證者index 來處此問題。原因在於以太坊上的每個驗證者在信標鏈上被激活的時都會被分配到一個號碼,在不使用上述排隊退出的情況下,信標鏈可根據一個區塊可以處理的提款上限數來掃描驗證者,然後按照驗證者的index 號碼的升序排列處理每個驗證者的提款請求。目前,開發者們正對此方案作為備選方案進行研究。

後續影響:

我們可以看到本次升級的主要目的是做EOF 的細節優化,降低gas,以及釋放beacon 鏈鎖倉的ETH。不在這條主線上的EIP-4844,1153,2537 儘管也非常重要,但是都被推遲延後了。

  • 那麼長期直接收益的還是那些被gas 卡脖子類的複雜合約賽道。 ETH 的pos 抵押量最終會長足增長。

  • 中期收益的是圍繞著驗證者規模為中心的一些mev 相關整個生態鏈,尤其是傳統礦池。

  • 短期收益不知道一些能蹭到「上海」概念的meme 能不能有偷雞的機會。隨著ETH 抵押的釋放,一些坐牢了好幾年的ETH 可能會對市場產生一些潛在的短期拋壓。

OpenBlock 錢包作為面對C 端,一直貼合區塊鏈發展趨勢的新一代免私鑰,高安全的鏈上mpc 錢包賽道領軍者。也會持續關注ETH 的後續更新,幫助用戶尋找能參與到MEV 遊戲的低門檻渠道,歡迎下載體驗。 MPC 本來也是一個能夠解決新時代礦池的潛在問題關鍵技術,並且區塊鍊是一個願意獎賞嚐鮮用戶的行業。

如果你期待更多關於區塊鏈行業的思考,請務必加入我們的discord 綜合社區,進行深度交流。

Total
0
Shares
Related Posts