header-langage
简体中文
繁體中文
English
Tiếng Việt
한국어
日本語
ภาษาไทย
Türkçe
掃碼下載APP

Vitalik部落格文章:如何讓5年後的以太坊變得像比特幣一樣簡單

2025-05-06 10:11
閱讀本文需 20 分鐘
总结 AI 總結
看總結 收起
原文標題:Simplifying the L1
原文作者:Vitalik Buterin
原文編譯:GaryMa,吳說區塊鏈


摘要


本文聚焦於協定簡單性的重要性,提出透過簡化共識層(3-slot 最終性、STARK 聚合)和執行層(取代 EVM 為 RISC-V 或類似虛擬機器)大幅降低複雜性,減少開發成本、錯誤風險和攻擊面。建議透過向後相容策略(如鏈上 EVM 解釋器)平滑過渡,並統一糾刪碼、序列化格式(SSZ)和樹結構以進一步簡化。目標是讓以太坊共識關鍵程式碼接近比特幣的簡單性,提升韌性和參與度,需文化上重視簡單性並設定最大程式碼行數目標。


以太坊的目標是成為全球帳本:儲存人類文明資產與記錄的平台,服務於金融、治理、高價值資料認證等領域。這需要兩方面的支持:可擴展性與韌性。 Fusaka 硬分叉計畫將 L2 資料的可用空間增加 10 倍,而目前提議的 2026 年路線圖也計劃為 L1 層帶來類似的大幅提升。同時,以太坊已完成向權益證明(PoS)的過渡,客戶多樣性迅速提升,零知識(ZK)驗證、量子抗性研究也在穩步推進,應用生態日益穩健。


本文旨在聚焦一個同樣重要卻易被低估的韌性(甚至可擴展性)要素:協議的簡單性。


比特幣協議最令人讚嘆之處在於其優雅的簡潔性:



1. 存在一條由區塊組成的鏈,每個區塊透過哈希與前區塊相連。

2. 區塊的有效性透過工作量證明(PoW)驗證,即檢查雜湊值的前幾位是否為零。

3. 每個區塊包含交易,交易花費的幣不是來自挖礦獎勵,就是來自先前的交易輸出。


僅此而已!即便是個聰明的高中生也能完全理解比特幣協議的運作,而一個程式設計師甚至可以將其作為業餘專案編寫一個客戶端。協議的簡單性為比特幣(以及以太坊)成為可信、中立的全球基礎層帶來了許多關鍵優勢:


1. 易於理解:降低協議的複雜性,讓更多人能夠參與協議研究、開發和治理,減少技術精英階層主導的風險。

2. 降低開發成本:簡化協定大幅降低創造新基礎架構(如新用戶端、證明器、開發者工具等)的成本。

3. 減少維護負擔:降低長期協議維護的成本。

4. 減少錯誤風險:降低協議規範及實現中發生災難性錯誤的可能性,同時便於驗證不存在此類錯誤。

5. 縮小攻擊面:減少協定的複雜元件,降低被特殊利益團體攻擊的風險。


歷史上,以太坊(有時因我個人的決策)常常未能保持簡單,導致開發成本過高、安全風險增加以及研發文化的封閉性,而這些複雜性追求的收益往往被證明是虛幻的。本文將探討五年後的以太幣如何接近比特幣的簡單性。


簡化共識層



新的共識層設計(歷史上稱為「信標鏈」)旨在利用過去十年在共識理論、ZK-SNARK 開發、押經濟等共識領域最優的經驗領域。相較於現有信標鏈,新設計顯著簡化:


1. 3-slot 最終性設計:移除槽(slot)、週期(epoch)、委員會重組等概念,以及相關的高效處理機制(如同步委員會)。 3-slot 最終性的基本實作僅需約 200 行程式碼,且相較於 Gasper,安全性接近最適。


2. 減少活躍驗證者數量:允許使用更簡單的分叉選擇規則實現,增強安全性。


3. 基於 STARK 的聚合協議:任何人都可成為聚合者,無需信任聚合者或為重複位域支付高昂費用。聚合密碼學的複雜性較高,但其複雜性被高度封裝,系統性風險較低。


4. 簡化 P2P 架構:上述因素可能支援更簡單、更穩健的點對點網路架構。


5. 重新設計驗證者機制:包含進入、退出、提款、金鑰轉換、 inactivity leak 等機制,簡化程式碼行數並提供更清晰的保證(如弱主觀性週期)。


共識層的優點在於其與 EVM 執行層相對獨立,因此有較大空間持續改善。更大的挑戰在於如何在執行層實現類似簡化。


