簡化 Layer1

進階5/12/2025, 8:55:45 AM
Vitalik 提出通過簡化共識機制與虛擬機架構,使以太坊在未來五年內實現類似比特幣般的協議極簡化,提升可驗證性與安全性,同時爲 ZK 擴展與多語言開發鋪平道路。

特別感謝 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)架構。

  • 我們有機會重新思考驗證者的進場、退出、提現、密鑰切換、惰性懲罰等機制,並加以簡化 —— 不只是降低代碼行數(LoC),還包括提供更清晰的機制保障,例如更明確的「弱主觀性(weak subjectivity)」期限。

共識層的優勢在於,它與 EVM 執行相對解耦,因此我們有較大空間持續推進這些改進。
更具挑戰的是:如何在執行層(execution layer)實現同樣的簡化。

簡化執行層

以太坊虛擬機(EVM)的復雜度正不斷攀升,而其中不少復雜性已被證明並非必要(很多情況下也與我個人的決策有關):我們有一個 256 位虛擬機,過度優化了某些極爲特定的加密形式,而這些形式如今正逐漸邊緣化;還有一些預編譯合約(precompiles)過度聚焦於極少使用的單一用例。

試圖逐步修修補補地解決這些現實問題,行不通。移除 @vbuterin/selfdestruct">SELFDESTRUCT 指令就耗費了巨大精力,收效卻有限。最近關於 EOF(EVM Object Format)的辯論,更顯示了對虛擬機進行類似改動的困難。

因此,作爲替代方案,我近期提出了一個更激進的思路:與其爲了 1.5 倍提升不斷做中等規模(但仍具破壞性)的改動,不如直接遷移到一個全新且遠優且更簡潔的虛擬機,爭取 100 倍的收益。 就像「合並」(The Merge)一樣,我們減少變革次數,但每一次都意義重大。具體而言,我建議用 RISC-V(或其他以太坊 ZK 證明器將使用的虛擬機)替代現有 EVM。這樣我們將獲得:

  • 效率大幅提升:因爲(在證明器內)智能合約可直接運行,無需解釋器開銷。Succinct 的數據表明,許多場景下性能可提升 100 倍以上。
  • 極致簡潔性:相較 EVM,RISC-V 規範極其簡單。其他備選方案(如 Cairo)同樣簡潔。
  • 繼承 EOF 預期優勢:如代碼分段、更友好的靜態分析、更大代碼容量上限等。
  • 開發者選擇更多元: Solidity 和 Vyper 可支持編譯到新虛擬機後端。若選擇 RISC-V,主流語言開發者也能輕鬆移植代碼。
  • 大幅減少預編譯需求:可能僅保留極少數高度優化的橢圓曲線運算(不過一旦量子計算普及,這些也將不復存在)。

這種路徑的主要缺點是:與 EOF(已可立即部署)不同,新虛擬機需要更長時間才能讓開發者受益。爲緩解這一點,我們可以短期內適當引入一些小但高價值的 EVM 改進(如提高合約代碼大小上限、增加 DUP/SWAP17-32 指令等)。

最終,這將賦予我們一個大幅簡化的虛擬機。但最大的問題是:現有的 EVM 怎麼辦?

VM 過渡的向後兼容策略

在有意義地簡化(甚至只是改善而不增加復雜度)以太坊虛擬機(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):

  1. 所有新預編譯必須用標準的鏈上RISC-V實現編寫,這樣可以讓生態開始熟悉並使用RISC-V作爲虛擬機。
  2. 引入RISC-V,作爲開發者與EVM並行的合約編寫選項。協議原生支持RISC-V和EVM,兩種語言編寫的合約可以自由交互。
  3. 將所有預編譯(除橢圓曲線運算和KECCAK外)替換爲RISC-V實現。我們通過一次硬分叉移除這些預編譯,並同時把對應地址的代碼(DAO分叉式)改爲空轉RISC-V實現。由於RISC-V VM極度簡潔,即使僅做到這一步,整體也是淨簡化。
  4. 實現一個用RISC-V編寫的EVM解釋器,並作爲智能合約部署到鏈上。在初步發布數年後,現有EVM合約會通過這個解釋器來處理。

完成第4步後,仍然會有很多“EVM實現”繼續用於優化區塊構建、開發工具和鏈上分析,但它們將不再屬於關鍵共識規範。屆時,以太坊共識將“原生”只理解RISC-V。

通過共享協議組件來簡化

第三種、且最容易被低估的簡化方法,就是盡可能在協議棧的各個部分共享統一標準。通常,沒什麼理由要在不同場景使用不同協議來做相同的事,但現實中這種情況仍然頻繁出現,主要是因爲協議路線圖的不同部分彼此缺乏溝通。以下是一些通過“最大化組件共享”來簡化以太坊的具體例子:

