特別感謝 Fede、Danno Ferrin、Justin Drake、Ladislaus 和 Tim Beiko 提供的反饋與審閱
以太坊的目標是成爲全球帳本——一個承載人類資產與記錄的平台,是金融、治理、高價值數據驗證等應用的基礎層。要實現這一目標,必須同時具備可擴展性與韌性。Fusaka 硬分叉計劃將 L2 數據可用空間提升 10 倍,而當前擬議中的 2026 路線圖也包含了類似規模的 L1 數據擴容。與此同時,“合並”(The Merge)已將以太坊升級爲權益證明(PoS),客戶端多樣性迅速提升,ZK(零知識證明)可驗證性和抗量子攻擊性研發也在穩步推進,應用生態日益成熟強健。
本文的目標,是強調一項同樣關鍵卻常被低估的韌性(以及最終的可擴展性)要素:
協議的簡潔性。
比特幣最令人稱道的一點,就是它的協議設計極其優雅且簡單:
系統是一條區塊鏈,由一系列區塊組成。每個區塊通過哈希與前一個區塊相連。每個區塊的有效性通過工作量證明(PoW)驗證,也就是說……只需檢查其哈希前幾位是否爲零。每個區塊包含交易。交易要麼花費通過挖礦獲得的幣,要麼花費之前交易輸出的幣。基本就是這樣。
即便是一個聰明的高中生,也有能力完全理解比特幣協議的全部運作原理。而一個程序員甚至可以把開發比特幣客戶端當作業餘項目來完成。
保持協議簡單,帶來了一系列關鍵優勢,使比特幣和以太坊有潛力成爲可信中立、全球信任的基礎層:
過去,以太坊在這方面做得並不理想(有時甚至是因爲我個人的決策),這導致了我們過度的開發支出、@vbuterin/selfdestruct">各種安全風險以及研發文化的封閉性,而這些努力往往換來的只是虛幻的收益。
本文將闡述,五年後的以太坊如何有可能實現接近比特幣般的簡潔性。
3-slot finality(3槽終結性)模擬圖 — 3sf-mini
新的共識層設計(過去被稱爲「beam chain」)旨在整合過去十年我們在共識理論、ZK-SNARK 開發、質押經濟學等領域積累的經驗,打造一個長期最優的以太坊共識層。這個新共識層,相較現有信標鏈(Beacon Chain),有望實現更高的簡潔性。尤其體現在:
3槽終結性(3-slot finality)重構
這一設計取消了“slot(槽)”與“epoch(週期)”的區分、委員會洗牌(committee shuffling)及其他與這些機制相關的協議規範細節(如同步委員會等)。一個基本版本的 3-slot finality,大約只需要 200 行代碼即可實現。與當前 Gasper 協議相比,3-slot finality 也具備接近最優的安全性。
活躍驗證者數量減少
使得採用更簡單的分叉選擇規則(fork choice rule)變得更安全可行。
基於 STARK 的聚合協議
意味着任何人都可以成爲聚合者,無需擔心信任聚合者、重復比特字段的過度費用等問題。雖然聚合加密本身存在一定復雜度,但這種復雜性高度封裝,對協議整體系統性風險遠低得多。
以上兩點 也很可能支持更簡單且更穩健的點對點(p2p)架構。
共識層的優勢在於,它與 EVM 執行相對解耦,因此我們有較大空間持續推進這些改進。
更具挑戰的是:如何在執行層(execution layer)實現同樣的簡化。
以太坊虛擬機(EVM)的復雜度正不斷攀升,而其中不少復雜性已被證明並非必要(很多情況下也與我個人的決策有關):我們有一個 256 位虛擬機,過度優化了某些極爲特定的加密形式,而這些形式如今正逐漸邊緣化;還有一些預編譯合約(precompiles)過度聚焦於極少使用的單一用例。
試圖逐步修修補補地解決這些現實問題,行不通。移除 @vbuterin/selfdestruct">SELFDESTRUCT 指令就耗費了巨大精力,收效卻有限。最近關於 EOF(EVM Object Format)的辯論,更顯示了對虛擬機進行類似改動的困難。
因此,作爲替代方案,我近期提出了一個更激進的思路:與其爲了 1.5 倍提升不斷做中等規模(但仍具破壞性)的改動,不如直接遷移到一個全新且遠優且更簡潔的虛擬機,爭取 100 倍的收益。 就像「合並」(The Merge)一樣,我們減少變革次數,但每一次都意義重大。具體而言,我建議用 RISC-V(或其他以太坊 ZK 證明器將使用的虛擬機)替代現有 EVM。這樣我們將獲得:
這種路徑的主要缺點是:與 EOF(已可立即部署)不同,新虛擬機需要更長時間才能讓開發者受益。爲緩解這一點,我們可以短期內適當引入一些小但高價值的 EVM 改進(如提高合約代碼大小上限、增加 DUP/SWAP17-32 指令等)。
最終,這將賦予我們一個大幅簡化的虛擬機。但最大的問題是:現有的 EVM 怎麼辦?
在有意義地簡化(甚至只是改善而不增加復雜度)以太坊虛擬機(EVM)任何部分時,最大的挑戰在於:如何在實現目標的同時,保持對現有應用程序的向後兼容性。
首先要明確的一點是:並不存在一種單一的方式來界定“以太坊代碼庫”的範圍(即使是在同一個客戶端內部)。
目標是盡量縮小綠色區域的範圍:也就是節點爲了參與以太坊共識所必須運行的邏輯,包括計算當前狀態、證明、驗證、FOCIL(First-Order Consensus Integrity Layer)、基礎版區塊構建等。
橙色區域無法縮減:如果某個執行層特性(無論是虛擬機、預編譯還是其他機制)被移除出協議規範,或者其功能被更改,關心歷史區塊處理的客戶端仍然必須保留它——但重要的是,新客戶端(比如ZK-EVMs或形式化驗證器)可以完全忽略橙色區域。
新增的類別是黃色區域:這類代碼對理解和解析當前鏈狀態、以及進行最優區塊構建來說非常重要,但它並不是共識的一部分。現有一個例子是 Etherscan(以及部分區塊構建者)對ERC-4337用戶操作的支持。如果我們用鏈上RISC-V實現來取代以太坊某些大型功能(例如EOA帳戶及其對各種舊交易類型的支持),那麼盡管共識代碼大幅簡化,但一些專業節點仍可能會沿用原來的代碼來解析這些功能。
重要的是,橙色和黃色區域屬於“封裝復雜度”,任何希望理解協議的人都可以跳過它們,實現以太坊的客戶端也可以選擇不實現它們,而且這些區域的Bug不會帶來共識風險。這意味着,橙色和黃色區域的代碼復雜度,帶來的負面影響遠小於綠色區域。
將代碼從綠色區域轉移到黃色區域,這個思路類似於蘋果公司通過 Rosetta 翻譯層來保障長期兼容性。
我提出(借鑑了@ipsilon/eof-ethereums-gateway-to-risc-v"> Ipsilon 團隊最近的觀點)以下虛擬機遷移流程(以EVM遷移至RISC-V爲例,但同樣適用於EVM遷移至Cairo,甚至未來遷移至更優VM):
完成第4步後,仍然會有很多“EVM實現”繼續用於優化區塊構建、開發工具和鏈上分析,但它們將不再屬於關鍵共識規範。屆時,以太坊共識將“原生”只理解RISC-V。
第三種、且最容易被低估的簡化方法,就是盡可能在協議棧的各個部分共享統一標準。通常,沒什麼理由要在不同場景使用不同協議來做相同的事,但現實中這種情況仍然頻繁出現,主要是因爲協議路線圖的不同部分彼此缺乏溝通。以下是一些通過“最大化組件共享”來簡化以太坊的具體例子:
我們需要糾刪碼的場景有三處:
如果我們在三個用例中使用相同的糾刪碼(無論是 Reed-Solomon、隨機線性碼還是其他),我們將獲得一些重要的優勢:
如果確實需要不同糾刪碼,至少應保證“兼容性”:比如DAS場景中,橫向使用Reed-Solomon,縱向使用隨機線性碼,但兩者都基於相同的數學域。
目前以太坊的序列化格式嚴格來說只是“半標準化”,因爲數據可以用任意格式重新序列化並廣播。唯一例外是交易籤名哈希,這裏需要規範格式用於哈希計算。
但未來序列化格式的標準化程度會進一步提升,原因有二:
屆時,我們有機會統一目前三個層面都需要的序列化方案:1)執行層;2)共識層;3)智能合約調用ABI。
我建議採用 SSZ(Simple Serialize),因爲SSZ具備以下優勢:
目前已有將更多組件遷移至SSZ的工作,我們在規劃未來升級時,應充分考慮並利用這些進展。
一旦我們從EVM遷移至RISC-V(或其他極簡VM),十六進制Merkle Patricia樹將成爲證明區塊執行的最大瓶頸,即使在平均場景下也是如此。遷移至基於更優哈希函數的二叉樹,將極大提升證明器效率,並降低輕節點和其他場景的數據成本。
完成樹結構遷移時,我們還應讓共識層使用同一樹結構,確保整個以太坊——共識與執行兩層——均可用同一套代碼訪問和解析。
簡化與去中心化有許多相似之處。兩者都是爲了實現系統韌性這一更高目標所必須的上遊條件。明確地重視簡化,實際上需要一種文化上的轉變。簡化帶來的好處往往在初期難以看見,但拒絕那些“光鮮亮麗的新功能”所帶來的機會成本與額外工作量卻是立竿見影的。然而,隨着時間推移,簡化的長期價值會變得愈加明顯——比特幣本身就是一個絕佳例子。
我建議我們借鑑 tinygrad 的做法,爲以太坊的長期規範設定一個明確的代碼行數上限目標,目標是讓以太坊的共識關鍵代碼盡量接近比特幣那種極簡風格。處理以太坊歷史規則的代碼仍然會存在,但應當被隔離在共識關鍵路徑之外。與此同時,我們應當形成一種普遍的設計理念:在可能的情況下選擇更簡單的方案,優先採用封裝式復雜性而非系統性復雜性,並傾向於那些能提供清晰可驗證屬性與保障的設計決策。
Partager
特別感謝 Fede、Danno Ferrin、Justin Drake、Ladislaus 和 Tim Beiko 提供的反饋與審閱
以太坊的目標是成爲全球帳本——一個承載人類資產與記錄的平台,是金融、治理、高價值數據驗證等應用的基礎層。要實現這一目標,必須同時具備可擴展性與韌性。Fusaka 硬分叉計劃將 L2 數據可用空間提升 10 倍,而當前擬議中的 2026 路線圖也包含了類似規模的 L1 數據擴容。與此同時,“合並”(The Merge)已將以太坊升級爲權益證明(PoS),客戶端多樣性迅速提升,ZK(零知識證明)可驗證性和抗量子攻擊性研發也在穩步推進,應用生態日益成熟強健。
本文的目標,是強調一項同樣關鍵卻常被低估的韌性(以及最終的可擴展性)要素:
協議的簡潔性。
比特幣最令人稱道的一點,就是它的協議設計極其優雅且簡單:
系統是一條區塊鏈,由一系列區塊組成。每個區塊通過哈希與前一個區塊相連。每個區塊的有效性通過工作量證明(PoW)驗證,也就是說……只需檢查其哈希前幾位是否爲零。每個區塊包含交易。交易要麼花費通過挖礦獲得的幣,要麼花費之前交易輸出的幣。基本就是這樣。
即便是一個聰明的高中生,也有能力完全理解比特幣協議的全部運作原理。而一個程序員甚至可以把開發比特幣客戶端當作業餘項目來完成。
保持協議簡單,帶來了一系列關鍵優勢,使比特幣和以太坊有潛力成爲可信中立、全球信任的基礎層:
過去,以太坊在這方面做得並不理想(有時甚至是因爲我個人的決策),這導致了我們過度的開發支出、@vbuterin/selfdestruct">各種安全風險以及研發文化的封閉性,而這些努力往往換來的只是虛幻的收益。
本文將闡述,五年後的以太坊如何有可能實現接近比特幣般的簡潔性。
3-slot finality(3槽終結性)模擬圖 — 3sf-mini
新的共識層設計(過去被稱爲「beam chain」)旨在整合過去十年我們在共識理論、ZK-SNARK 開發、質押經濟學等領域積累的經驗,打造一個長期最優的以太坊共識層。這個新共識層,相較現有信標鏈(Beacon Chain),有望實現更高的簡潔性。尤其體現在:
3槽終結性(3-slot finality)重構
這一設計取消了“slot(槽)”與“epoch(週期)”的區分、委員會洗牌(committee shuffling)及其他與這些機制相關的協議規範細節(如同步委員會等)。一個基本版本的 3-slot finality,大約只需要 200 行代碼即可實現。與當前 Gasper 協議相比,3-slot finality 也具備接近最優的安全性。
活躍驗證者數量減少
使得採用更簡單的分叉選擇規則(fork choice rule)變得更安全可行。
基於 STARK 的聚合協議
意味着任何人都可以成爲聚合者,無需擔心信任聚合者、重復比特字段的過度費用等問題。雖然聚合加密本身存在一定復雜度,但這種復雜性高度封裝,對協議整體系統性風險遠低得多。
以上兩點 也很可能支持更簡單且更穩健的點對點(p2p)架構。
共識層的優勢在於,它與 EVM 執行相對解耦,因此我們有較大空間持續推進這些改進。
更具挑戰的是:如何在執行層(execution layer)實現同樣的簡化。
以太坊虛擬機(EVM)的復雜度正不斷攀升,而其中不少復雜性已被證明並非必要(很多情況下也與我個人的決策有關):我們有一個 256 位虛擬機,過度優化了某些極爲特定的加密形式,而這些形式如今正逐漸邊緣化;還有一些預編譯合約(precompiles)過度聚焦於極少使用的單一用例。
試圖逐步修修補補地解決這些現實問題,行不通。移除 @vbuterin/selfdestruct">SELFDESTRUCT 指令就耗費了巨大精力,收效卻有限。最近關於 EOF(EVM Object Format)的辯論,更顯示了對虛擬機進行類似改動的困難。
因此,作爲替代方案,我近期提出了一個更激進的思路:與其爲了 1.5 倍提升不斷做中等規模(但仍具破壞性)的改動,不如直接遷移到一個全新且遠優且更簡潔的虛擬機,爭取 100 倍的收益。 就像「合並」(The Merge)一樣,我們減少變革次數,但每一次都意義重大。具體而言,我建議用 RISC-V(或其他以太坊 ZK 證明器將使用的虛擬機)替代現有 EVM。這樣我們將獲得:
這種路徑的主要缺點是:與 EOF(已可立即部署)不同,新虛擬機需要更長時間才能讓開發者受益。爲緩解這一點,我們可以短期內適當引入一些小但高價值的 EVM 改進(如提高合約代碼大小上限、增加 DUP/SWAP17-32 指令等)。
最終,這將賦予我們一個大幅簡化的虛擬機。但最大的問題是:現有的 EVM 怎麼辦?
在有意義地簡化(甚至只是改善而不增加復雜度)以太坊虛擬機(EVM)任何部分時,最大的挑戰在於:如何在實現目標的同時,保持對現有應用程序的向後兼容性。
首先要明確的一點是:並不存在一種單一的方式來界定“以太坊代碼庫”的範圍(即使是在同一個客戶端內部)。
目標是盡量縮小綠色區域的範圍:也就是節點爲了參與以太坊共識所必須運行的邏輯,包括計算當前狀態、證明、驗證、FOCIL(First-Order Consensus Integrity Layer)、基礎版區塊構建等。
橙色區域無法縮減:如果某個執行層特性(無論是虛擬機、預編譯還是其他機制)被移除出協議規範,或者其功能被更改,關心歷史區塊處理的客戶端仍然必須保留它——但重要的是,新客戶端(比如ZK-EVMs或形式化驗證器)可以完全忽略橙色區域。
新增的類別是黃色區域:這類代碼對理解和解析當前鏈狀態、以及進行最優區塊構建來說非常重要,但它並不是共識的一部分。現有一個例子是 Etherscan(以及部分區塊構建者)對ERC-4337用戶操作的支持。如果我們用鏈上RISC-V實現來取代以太坊某些大型功能(例如EOA帳戶及其對各種舊交易類型的支持),那麼盡管共識代碼大幅簡化,但一些專業節點仍可能會沿用原來的代碼來解析這些功能。
重要的是,橙色和黃色區域屬於“封裝復雜度”,任何希望理解協議的人都可以跳過它們,實現以太坊的客戶端也可以選擇不實現它們,而且這些區域的Bug不會帶來共識風險。這意味着,橙色和黃色區域的代碼復雜度,帶來的負面影響遠小於綠色區域。
將代碼從綠色區域轉移到黃色區域,這個思路類似於蘋果公司通過 Rosetta 翻譯層來保障長期兼容性。
我提出(借鑑了@ipsilon/eof-ethereums-gateway-to-risc-v"> Ipsilon 團隊最近的觀點)以下虛擬機遷移流程(以EVM遷移至RISC-V爲例,但同樣適用於EVM遷移至Cairo,甚至未來遷移至更優VM):
完成第4步後,仍然會有很多“EVM實現”繼續用於優化區塊構建、開發工具和鏈上分析,但它們將不再屬於關鍵共識規範。屆時,以太坊共識將“原生”只理解RISC-V。
第三種、且最容易被低估的簡化方法,就是盡可能在協議棧的各個部分共享統一標準。通常,沒什麼理由要在不同場景使用不同協議來做相同的事,但現實中這種情況仍然頻繁出現,主要是因爲協議路線圖的不同部分彼此缺乏溝通。以下是一些通過“最大化組件共享”來簡化以太坊的具體例子:
我們需要糾刪碼的場景有三處:
如果我們在三個用例中使用相同的糾刪碼(無論是 Reed-Solomon、隨機線性碼還是其他),我們將獲得一些重要的優勢:
如果確實需要不同糾刪碼,至少應保證“兼容性”:比如DAS場景中,橫向使用Reed-Solomon,縱向使用隨機線性碼,但兩者都基於相同的數學域。
目前以太坊的序列化格式嚴格來說只是“半標準化”,因爲數據可以用任意格式重新序列化並廣播。唯一例外是交易籤名哈希,這裏需要規範格式用於哈希計算。
但未來序列化格式的標準化程度會進一步提升,原因有二:
屆時,我們有機會統一目前三個層面都需要的序列化方案:1)執行層;2)共識層;3)智能合約調用ABI。
我建議採用 SSZ(Simple Serialize),因爲SSZ具備以下優勢:
目前已有將更多組件遷移至SSZ的工作,我們在規劃未來升級時,應充分考慮並利用這些進展。
一旦我們從EVM遷移至RISC-V(或其他極簡VM),十六進制Merkle Patricia樹將成爲證明區塊執行的最大瓶頸,即使在平均場景下也是如此。遷移至基於更優哈希函數的二叉樹,將極大提升證明器效率,並降低輕節點和其他場景的數據成本。
完成樹結構遷移時,我們還應讓共識層使用同一樹結構,確保整個以太坊——共識與執行兩層——均可用同一套代碼訪問和解析。
簡化與去中心化有許多相似之處。兩者都是爲了實現系統韌性這一更高目標所必須的上遊條件。明確地重視簡化,實際上需要一種文化上的轉變。簡化帶來的好處往往在初期難以看見,但拒絕那些“光鮮亮麗的新功能”所帶來的機會成本與額外工作量卻是立竿見影的。然而,隨着時間推移,簡化的長期價值會變得愈加明顯——比特幣本身就是一個絕佳例子。
我建議我們借鑑 tinygrad 的做法,爲以太坊的長期規範設定一個明確的代碼行數上限目標,目標是讓以太坊的共識關鍵代碼盡量接近比特幣那種極簡風格。處理以太坊歷史規則的代碼仍然會存在,但應當被隔離在共識關鍵路徑之外。與此同時,我們應當形成一種普遍的設計理念:在可能的情況下選擇更簡單的方案,優先採用封裝式復雜性而非系統性復雜性,並傾向於那些能提供清晰可驗證屬性與保障的設計決策。