簡化 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 團隊將文章翻譯成其他語言。除非另有說明,否則禁止復制、分發或抄襲翻譯文章。
* Les informations ne sont pas destinées à être et ne constituent pas des conseils financiers ou toute autre recommandation de toute sorte offerte ou approuvée par Gate.io.
* Cet article ne peut être reproduit, transmis ou copié sans faire référence à Gate.io. Toute contravention constitue une violation de la loi sur le droit d'auteur et peut faire l'objet d'une action en justice.

簡化 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 團隊將文章翻譯成其他語言。除非另有說明,否則禁止復制、分發或抄襲翻譯文章。
* Les informations ne sont pas destinées à être et ne constituent pas des conseils financiers ou toute autre recommandation de toute sorte offerte ou approuvée par Gate.io.
* Cet article ne peut être reproduit, transmis ou copié sans faire référence à Gate.io. Toute contravention constitue une violation de la loi sur le droit d'auteur et peut faire l'objet d'une action en justice.
Lancez-vous
Inscrivez-vous et obtenez un bon de
100$
!