一個統一的糾刪碼

我們需要糾刪碼的場景有三處:

  • 數據可用性抽樣 - 客戶端驗證區塊是否已發布
  • 更快的 P2P 廣播 - 節點能夠在收到 n 塊中的 n/2 後接受塊,從而在減少延遲和冗餘之間建立最佳平衡
  • 分布式歷史存儲 - 以太坊的每一段歷史記錄都存儲在許多塊中,這樣(i)這些塊可以被獨立驗證,並且(ii)每組中的n/2個塊可以恢復剩餘的n/2個塊,大大降低了任何單個塊丟失的風險

如果我們在三個用例中使用相同的糾刪碼(無論是 Reed-Solomon、隨機線性碼還是其他),我們將獲得一些重要的優勢:

  1. 最小化總代碼行數
  2. 提高效率 因爲如果各個節點必須爲其中一個用例下載塊的各個部分(而不是整個塊),則該數據可以用於另一個用例
  3. 確保可驗證性: 所有三個上下文中的塊都可以根據根進行驗證

如果確實需要不同糾刪碼,至少應保證“兼容性”:比如DAS場景中,橫向使用Reed-Solomon,縱向使用隨機線性碼,但兩者都基於相同的數學域。

一個統一的序列化格式

目前以太坊的序列化格式嚴格來說只是“半標準化”,因爲數據可以用任意格式重新序列化並廣播。唯一例外是交易籤名哈希,這裏需要規範格式用於哈希計算。
但未來序列化格式的標準化程度會進一步提升,原因有二:

  • 全面帳戶抽象(EIP-7701):虛擬機將能看到完整交易內容
  • Gas上限提高:執行區塊數據需打包進 blob

屆時,我們有機會統一目前三個層面都需要的序列化方案:1)執行層;2)共識層;3)智能合約調用ABI。

我建議採用 SSZ(Simple Serialize),因爲SSZ具備以下優勢:

  • 易於解碼:包括在智能合約內部(基於4字節設計,邊界情況少)
  • 已廣泛用於共識
  • 與現有ABI高度相似:工具鏈遷移成本低

目前已有將更多組件遷移至SSZ的工作,我們在規劃未來升級時,應充分考慮並利用這些進展。

一個統一的樹結構

一旦我們從EVM遷移至RISC-V(或其他極簡VM),十六進制Merkle Patricia樹將成爲證明區塊執行的最大瓶頸,即使在平均場景下也是如此。遷移至基於更優哈希函數的二叉樹,將極大提升證明器效率,並降低輕節點和其他場景的數據成本。

完成樹結構遷移時,我們還應讓共識層使用同一樹結構,確保整個以太坊——共識與執行兩層——均可用同一套代碼訪問和解析。

從現在到未來

簡化與去中心化有許多相似之處。兩者都是爲了實現系統韌性這一更高目標所必須的上遊條件。明確地重視簡化,實際上需要一種文化上的轉變。簡化帶來的好處往往在初期難以看見,但拒絕那些“光鮮亮麗的新功能”所帶來的機會成本與額外工作量卻是立竿見影的。然而,隨着時間推移,簡化的長期價值會變得愈加明顯——比特幣本身就是一個絕佳例子。

我建議我們借鑑 tinygrad 的做法,爲以太坊的長期規範設定一個明確的代碼行數上限目標,目標是讓以太坊的共識關鍵代碼盡量接近比特幣那種極簡風格。處理以太坊歷史規則的代碼仍然會存在,但應當被隔離在共識關鍵路徑之外。與此同時,我們應當形成一種普遍的設計理念:在可能的情況下選擇更簡單的方案,優先採用封裝式復雜性而非系統性復雜性,並傾向於那些能提供清晰可驗證屬性與保障的設計決策。

免責聲明:

  1. 本文轉載自【vitalik】。所有版權歸原作者 [vitalik] 所有。如對本次轉載有異議,請聯系 Gate Learn 團隊,他們會及時處理。
  2. 免責聲明:本文所表達的觀點和意見僅代表作者個人觀點,不構成任何投資建議。
  3. Gate Learn 團隊將文章翻譯成其他語言。除非另有說明,否則禁止復制、分發或抄襲翻譯文章。
* The information is not intended to be and does not constitute financial advice or any other recommendation of any sort offered or endorsed by Gate.io.
* This article may not be reproduced, transmitted or copied without referencing Gate.io. Contravention is an infringement of Copyright Act and may be subject to legal action.

簡化 Layer1

