原文標題: 《 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 收益取代了原來 GAS 費的角色。Liquid pool,staking pool,cex staking 三類礦池取代了從前 pow 礦池的角色。
ETH2.0 主網合併後以太坊網絡上的所有交易將不再由能源密集型的「礦工」驗證,而是由已存入或質押大量 ETH 的個體和組織「驗證者」進行驗證。任何人只需質押 32ETH 以上,即可滿足最低要求,驗證節點成爲「驗證者」。
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 鏈之間形成了天險一般的壁壘。
雖然如同前文介紹過的,在 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 解鎖的具體方案最爲重要。
EOF 優化
此 EIP 爲 EVM 引入了可擴展和版本化容器的預留格式。此預留格式可以實現代碼和數據分離優勢,從而可以在未來輕鬆引入各種變化。這一變化依賴於 EIP-3541 所引入的預留格式。
目前,鏈上部署的 EVM 代碼不包含預留格式。代碼通常在客戶端每次運行前都要進行 JUMPDEST 分析驗證,導致了額外的消耗,且無助於代碼的更新迭代。本 EIP 中描述的革新引入了一個簡單的、可擴展的預留格式,對客戶端和編碼的要求都相對較低。此預留格式提供了識別並分離代碼和數據的分離的功能。這種分離功能對於鏈上的代碼驗證器(如 Optimism 等第二層擴展工具所使用的驗證器)特別有利。
節省了 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 費用的成本。
EOF 優化
配合 EIP-3540 合約創建時引入代碼驗證。拒絕未定義指令的合約。這樣在合約創建時,就可引入代碼驗證。拒絕包含截斷的 PUSH-數據或未定義指令的合約。
是一個降低無意義的 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。
提高智能合約系統上限以及降低 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。
優化 EOF,節省 gas.
引入了三個新的 EVM 跳轉指令(RJUMP、RJUMPI 和 RJUMPV),它們將目標編碼爲帶符號的立即值。這些在大多數(但不是全部)用例中都很有用,並且可以降低成本。
優化 EOF,節省 gas.
引入了兩個新的操作碼 CALLF 和 RETF 來調用這樣的函數並從中返回。此外,還引入了 JUMPF 指令來執行到函數的跳轉。不允許使用動態跳轉指令。
EIP-4200 引入了靜態跳轉指令,它消除了大多數動態跳轉用例的需要,但並不是所有的事情都可以用它們來解決。
該 EIP 旨在消除動態跳轉的需要並禁止動態跳轉,因爲它提供了最重要的功能:調用函數和從函數返回。
此外,它旨在通過對每個給定函數的輸入和輸出數量進行編碼並隔離每個函數的堆棧(即函數無法讀取調用者/被調用者的堆棧)來提高分析機會。
本次上海升級的核心: 支持驗證者通過新的「系統級」操作類型從信標鏈提款到 EVM。
此 EIP 將引入一個系統級「操作」來支持從信標鏈「推」到 EVM 取款。目前有約 1400 萬枚 ETH 任被質押在信標鏈中。此提款操的運行將意味着以太坊信標鏈質押提款功能將被激活。
目的:這個 EIP 爲信標鏈上的驗證者提款提供了一種進入 EVM 的方法, 從而實現質押 ETH 的提款操作。實現方式是基於信標鏈共識信息,系統無條件地直接控制指定地址的 ETH 餘額。在此方法下不產生 gas 費消耗,且無需再用 gas 來防止 dos 攻擊。總而言之,EIP-4895 的目的就是實現質押提款功能。
EOF 優化
引入代碼段的擴展驗證,以保證在執行驗證合約期間不會發生堆棧下溢。
當前現有的 EVM 實現對每條執行的指令執行大量有效性檢查,例如檢查堆棧溢出/下溢、是否有足夠的 GAS 等。此更改旨在通過在部署時驗證來最大程度地減少運行時所需的此類檢查的數量-沒有異常情況發生的時間,並防止在可能發生的地方部署代碼。
特別是,這種擴展的代碼驗證消除了對每條執行的指令進行 EVM 堆棧下溢檢查的需要。它還會阻止部署可靜態證明需要超過 1024 個堆棧項的代碼,但在某些情況下仍有可能超過該限制,因此無法完全消除溢出檢查。
根據社區的最新提案,驗證者可進行部分提款和全部提款,且出於安全性考慮,提款數額和驗證者的退出速率會受到限制。提款的每個 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 可能會對市場產生一些潛在的短期拋壓。
原文鏈接
歡迎加入律動 BlockBeats 官方社群:
Telegram 訂閱群:https://t.me/theblockbeats
Telegram 交流群:https://t.me/BlockBeats_App
Twitter 官方帳號:https://twitter.com/BlockBeatsAsia