簡化執行層


EVM 的複雜性日益增加,且許多複雜性被證明無必要(部分因我個人決策失誤):256 位元虛擬機過度優化瞭如今已逐漸過時的特定密碼學形式,預編譯預編譯(定義precompiles)為單一用例。


逐一解決這些問題效果有限。例如,移除 SELFDESTRUCT 操作碼耗費龐大努力,卻僅帶來較小效益。近期關於 EOF(EVM Object Format)的爭論也顯示出類似挑戰。


我最近提出一個更激進的方案:與其對 EVM 進行中等規模(但仍具破壞性)的更改以換取 1.5 倍的收益,不如向一個更優、更簡單的虛擬機過渡,以實現 100 倍的收益。類似於「合併」(The Merge),我們減少破壞性變更的次數,但使每次變更更具意義。具體而言,我建議將 EVM 替換為 RISC-V,或以太坊 ZK 證明器使用的另一種虛擬機器。這將帶來:


1. 效率大幅提升:智能合約執行(在證明器中)無需解釋器開銷,直接運行。 Succinct 的數據顯示在許多場景下效能可提升 100 倍以上。

2. 簡單性大幅改進:RISC-V 規範相比 EVM 極為簡單,替代方案(如 Cairo)同樣簡潔。

3. 支持 EOF 的動機:如程式碼分區、更友善的靜態分析、更大程式碼大小限制等。

4. 更多開發者選擇:Solidity 和 Vyper 可新增後端以編譯到新虛擬機器。若選擇 RISC-V,主流語言開發者也能輕鬆將程式碼移植到該虛擬機器。

5. 移除大部分預編譯:可能只保留高度最佳化的橢圓曲線操作(量子電腦普及後連這些也將消失)。


主要缺點是,與已準備就緒的 EOF 不同,新虛擬機器的效益需較長時間惠及開發者。我們可透過短期實施高價值的 EVM 改進(如增加合約程式碼大小限制、支援 DUP/SWAP17–32)來緩解此問題。


這將帶來更簡單的虛擬機器。核心挑戰在於:如何處理現有的 EVM?


虛擬機器過渡的向後相容策略


簡化(或在不增加複雜性的前提下改進)EVM 的最大挑戰在於如何平衡目標實現與現有應用的向後相容性。


· 首先需要明確:以太坊程式碼庫(即使在單一客戶端內)並非只有一種定義方式。



· 目標是盡量縮小綠色區域:節點參與以太坊共識所需的邏輯,包括計算當前狀態、證明、驗證、FOCIL(分叉選擇規則)及「普通」區塊共識所需的邏輯,包括計算當前狀態、證明、驗證、FOCIL(分叉選擇規則)及「普通」區塊構建。


· 橘色區域無法減少:若協定規範移除或變更某執行層功能(如虛擬機器、預編譯等),處理歷史區塊的用戶端仍需保留相關程式碼。但新客戶端、ZK-EVM 或形式化證明器可完全忽略橘色區域。


· 新增的黃色區域:對理解當前鍊或優化區塊建構非常有價值,但不屬於共識邏輯。例如,Etherscan 及部分區塊建構者支援 ERC-4337 用戶操作。如果我們用鏈上 RISC-V 實作替換某些以太坊功能(如 EOA 及其支援的舊交易類型),共識程式碼將顯著簡化,但專用節點可能會繼續使用原有程式碼進行解析。


· 橙色和黃色區域的複雜性是封裝複雜性,理解協議的人可跳過這些部分,以太坊實現可忽略它們,這些區域的錯誤不會引發共識風險。因此,橙色和黃色區域的程式碼複雜性遠比綠色區域的複雜性危害小。


將程式碼從綠色區域移至黃色區域的思路,類似於蘋果透過 Rosetta 翻譯層確保長期向後相容的策略。受 Ipsilon 團隊近期文章啟發,我提出以下虛擬機器變更流程(以 EVM 到 RISC-V 為例,但也可用於 EVM 到 Cairo 或 RISC-V 到更優虛擬機):


1. 要求新預編譯提供鏈上 RISC-V 實作:讓生態系統逐步適應 RISC-V 虛擬機器。


2. 引入 RISC-V 作為開發者選項:協定同時支援 RISC-V 和 EVM,兩種虛擬機器的合約可自由互動。


3. 取代大部分預編譯:除橢圓曲線操作和 KECCAK(因需極致速度)外,用 RISC-V 實作替換其他預編譯。透過硬分叉移除預編譯,同時將該位址的程式碼(類似 DAO 分叉)從空更改為 RISC-V 實現。 RISC-V 虛擬機器極為簡單,即使在此止步也淨簡化協定。