進階5/12/2025, 8:55:45 AM
Vitalik 提出通過簡化共識機制與虛擬機架構,使以太坊在未來五年內實現類似比特幣般的協議極簡化,提升可驗證性與安全性,同時爲 ZK 擴展與多語言開發鋪平道路。

特別感謝 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)架構。

  • 我們有機會重新思考驗證者的進場、退出、提現、密鑰切換、惰性懲罰等機制,並加以簡化 —— 不只是降低代碼行數(LoC),還包括提供更清晰的機制保障,例如更明確的「弱主觀性(weak subjectivity)」期限。

共識層的優勢在於,它與 EVM 執行相對解耦,因此我們有較大空間持續推進這些改進。
更具挑戰的是:如何在執行層(execution layer)實現同樣的簡化。

簡化執行層

以太坊虛擬機(EVM)的復雜度正不斷攀升,而其中不少復雜性已被證明並非必要(很多情況下也與我個人的決策有關):我們有一個 256 位虛擬機,過度優化了某些極爲特定的加密形式,而這些形式如今正逐漸邊緣化;還有一些預編譯合約(precompiles)過度聚焦於極少使用的單一用例。

試圖逐步修修補補地解決這些現實問題,行不通。移除 @vbuterin/selfdestruct">SELFDESTRUCT 指令就耗費了巨大精力,收效卻有限。最近關於 EOF(EVM Object Format)的辯論,更顯示了對虛擬機進行類似改動的困難。

因此,作爲替代方案,我近期提出了一個更激進的思路:與其爲了 1.5 倍提升不斷做中等規模(但仍具破壞性)的改動,不如直接遷移到一個全新且遠優且更簡潔的虛擬機,爭取 100 倍的收益。 就像「合並」(The Merge)一樣,我們減少變革次數,但每一次都意義重大。具體而言,我建議用 RISC-V(或其他以太坊 ZK 證明器將使用的虛擬機)替代現有 EVM。這樣我們將獲得:

  • 效率大幅提升:因爲(在證明器內)智能合約可直接運行,無需解釋器開銷。Succinct 的數據表明,許多場景下性能可提升 100 倍以上。
  • 極致簡潔性:相較 EVM,RISC-V 規範極其簡單。其他備選方案(如 Cairo)同樣簡潔。
  • 繼承 EOF 預期優勢:如代碼分段、更友好的靜態分析、更大代碼容量上限等。
  • 開發者選擇更多元: Solidity 和 Vyper 可支持編譯到新虛擬機後端。若選擇 RISC-V,主流語言開發者也能輕鬆移植代碼。
  • 大幅減少預編譯需求:可能僅保留極少數高度優化的橢圓曲線運算(不過一旦量子計算普及,這些也將不復存在)。

這種路徑的主要缺點是:與 EOF(已可立即部署)不同,新虛擬機需要更長時間才能讓開發者受益。爲緩解這一點,我們可以短期內適當引入一些小但高價值的 EVM 改進(如提高合約代碼大小上限、增加 DUP/SWAP17-32 指令等)。

最終,這將賦予我們一個大幅簡化的虛擬機。但最大的問題是:現有的 EVM 怎麼辦?

VM 過渡的向後兼容策略

在有意義地簡化(甚至只是改善而不增加復雜度)以太坊虛擬機(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):

  1. 所有新預編譯必須用標準的鏈上RISC-V實現編寫,這樣可以讓生態開始熟悉並使用RISC-V作爲虛擬機。
  2. 引入RISC-V,作爲開發者與EVM並行的合約編寫選項。協議原生支持RISC-V和EVM,兩種語言編寫的合約可以自由交互。
  3. 將所有預編譯(除橢圓曲線運算和KECCAK外)替換爲RISC-V實現。我們通過一次硬分叉移除這些預編譯,並同時把對應地址的代碼(DAO分叉式)改爲空轉RISC-V實現。由於RISC-V VM極度簡潔,即使僅做到這一步,整體也是淨簡化。
  4. 實現一個用RISC-V編寫的EVM解釋器,並作爲智能合約部署到鏈上。在初步發布數年後,現有EVM合約會通過這個解釋器來處理。

完成第4步後,仍然會有很多“EVM實現”繼續用於優化區塊構建、開發工具和鏈上分析,但它們將不再屬於關鍵共識規範。屆時,以太坊共識將“原生”只理解RISC-V。

通過共享協議組件來簡化

第三種、且最容易被低估的簡化方法,就是盡可能在協議棧的各個部分共享統一標準。通常,沒什麼理由要在不同場景使用不同協議來做相同的事,但現實中這種情況仍然頻繁出現,主要是因爲協議路線圖的不同部分彼此缺乏溝通。以下是一些通過“最大化組件共享”來簡化以太坊的具體例子:

一個統一的糾刪碼

我們需要糾刪碼的場景有三處:

  • 數據可用性抽樣 - 客戶端驗證區塊是否已發布
  • 更快的 P2P 廣播 - 節點能夠在收到 n 塊中的 n/2 後接受塊,從而在減少延遲和冗餘之間建立最佳平衡
  • 分布式歷史存儲 - 以太坊的每一段歷史記錄都存儲在許多塊中,這樣(i)這些塊可以被獨立驗證,並且(ii)每組中的n/2個塊可以恢復剩餘的n/2個塊,大大降低了任何單個塊丟失的風險

如果我們在三個用例中使用相同的糾刪碼(無論是 Reed-Solomon、隨機線性碼還是其他),我們將獲得一些重要的優勢:

  1. 最小化總代碼行數
  2. 提高效率 因爲如果各個節點必須爲其中一個用例下載塊的各個部分(而不是整個塊),則該數據可以用於另一個用例
  3. 確保可驗證性: 所有三個上下文中的塊都可以根據根進行驗證

如果確實需要不同糾刪碼,至少應保證“兼容性”:比如DAS場景中,橫向使用Reed-Solomon,縱向使用隨機線性碼,但兩者都基於相同的數學域。

一個統一的序列化格式

目前以太坊的序列化格式嚴格來說只是“半標準化”,因爲數據可以用任意格式重新序列化並廣播。唯一例外是交易籤名哈希,這裏需要規範格式用於哈希計算。
但未來序列化格式的標準化程度會進一步提升,原因有二:

  • 全面帳戶抽象(EIP-7701):虛擬機將能看到完整交易內容
  • Gas上限提高:執行區塊數據需打包進 blob

屆時,我們有機會統一目前三個層面都需要的序列化方案:1)執行層;2)共識層;3)智能合約調用ABI。

我建議採用 SSZ(Simple Serialize),因爲SSZ具備以下優勢:

  • 易於解碼:包括在智能合約內部(基於4字節設計,邊界情況少)
  • 已廣泛用於共識
  • 與現有ABI高度相似:工具鏈遷移成本低

目前已有將更多組件遷移至SSZ的工作,我們在規劃未來升級時,應充分考慮並利用這些進展。

一個統一的樹結構

一旦我們從EVM遷移至RISC-V(或其他極簡VM),十六進制Merkle Patricia樹將成爲證明區塊執行的最大瓶頸,即使在平均場景下也是如此。遷移至基於更優哈希函數的二叉樹,將極大提升證明器效率,並降低輕節點和其他場景的數據成本。

完成樹結構遷移時,我們還應讓共識層使用同一樹結構,確保整個以太坊——共識與執行兩層——均可用同一套代碼訪問和解析。

從現在到未來

簡化與去中心化有許多相似之處。兩者都是爲了實現系統韌性這一更高目標所必須的上遊條件。明確地重視簡化,實際上需要一種文化上的轉變。簡化帶來的好處往往在初期難以看見,但拒絕那些“光鮮亮麗的新功能”所帶來的機會成本與額外工作量卻是立竿見影的。然而,隨着時間推移,簡化的長期價值會變得愈加明顯——比特幣本身就是一個絕佳例子。

我建議我們借鑑 tinygrad 的做法,爲以太坊的長期規範設定一個明確的代碼行數上限目標,目標是讓以太坊的共識關鍵代碼盡量接近比特幣那種極簡風格。處理以太坊歷史規則的代碼仍然會存在,但應當被隔離在共識關鍵路徑之外。與此同時,我們應當形成一種普遍的設計理念:在可能的情況下選擇更簡單的方案,優先採用封裝式復雜性而非系統性復雜性,並傾向於那些能提供清晰可驗證屬性與保障的設計決策。

免責聲明:

  1. 本文轉載自【vitalik】。所有版權歸原作者 [vitalik] 所有。如對本次轉載有異議,請聯系 Gate Learn 團隊,他們會及時處理。
  2. 免責聲明:本文所表達的觀點和意見僅代表作者個人觀點,不構成任何投資建議。
  3. Gate Learn 團隊將文章翻譯成其他語言。除非另有說明,否則禁止復制、分發或抄襲翻譯文章。
* The information is not intended to be and does not constitute financial advice or any other recommendation of any sort offered or endorsed by Gate.io.
* This article may not be reproduced, transmitted or copied without referencing Gate.io. Contravention is an infringement of Copyright Act and may be subject to legal action.
Start Now
Sign up and get a
$100
Voucher!