4. 在 RISC-V 中實作 EVM 解釋器:作為智慧合約上鍊(因 ZK 證明器需要已進行)。在初始發布數年後,現有 EVM 合約透過此解釋器運作。



完成第 4 步驟後,許多「EVM 實作」仍將用於優化區塊建置、開發者工具和鏈分析,但不再是關鍵共識規範的一部分。以太坊共識將「原生地」僅理解 RISC-V。


透過共享協定元件簡化


降低協定總複雜度的第三種方式(也最容易被低估)是盡可能在協定堆疊的不同部分共享統一標準。不同協議在不同場景下做相同的事情通常毫無益處,但這種模式仍常出現,主要是因為協議路線圖的不同部分缺乏溝通。以下是幾個透過共享元件簡化以太坊的具體範例。


統一糾刪碼



我們在三個場景中需要糾刪碼:


1. 區塊驗證已發布 客戶端:已發布 客戶端驗證:區塊資料

2. 更快的 P2P 廣播:節點接收 n/2 個片段後即可接受區塊,在延遲與冗餘間取得平衡。

3. 分散式歷史存儲:以太坊歷史資料分片存儲,每組 n/2 個片段可恢復其餘片段,降低單一片段遺失風險。


若在三個場景中使用相同糾刪碼(無論是 Reed-Solomon、隨機線性碼等),將獲得以下優勢:


1. 最小化程式碼量:減少總程式碼行數。

2. 提高效率:若節點為某場景下載部分片段,這些資料可用於其他場景。

3. 確保可驗證性:所有場景的片段均可根據根驗證。


若使用不同糾刪碼,至少應確保相容性,例如資料可用性取樣的水平 Reed-Solomon 碼與垂直隨機線性碼在同一網域操作。


統一序列化格式



以太坊的序列化格式目前僅部分固化,因資料可依任意格式重新序列化及廣播。例外是交易簽章哈希,需規範格式進行哈希。未來,序列化格式的固化程度將因以下原因進一步提高:


1. 完全帳戶抽象(EIP-7701):交易完整內容對虛擬機器可見。

2. 更高的 Gas 限制:執行層資料需放入資料區塊(blobs)。


屆時,我們有機會統一以太坊三個層級的序列化格式:執行層、共識層、智慧合約呼叫 ABI。


我提議使用 SSZ,因為 SSZ:


1. 易於解碼:包括在智能合約內(因其基於 4 字節的設計和較少的邊緣情況)。

2. 已在共識層廣泛使用。

3. 與現有 ABI 高度相似:工具適配相對簡單。


已有向 SSZ 全面遷移的努力,我們應在規劃未來升級時考慮並延續這些努力。


統一樹結構



若從 EVM 遷移到 RISC-V(或其他可選的最小虛擬機器),十六進位組期間若從 EVM 移轉至 RISC-V(或其他可選的最小虛擬機),十六進位組中連點 Merkle Patricia 樹也是如此。遷移到基於更優雜湊函數的二元樹將顯著提升證明器效率,同時降低輕客戶端等場景的資料成本。遷移時,應確保共識層使用相同的樹狀結構。這將使以太坊的共識層與執行層可透過相同程式碼存取和解析。


從現在到未來


簡單性在許多方面類似於去中心化,二者均為韌性目標的上游。明確重視簡單性需要一定的文化轉變。其收益往往難以量化,而額外努力和放棄某些耀眼功能的成本卻立竿見影。然而,隨著時間推移,收益將愈發顯著 — —比特幣本身就是絕佳例證。


我提議效法 tinygrad,為以太坊長期規範設定明確的最大程式碼行數目標,使以太坊共識關鍵程式碼接近比特幣的簡單性。處理以太坊歷史規則的程式碼將繼續存在,但應置於共識關鍵路徑之外。同時,我們應秉持選擇更簡單方案的理念,優先選擇封裝複雜性而非系統性複雜性,並做出提供清晰屬性和保證的設計選擇。


原文連結


歡迎加入律動 BlockBeats 官方社群:

Telegram 訂閱群:https://t.me/theblockbeats

Telegram 交流群:https://t.me/BlockBeats_App

Twitter 官方帳號:https://twitter.com/BlockBeatsAsia

本平台現已全面集成Farcaster協議, 如果您已有Farcaster帳戶, 可以登錄 後發表評論
選擇文庫
新增文庫
取消
完成
新增文庫
僅自己可見
公開
保存
糾錯/舉報
提交