以太坊的可能未來,第 2 部分:擴容(Surge)

進階10/22/2024, 4:38:46 AM
以太坊的擴容策略經歷了從分片和二層協議到以rollup爲中心的演變。目前的路線圖提出了L1和L2的分工:L1作爲穩健的基礎層,L2負責生態系統擴展。最近的成果包括EIP-4844 blobs增加了L1數據帶寬,多個EVM rollups達到第1階段。未來目標包括實現100,000+ TPS,保持L1去中心化,確保部分L2繼承以太坊核心屬性,以及最大化L2間互操作性。重點研究方向包括數據可用性採樣、數據壓縮和跨L2互操作性等。

在最初,以太坊的路線圖中有兩種擴容策略。一種(例如,參見2015年的這篇早期論文)是”分片”:每個節點只需要驗證和存儲一小部分交易,而不是驗證和存儲鏈上的所有交易。這也是其他點對點網路(如BitTorrent)的工作方式,所以我們自然可以讓區塊鏈以同樣的方式工作。另一種是二層協議:這些網路位於以太坊之上,能夠充分受益於以太坊的安全性,同時將大部分數據和計算保持在主鏈之外。”二層協議”在2015年指的是狀態通道,在2017年指的是Plasma,然後在2019年指的是rollups。Rollups比狀態通道或Plasma更強大,但它們需要大量的鏈上數據帶寬。幸運的是,到2019年,分片研究已經解決了大規模驗證”數據可用性”的問題。因此,這兩條路徑匯合了,我們得到了以rollup爲中心的路線圖,這仍然是以太坊目前的擴容策略。

The Surge,2023 年路線圖版。

以rollup爲中心的路線圖提出了一個簡單的分工:以太坊L1專注於成爲一個強大和去中心化的基礎層,而L2則承擔幫助生態系統擴展的任務。這是一種在社會各處都能看到的模式:法院系統(L1)並不是爲了超快和高效而存在,它是爲了保護合同和財產權,而企業家(L2)則在這個堅實基礎層之上建設,將人類帶到(比喻和字面意義上的)火星。

今年,以rollup爲中心的路線圖已經取得了重要成果:以太坊L1的數據帶寬通過EIP-4844 blobs大幅增加,多個EVM rollups現在已經處於第1階段。一種非常異構和多元化的分片實現已經成爲現實,每個L2都作爲一個”分片”運作,有自己的內部規則和邏輯。但正如我們所見,走這條路也帶來了一些獨特的挑戰。因此,我們現在的任務是完成以rollup爲中心的路線圖,解決這些問題,同時保持使以太坊L1特別的穩健性和去中心化。

The Surge (擴容):關鍵目標

  • 在L1+L2上實現100,000+的每秒交易量(TPS)
  • 保持L1的去中心化和穩健性
  • 至少有一些L2完全繼承以太坊的核心屬性(無需信任、開放、抗審查)
  • L2之間實現最大程度的互操作性。以太坊應該感覺像一個生態系統,而不是34個不同的區塊鏈

在本章中

旁白:可擴展性的三難困境

可擴展性三難困境是2017年提出的一個概念,它指出區塊鏈的三個屬性之間存在矛盾:去中心化(具體來說:運行節點的低成本)、可擴展性(具體來說:高交易處理量)和安全性(具體來說:攻擊者需要破壞網路中大部分節點才能使單個交易失敗)。

值得注意的是,這個三難困境並非一個定理,介紹它的文章也沒有提供數學證明。但文章給出了一個啓發性的數學論證:如果一個支持去中心化的節點(如普通筆記本電腦)每秒可以驗證N筆交易,而你有一個每秒處理k*N筆交易的鏈,那麼要麼(i)每筆交易只被1/k的節點看到,這意味着攻擊者只需破壞少數節點就能推送一筆壞交易,要麼(ii)你的節點需要很強大,導致你的鏈不再去中心化。這篇文章的目的不是證明打破三難困境是不可能的,而是表明打破三難困境很難——它需要某種方式跳出論證所暗示的框框。

多年來,一些高性能鏈常常聲稱他們在不做任何基礎架構層面創新的情況下解決了三難困境,通常是通過使用軟件工程技巧來優化節點。這總是具有誤導性的,在這些鏈上運行節點最終總是比在以太坊上困難得多。這篇文章深入探討了爲什麼會這樣的諸多微妙之處(因此,爲什麼僅靠L1客戶端軟件工程無法擴展以太坊本身)。

然而,數據可用性採樣和SNARKs的結合確實解決了三難困境:它允許客戶端驗證某些數據的可用性,並正確執行一定數量的計算步驟,同時只下載少量數據並運行少量計算。SNARKs是無需信任的。數據可用性採樣有一個微妙的N中少數信任模型,但它保留了不可擴展鏈的基本屬性,即即使51%攻擊也無法強制網路接受壞區塊。

解決三難困境的另一種方式是 Plasma 架構,它使用巧妙的技術,以激勵兼容的方式將監視數據可用性的責任推給用戶。在2017-2019年,當我們只有欺詐證明來擴展計算時,Plasma在安全操作方面非常有限,但SNARKs的主流化使Plasma架構對更廣泛的用例變得更加可行

數據可用性採樣的進一步進展

我們在解決什麼問題?

自2024年3月13日Dencun升級上線以來,以太坊區塊鏈每12秒的 slot (時隙)中包含三個約125 kB的”數據塊”,即每個 slot 約375 kB的數據可用性帶寬。假設交易數據直接在鏈上發布,一筆ERC20轉帳約需180字節,那麼以太坊上rollups的最大每秒交易量(TPS)爲:

375000 / 12 / 180 = 173.6 TPS (每秒處理量)

如果我們加上以太坊的calldata(理論最大值:每個 slot 30百萬gas / 每字節16 gas = 每個slot 1,875,000字節),這個數字將達到607 TPS。通過PeerDAS,計劃是將數據塊數量目標增加到8-16個,這將使我們在calldata中達到463-926 TPS。

這相對於以太坊 L1 來說是一個重大的提升,但這還不夠。我們想要更多的可擴展性。 我們的中期目標是每個slot 16 MB,如果與匯總數據壓縮的改進相結合,將爲我們提供 〜58,000 TPS。

它是什麼,它是如何工作的?

PeerDAS是”一維採樣”的一種相對簡單的實現。以太坊中的每個數據塊都是一個253位素數域上的4096度多項式。我們廣播多項式的”份額”,每個份額由16個相鄰坐標的16個評估組成,這些坐標從總共8192個坐標中選取。8192個評估中的任意4096個(根據當前提議的參數:128個可能樣本中的任意64個)都可以恢復整個數據塊。

PeerDAS的工作原理是讓每個客戶端監聽少量子網,其中第i個子網廣播任何數據塊的第i個樣本,並通過詢問全局p2p網路中的對等節點(它們會監聽不同的子網)來獲取它需要的其他子網上的數據塊。一個更保守的版本SubnetDAS只使用子網機制,沒有額外的詢問對等節點的層。目前的提議是讓參與權益證明的節點使用SubnetDAS,而其他節點(即”客戶端”)使用PeerDAS。

理論上,我們可以將一維採樣擴展得相當遠:如果我們將數據塊數量上限增加到256(目標爲128),那麼我們將達到16 MB的目標,同時數據可用性採樣對每個節點的成本僅爲每個時隙16個樣本 128個數據塊 每個樣本每個數據塊512字節 = 1 MB的數據帶寬。這剛好在我們的容忍範圍內:可以做到,但這意味着帶寬受限的客戶端無法進行採樣。我們可以通過減少數據塊數量並增加數據塊大小來優化這一點,但這會使重構更加昂貴。

因此,我們最終想要更進一步,實現二維採樣,這種方法不僅在數據塊內進行隨機採樣,還在數據塊之間進行採樣。KZG承諾的線性特性被用來”擴展”區塊中的數據塊集合,生成一系列新的”虛擬數據塊”,這些虛擬數據塊冗餘地編碼相同的信息。

二維採樣。 來源:a16z 加密貨幣

至關重要的是,計算承諾的擴展不需要擁有數據塊,因此該方案從根本上適合分布式區塊構建。實際構建區塊的節點只需要有數據塊的KZG承諾,並且可以自己依靠DAS來驗證數據塊的可用性。一維DAS也天生適合分布式區塊構建。

與現有研究有哪些聯系?

還需要做什麼,需要權衡什麼?

當前的首要任務是完成PeerDAS的實施和推廣。之後,我們需要逐步增加PeerDAS上的數據塊數量,同時密切關注網路狀況並改進軟件以確保安全性。與此同時,我們需要更多的學術工作來正式化PeerDAS和其他版本的DAS,並研究它們與分叉選擇規則安全性等問題的相互作用。

展望未來,我們需要更多的工作來確定2D DAS的理想版本並證明其安全性。我們還希望最終從KZG遷移到一個抗量子、無需可信設置的替代方案。目前,我們還沒有找到適合分布式區塊構建的候選方案。即使是使用遞歸STARK生成行列重構有效性證明的昂貴”暴力”技術也不夠,因爲雖然理論上STARK的大小是O(log(n) * log(log(n))個哈希(使用STIR),但實際上STARK幾乎和整個數據塊一樣大。

從長遠來看,我認爲現實的路徑是:

  • 實現理想的2D DAS
  • 堅持使用1D DAS,犧牲採樣帶寬效率並接受較低的數據上限,以換取簡單性和穩健性
  • (重大轉向)放棄DA,全面擁抱Plasma作爲我們關注的主要第二層架構

我們可以將這些選擇視爲一個權衡譜系:

需要注意的是,即使我們決定直接在L1上擴展執行,這個選擇仍然存在。這是因爲如果L1要處理大量的TPS,L1區塊會變得非常大,客戶端將需要一種高效的方法來驗證它們的正確性,所以我們將不得不在L1上使用與rollups相同的技術(ZK-EVM和DAS)。

它如何與路線圖的其他部分交互?

如果實施了數據壓縮(見下文),2D DAS的需求會有所減少,或至少會推遲。如果Plasma被廣泛使用,這種需求會進一步減少。DAS還給分布式區塊構建協議和機制帶來了挑戰:雖然DAS在理論上有利於分布式重構,但在實踐中需要與包含列表提案及其周圍的分叉選擇機制相結合。

數據壓縮

我們要解決什麼問題?

rollup中的每個交易都會在鏈上佔用相當大的數據空間:一個ERC20轉帳大約需要180字節。即使採用理想的數據可用性採樣,這也會限制二層協議的可擴展性。以每個 Slot 16 MB計算,我們得到:

16000000 / 12 / 180 = 7407 TPS

如果我們不僅處理分子,還能處理分母,使rollup中的每個交易在鏈上佔用更少的字節,會怎樣呢?

它是什麼,如何運作?

我認爲最好的解釋是兩年前的 這個圖

最簡單的收益就是零字節壓縮:用兩個字節表示有多少個連續的零字節來替代長序列的零字節。爲了更進一步,我們利用交易的特定屬性:

  • 籤名聚合 - 我們從ECDSA籤名切換到BLS籤名,BLS籤名具有將多個籤名組合成一個單一籤名的特性,該籤名可以證明所有原始籤名的有效性。由於驗證的計算成本較高,即使在聚合的情況下,這不適用於L1,但在L2這樣的數據稀缺環境中,這種方法可能是有意義的。ERC-4337的聚合功能提供了實現這一點的一種途徑。
  • 用指針替換地址 - 如果一個地址之前被使用過,我們可以用4字節的指針替換20字節的地址,指向歷史記錄中的位置。這對於實現最大收益是必要的,盡管實施起來需要付出努力,因爲它要求(至少部分)區塊鏈的歷史實際上成爲狀態的一部分。
  • 交易值的自定義序列化 - 大多數交易值的數字很少,例如0.25 ETH表示爲250,000,000,000,000,000 wei。Gas最大基礎費用和優先費用也類似。因此,我們可以使用自定義的十進制浮點格式,甚至是特別常見值的字典,來非常緊湊地表示大多數貨幣值。

有哪些現有研究的連結?

還需要做什麼,需要權衡什麼?

剩下要做的主要工作就是將上述方案落到實處。主要的權衡是:

  • 切換到 BLS 籤名需要付出巨大的努力,並且會降低與可提高安全性的可信硬件芯片的兼容性。可以使用其他籤名方案的 ZK-SNARK 包裝器來替代它。
  • 動態壓縮(例如用指針替換地址)使客戶端代碼變得復雜。
  • 將狀態差異發布到鏈而不是交易會降低可審計性,並使許多軟件(例如區塊瀏覽器)無法工作。

它如何與路線圖的其他部分交互?

採用ERC-4337,並最終將其部分內容納入L2 EVM,可以大大加快聚合技術的部署。在L1上納入ERC-4337的部分內容可以加快其在L2上的部署。

廣義 Plasma

我們要解決什麼問題?

即使有16 MB的數據塊和數據壓縮,58,000 TPS(每秒交易數)不一定足以完全接管消費者支付、去中心化社交或其他高帶寬領域。特別是當我們考慮隱私因素時,可擴展性可能會下降3-8倍。對於高交易量、低價值的應用,目前的一個選擇是validium,它將數據保存在鏈下,並有一個有趣的安全模型:運營者無法竊取用戶資金,但他們可能會消失並暫時或永久凍結所有用戶的資金。但我們可以做得更好。

它是什麼以及它是如何工作的?

Plasma是一種擴展解決方案,運營者在鏈下發布區塊,並將這些區塊的Merkle根放在鏈上(與rollups不同,rollups將完整的區塊放在鏈上)。對於每個區塊,運營者向每個用戶發送一個Merkle分支,證明該用戶資產發生或未發生的情況。用戶可以通過提供Merkle分支來提取他們的資產。重要的是,這個分支不必根植於最新狀態 - 因此,即使數據可用性失敗,用戶仍然可以通過提取他們所擁有的最新可用狀態來恢復他們的資產。如果用戶提交無效分支(例如,退出已經發送給他人的資產,或運營者憑空創造資產),鏈上挑戰機制可以裁定資產應該歸屬於誰。

Plasma Cash鏈的示意圖。花費硬幣i的交易被放在樹的第i個位置。在這個例子中,假設所有先前的樹都是有效的,我們知道Eve當前擁有硬幣1,David擁有硬幣4,George擁有硬幣6。

Plasma的早期版本只能處理支付用例,無法有效地進一步推廣。然而,如果我們要求每個根都通過SNARK驗證,Plasma就變得更加強大。每個挑戰遊戲可以大大簡化,因爲我們消除了運營者作弊的大多數可能路徑。新的路徑也開放了,允許Plasma技術擴展到更廣泛的資產類別。最後,如果運營者不作弊,用戶可以立即提取他們的資金,而不需要等待一周的挑戰期。

制作 EVM 等離子鏈的一種方法(不是唯一的方法)是:使用ZK-SNARK構建一個與EVM並行的UTXO樹,反映EVM中的餘額變化,並定義不同時間點上”相同硬幣”的唯一映射。然後可以在此基礎上構建等離子體系統。

一個關鍵的見解是,等離子體系統不需要完美無缺。即使你只能保護一部分資產(例如,僅保護過去一周內未移動的硬幣),你也已經大大改善了超可擴展EVM的現狀,即validium。

另一類構造是等離子體/rollup混合體,例如Intmax。這些構造在鏈上爲每個用戶存儲很少量的數據(例如5字節),從而獲得介於等離子體和rollup之間的特性:以Intmax爲例,你可以獲得非常高的可擴展性和隱私性,盡管即使在16 MB的世界中,理論容量上限也約爲16,000,000 / 12 / 5 = 266,667 TPS(每秒交易數)。

與現有研究有哪些聯系?

還需要做什麼,需要權衡什麼?

主要剩餘的任務是將Plasma系統投入生產。如上所述,”plasma vs validium”並非二元對立:任何validium都可以通過在退出機制中添加Plasma功能來至少略微改善其安全屬性。研究部分在於爲EVM獲得最佳屬性(在信任要求、最壞情況下的L1 gas成本和對DoS的脆弱性方面),以及替代的應用特定構造。此外,Plasma相對於rollups的更大概念復雜性需要直接解決,既通過研究,也通過構建更好的通用框架。

使用Plasma設計的主要權衡是它們更依賴於運營商,並且更難做到”基於“,盡管混合plasma/rollup設計通常可以避免這個弱點。

它如何與路線圖的其他部分交互?

Plasma 解決方案越有效,L1 擁有高性能數據可用性功能的壓力就越小。將活動轉移到 L2 還可以減少 L1 上的 MEV 壓力。

成熟的 L2 證明系統

我們要解決什麼問題?

如今,大多數匯總實際上還不是去信任的;有一個安全理事會有能力推翻(樂觀或有效性)的行爲 證明系統。在某些情況下,證明系統甚至根本不存在,或者即使存在也僅具有“諮詢”功能。最領先的是 (i) 一些特定於應用程序的匯總,例如 Fuel,它們是去信任的,以及 (ii) 截至撰寫本文時,Optimism 和 Arbitrum,這兩個完整的 EVM 匯總已經實現了部分去信任裏程碑稱爲“第一階段”。 Rollups 沒有進一步發展的原因是擔心代碼中的 bug。我們需要去信任的匯總,因此我們需要正面解決這個問題。

它是什麼以及它是如何工作的?

首先,讓我們回顧一下”階段”系統,這個概念最初是在這篇文章中提出的。雖然有更詳細的要求,但概括如下:

  • 第0階段:用戶必須能夠運行節點並同步鏈。此時驗證可以是完全信任/中心化的。
  • 第1階段:必須有一個(無需信任的)證明系統,確保只有有效的交易才能被接受。允許存在一個安全委員會可以覆蓋證明系統,但需要75%的投票閾值。此外,委員會中至少26%的成員必須來自開發擴容方案的主要公司之外。允許存在一個具有較弱功能的升級機制(如DAO),但它必須有足夠長的延遲,以便在批準惡意升級時,用戶能在升級生效前提取資金。
  • 第2階段:必須有一個(無需信任的)證明系統,確保只有有效的交易才能被接受。安全委員會只允許在代碼出現可證明的bug時介入,例如,當兩個冗餘證明系統不一致,或者一個證明系統接受了同一區塊的兩個不同的後狀態根(或在足夠長的時間內,如一周,沒有接受任何狀態)。允許存在升級機制,但必須有非常長的延遲。

目標是達到第2階段。達到第2階段的主要挑戰是獲得足夠的信心,確保證明系統真的足夠可信。有兩種主要方法可以做到這一點:

  • 形式驗證:我們可以使用現代數學和計算技術來證明(樂觀或有效性)證明系統只接受通過EVM規範的區塊。這些技術已經存在了幾十年,但最近的進展,如Lean 4,使它們變得更加實用,而AI輔助證明的進展可能會進一步加速這一趨勢。
  • 多重證明者:創建多個證明系統,並將資金放入這些證明系統和安全委員會(和/或其他具有信任假設的工具,如可信執行環境TEEs)之間的2-of-3(或更大)多重籤名中。如果證明系統達成一致,安全委員會就沒有權力;如果它們不一致,安全委員會只能在它們之間選擇一個,而不能單方面強加自己的答案。

多重證明者的示意圖,結合了一個樂觀證明系統、一個有效性證明系統和一個安全委員會。

與現有研究有哪些聯系?

還需要做什麼,需要權衡什麼?

對於形式驗證,還有很多工作要做。我們需要創建一個完整的EVM SNARK證明器的形式驗證版本。這是一個極其復雜的項目,盡管我們已經開始了。有一個技巧可以顯著簡化這個任務:我們可以爲一個最小化的虛擬機(如RISC-VCairo)創建一個經過形式驗證的SNARK證明器,然後在該最小化虛擬機中編寫EVM的實現(並正式證明其與其他EVM規範的等價性)。

對於多重證明者,還有兩個主要的待完成部分。首先,我們需要對至少兩個不同的證明系統建立足夠的信心,確保它們各自都是合理安全的,並且如果它們出現故障,會因不同且無關的原因而故障(因此不會同時失效)。其次,我們需要對合並證明系統的底層邏輯獲得非常高水平的保證。這是一個更小的代碼部分。有些方法可以使其變得非常小——只需將資金存儲在一個Safe多重籤名合約中,其籤名者是代表各個證明系統的合約——但這會帶來鏈上gas成本高的權衡。需要在效率和安全性之間找到平衡。

它如何與路線圖的其他部分交互?

將活動轉移到二層網路可以減少一層網路上的MEV(最大可提取價值)壓力。

跨 L2 互操作性改進

我們要解決什麼問題?

當前二層網路生態系統的一個主要挑戰是用戶難以導航。此外,最簡單的使用方式往往會重新引入信任假設:中心化橋接、RPC客戶端等。如果我們認真對待二層網路是以太坊一部分的想法,我們需要讓使用二層網路生態系統感覺就像使用一個統一的以太坊生態系統。

這裏有一個病態且危險的跨二層網路用戶體驗示例(我個人因鏈選擇錯誤在這裏損失了100美元)- 盡管這不是Polymarket的錯,跨二層網路互操作性應該是錢包和以太坊標準(ERC)社區的責任。在一個運作良好的以太坊生態系統中,從一層網路發送代幣到二層網路,或從一個二層網路發送到另一個,應該感覺就像在同一個一層網路內發送代幣一樣。

它是什麼以及它是如何工作的?

有許多類別的跨二層網路互操作性改進。通常,提出這些改進的方法是注意到理論上,以rollup爲中心的以太坊與一層執行分片是一回事,然後問當前以太坊二層網路生態系統在實踐中與這個理想有何不足。以下是一些例子:

  • 鏈特定地址:鏈(一層網路、Optimism、Arbitrum…)應該是地址的一部分。一旦實施,跨二層網路發送流程可以通過將地址放入”發送”字段來實現,此時錢包可以在後臺確定如何進行發送(包括使用橋接協議)。
  • 鏈特定支付請求:應該容易且標準化地創建形如”在Z鏈上向我發送Y類型的X代幣”的消息。這有兩個主要用例:(i) 支付,無論是個人對個人還是個人對商戶服務,以及 (ii) dapps請求資金,例如上面的Polymarket示例。
  • 跨鏈交換和gas支付:應該有一個標準化的開放協議來表達跨鏈操作,如”我在Optimism上發送1 ETH給任何在Arbitrum上向我發送0.9999 ETH的人”,以及”我在Optimism上發送0.0001 ETH給任何在Arbitrum上包含此交易的人”。ERC-7683是前者的一種嘗試,而RIP-7755是後者的一種嘗試,盡管兩者都比這些特定用例更爲通用。
  • 輕客戶端:用戶應該能夠實際驗證他們正在交互的鏈,而不僅僅是信任RPC提供商。A16z crypto的Helios爲以太坊本身做到了這一點,但我們需要將這種無需信任擴展到二層網路。 ERC-3668 (CCIP-read)是實現這一點的一種策略。

輕客戶端如何更新其對以太坊頭鏈的視圖。一旦你有了頭鏈,你就可以使用默克爾證明來驗證任何狀態對象。一旦你有了正確的一層網路狀態對象,你就可以使用默克爾證明(如果你想檢查預確認,可能還需要籤名)來驗證二層網路上的任何狀態對象。Helios已經實現了前者。將其擴展到後者是一個標準化挑戰。

  • 密鑰庫錢包:今天,如果你想更新控制你的智能合約錢包的密鑰,你必須在該錢包存在的所有N條鏈上都進行更新。密鑰庫錢包是一種技術,允許密鑰存在於一個地方(可能是在一層網路上,或者後來可能在二層網路上),然後可以從任何有該錢包副本的二層網路讀取。這意味着更新只需要進行一次。爲了高效,密鑰庫錢包需要二層網路有一種標準化的方式來無成本地讀取一層網路;L1SLOADREMOTESTATICCALL是兩個這樣的提議。

密鑰庫錢包如何工作的簡化圖示。

  • 更激進的”共享代幣橋”想法:想象一個所有二層網路都是有效性證明rollup的世界,它們每個時隙都向以太坊提交。即使在這個世界裏,從一個二層網路移動資產到另一個二層網路”原生地”也需要提取和存款,這需要支付大量的一層網路gas費。解決這個問題的一種方法是創建一個共享的最小rollup,其唯一功能是維護每個二層網路擁有哪些類型和數量的代幣的餘額,並允許這些餘額通過任何二層網路發起的一系列跨二層網路發送操作批量更新。這將允許跨二層網路轉帳發生,而無需爲每次轉帳支付一層網路gas費,也無需像ERC-7683那樣基於流動性提供者的技術。
  • 同步可組合性:允許同步調用發生在特定的二層網路和一層網路之間,或者在多個二層網路之間。這可能有助於提高去中心化金融協議的金融效率。前者可以在不需要跨二層網路協調的情況下完成;後者將需要共享排序基於rollup自動友好於所有這些技術。

與現有研究有哪些聯系?

還需要做什麼,需要權衡什麼?

上述許多例子都面臨着何時標準化以及在哪些層面上標準化的常見困境。如果過早標準化,你可能會固化一個劣質解決方案。如果標準化太晚,你可能會造成不必要的碎片化。在某些情況下,既有短期解決方案(屬性較弱但易於實施),也有長期解決方案(”最終正確”但需要幾年時間才能實現)。

這一部分的獨特之處在於,這些任務不僅僅是技術問題:它們也是(甚至可能主要是!)社會問題。它們需要二層網路、錢包和一層網路的合作。我們能否成功處理這個問題,是對我們作爲一個社區團結一致能力的考驗。

它如何與路線圖的其他部分交互?

這些提案大多是”高層”構造,因此不會對一層網路考慮產生重大影響。一個例外是共享排序,它對MEV(最大可提取價值)有重大影響。

在 L1 網路上擴展執行

我們要解決什麼問題?

如果 L2 變得非常可擴展且成功,但 L1 仍然只能處理非常少量的交易,那麼以太坊可能會出現許多風險:

  1. ETH 資產的經濟狀況變得更加危險,進而影響網路的長期安全。
  2. 許多L2受益於與L1上高度發達的金融生態系統的緊密聯系,如果這個生態系統大大削弱,成爲L2(而不是獨立的L1)的動力就會減弱
  3. L2 需要很長時間才能擁有與 L1 完全相同的安全保證。
  4. 如果一個二層網路失敗(例如由於惡意或消失的運營商),用戶仍然需要通過一層網路來恢復他們的資產。因此,一層網路需要足夠強大,至少能夠偶爾處理二層網路高度復雜和混亂的清算。

出於這些原因,繼續擴展 L1 本身並確保它能夠繼續適應越來越多的用途是很有價值的。

它是什麼以及它是如何工作的?

擴展以太坊最簡單的方法是直接提高gas限制。然而,這可能會導致L1層中心化,從而削弱以太坊L1最強大的特性之一:作爲穩健基礎層的可信度。關於多大程度的gas限制提升是可持續的,目前仍存在爭議。這個問題還會隨着其他使大區塊更易驗證的技術(如歷史過期、無狀態性、L1 EVM有效性證明等)的實施而變化。另一個需要持續改進的重要方面是以太坊客戶端軟件的效率,現在的效率已經比五年前高得多。一個有效的L1 gas限制提升策略應該包括加速這些驗證技術的發展。

另一種擴展策略是識別特定功能和計算類型,在不損害網路去中心化或安全性的前提下降低其成本。例如:

  • EOF - 一種新的EVM字節碼格式,更便於靜態分析,允許更快的實現。EOF字節碼可以被賦予更低的gas成本以反映這些效率。
  • 多維gas定價 - 爲計算、數據和存儲建立單獨的基礎費用和限制,可以增加以太坊L1的平均容量,而不增加其最大容量(從而避免產生新的安全風險)。
  • 減少特定操作碼和預編譯的 Gas 成本 - 從歷史上看,我們曾經有過 一些 回合增加 氣體 成本 對於某些操作 價格過低的 以避免拒絕服務攻擊。我們擁有的更少,但可以做得更多的是 減少 運營的天然氣成本是 價格過高。例如,加法比乘法便宜得多,但是 添加 和 我有 操作碼目前是相同的。我們可以做 添加 更便宜,甚至更簡單的操作碼,例如 推 甚至更便宜。
  • EVM-MAXSIMD:EVM-MAX(”模運算擴展”)是一項允許更高效的原生大數模運算作爲EVM單獨模塊的提案。除非特意導出,否則EVM-MAX計算的值只能被其他EVM-MAX操作碼訪問;這允許以優化格式存儲這些值。SIMD(”單指令多數據”)是一項允許在一組值上高效執行相同指令的提案。這兩者結合可以在EVM旁邊創建一個強大的協處理器,可以用來更高效地實現加密操作。這對隱私協議和L2證明系統特別有用,因此可以幫助L1和L2的擴展。

這些改進將在以後關於 Splurge 的文章中更詳細地討論。

最後,第三個策略是 原生匯總 (或“enshrined rollups”):本質上,創建並行運行的 EVM 的許多副本,從而形成一個與 rollups 可以提供的模型等效的模型,但更原生地集成到協議中。

與現有研究有哪些聯系?

還需要做什麼,需要權衡什麼?

L1 擴展有三種策略,可以單獨或並行執行:

  • 改進技術(例如客戶端代碼、無狀態客戶端、歷史記錄過期) 讓L1更容易驗證, 進而 提高氣體限制
  • 使特定操作更便宜,在不增加最壞情況風險的情況下增加平均容量
  • 原生匯總 (即“創建 EVM 的 N 個並行副本”,盡管可能爲開發人員在部署副本的參數方面提供了很大的靈活性)

值得理解的是,這些是不同的技術,有不同的權衡。例如,原生rollups在可組合性方面有許多與普通rollups相同的弱點:你不能發送一個單一的交易在多個rollups之間同步執行操作,就像你可以在同一個L1(或L2)上的合約那樣。提高gas限制會減少通過使L1更容易驗證而可能獲得的其他好處,如增加運行驗證節點的用戶比例和增加單獨質押者。降低EVM中特定操作的成本,取決於具體實施方式,可能會增加EVM的總體復雜性。

任何 L1 擴展路線圖都需要回答的一個大問題是: L1 和 L2 的最終願景是什麼?顯然,這是荒謬的 一切 繼續 L1:潛在的用例每秒有數十萬個事務,這將使 L1 完全無法驗證(除非我們採用本機匯總路線)。但我們確實需要 一些 指導原則,這樣我們就可以確保我們不會造成這樣的情況:我們將 Gas 限制提高 10 倍,嚴重損害以太坊 L1 的去中心化,並發現我們只是進入了一個 99% 的活動都在在 L2 上,90% 的活動都在 L2 上,因此結果看起來幾乎相同,除了以太坊 L1 特殊之處的大部分不可逆轉的損失。

一種關於 L1 和 L2 之間“分工”的提議觀點, 來源

它如何與路線圖的其他部分交互?

將更多用戶帶到L1意味着不僅要改善規模,還要改善L1的其他方面。這意味着更多的MEV(最大可提取價值)將留在L1上(而不是僅成爲L2的問題),因此將更加迫切需要明確處理它。這大大增加了在L1上擁有快速時隙時間的價值。它也高度依賴於L1的驗證(”the Verge”)進展順利。

聲明:

  1. 本文轉載自[維塔利克·布特林)],所有版權歸原作者所有[維塔利克·布特林]。若對本次轉載有異議,請聯系Gate Learn團隊,他們會及時處理。
  2. 免責聲明:本文所表達的觀點和意見僅代表作者個人觀點,不構成任何投資建議。
  3. Gate Learn 團隊將文章翻譯成其他語言。除非另有說明,否則禁止復制、分發或抄襲翻譯文章。

以太坊的可能未來,第 2 部分:擴容(Surge)

進階10/22/2024, 4:38:46 AM
以太坊的擴容策略經歷了從分片和二層協議到以rollup爲中心的演變。目前的路線圖提出了L1和L2的分工:L1作爲穩健的基礎層,L2負責生態系統擴展。最近的成果包括EIP-4844 blobs增加了L1數據帶寬,多個EVM rollups達到第1階段。未來目標包括實現100,000+ TPS,保持L1去中心化,確保部分L2繼承以太坊核心屬性,以及最大化L2間互操作性。重點研究方向包括數據可用性採樣、數據壓縮和跨L2互操作性等。

在最初,以太坊的路線圖中有兩種擴容策略。一種(例如,參見2015年的這篇早期論文)是”分片”:每個節點只需要驗證和存儲一小部分交易,而不是驗證和存儲鏈上的所有交易。這也是其他點對點網路(如BitTorrent)的工作方式,所以我們自然可以讓區塊鏈以同樣的方式工作。另一種是二層協議:這些網路位於以太坊之上,能夠充分受益於以太坊的安全性,同時將大部分數據和計算保持在主鏈之外。”二層協議”在2015年指的是狀態通道,在2017年指的是Plasma,然後在2019年指的是rollups。Rollups比狀態通道或Plasma更強大,但它們需要大量的鏈上數據帶寬。幸運的是,到2019年,分片研究已經解決了大規模驗證”數據可用性”的問題。因此,這兩條路徑匯合了,我們得到了以rollup爲中心的路線圖,這仍然是以太坊目前的擴容策略。

The Surge,2023 年路線圖版。

以rollup爲中心的路線圖提出了一個簡單的分工:以太坊L1專注於成爲一個強大和去中心化的基礎層,而L2則承擔幫助生態系統擴展的任務。這是一種在社會各處都能看到的模式:法院系統(L1)並不是爲了超快和高效而存在,它是爲了保護合同和財產權,而企業家(L2)則在這個堅實基礎層之上建設,將人類帶到(比喻和字面意義上的)火星。

今年,以rollup爲中心的路線圖已經取得了重要成果:以太坊L1的數據帶寬通過EIP-4844 blobs大幅增加,多個EVM rollups現在已經處於第1階段。一種非常異構和多元化的分片實現已經成爲現實,每個L2都作爲一個”分片”運作,有自己的內部規則和邏輯。但正如我們所見,走這條路也帶來了一些獨特的挑戰。因此,我們現在的任務是完成以rollup爲中心的路線圖,解決這些問題,同時保持使以太坊L1特別的穩健性和去中心化。

The Surge (擴容):關鍵目標

  • 在L1+L2上實現100,000+的每秒交易量(TPS)
  • 保持L1的去中心化和穩健性
  • 至少有一些L2完全繼承以太坊的核心屬性(無需信任、開放、抗審查)
  • L2之間實現最大程度的互操作性。以太坊應該感覺像一個生態系統,而不是34個不同的區塊鏈

在本章中

旁白:可擴展性的三難困境

可擴展性三難困境是2017年提出的一個概念,它指出區塊鏈的三個屬性之間存在矛盾:去中心化(具體來說:運行節點的低成本)、可擴展性(具體來說:高交易處理量)和安全性(具體來說:攻擊者需要破壞網路中大部分節點才能使單個交易失敗)。

值得注意的是,這個三難困境並非一個定理,介紹它的文章也沒有提供數學證明。但文章給出了一個啓發性的數學論證:如果一個支持去中心化的節點(如普通筆記本電腦)每秒可以驗證N筆交易,而你有一個每秒處理k*N筆交易的鏈,那麼要麼(i)每筆交易只被1/k的節點看到,這意味着攻擊者只需破壞少數節點就能推送一筆壞交易,要麼(ii)你的節點需要很強大,導致你的鏈不再去中心化。這篇文章的目的不是證明打破三難困境是不可能的,而是表明打破三難困境很難——它需要某種方式跳出論證所暗示的框框。

多年來,一些高性能鏈常常聲稱他們在不做任何基礎架構層面創新的情況下解決了三難困境,通常是通過使用軟件工程技巧來優化節點。這總是具有誤導性的,在這些鏈上運行節點最終總是比在以太坊上困難得多。這篇文章深入探討了爲什麼會這樣的諸多微妙之處(因此,爲什麼僅靠L1客戶端軟件工程無法擴展以太坊本身)。

然而,數據可用性採樣和SNARKs的結合確實解決了三難困境:它允許客戶端驗證某些數據的可用性,並正確執行一定數量的計算步驟,同時只下載少量數據並運行少量計算。SNARKs是無需信任的。數據可用性採樣有一個微妙的N中少數信任模型,但它保留了不可擴展鏈的基本屬性,即即使51%攻擊也無法強制網路接受壞區塊。

解決三難困境的另一種方式是 Plasma 架構,它使用巧妙的技術,以激勵兼容的方式將監視數據可用性的責任推給用戶。在2017-2019年,當我們只有欺詐證明來擴展計算時,Plasma在安全操作方面非常有限,但SNARKs的主流化使Plasma架構對更廣泛的用例變得更加可行

數據可用性採樣的進一步進展

我們在解決什麼問題?

自2024年3月13日Dencun升級上線以來,以太坊區塊鏈每12秒的 slot (時隙)中包含三個約125 kB的”數據塊”,即每個 slot 約375 kB的數據可用性帶寬。假設交易數據直接在鏈上發布,一筆ERC20轉帳約需180字節,那麼以太坊上rollups的最大每秒交易量(TPS)爲:

375000 / 12 / 180 = 173.6 TPS (每秒處理量)

如果我們加上以太坊的calldata(理論最大值:每個 slot 30百萬gas / 每字節16 gas = 每個slot 1,875,000字節),這個數字將達到607 TPS。通過PeerDAS,計劃是將數據塊數量目標增加到8-16個,這將使我們在calldata中達到463-926 TPS。

這相對於以太坊 L1 來說是一個重大的提升,但這還不夠。我們想要更多的可擴展性。 我們的中期目標是每個slot 16 MB,如果與匯總數據壓縮的改進相結合,將爲我們提供 〜58,000 TPS。

它是什麼,它是如何工作的?

PeerDAS是”一維採樣”的一種相對簡單的實現。以太坊中的每個數據塊都是一個253位素數域上的4096度多項式。我們廣播多項式的”份額”,每個份額由16個相鄰坐標的16個評估組成,這些坐標從總共8192個坐標中選取。8192個評估中的任意4096個(根據當前提議的參數:128個可能樣本中的任意64個)都可以恢復整個數據塊。

PeerDAS的工作原理是讓每個客戶端監聽少量子網,其中第i個子網廣播任何數據塊的第i個樣本,並通過詢問全局p2p網路中的對等節點(它們會監聽不同的子網)來獲取它需要的其他子網上的數據塊。一個更保守的版本SubnetDAS只使用子網機制,沒有額外的詢問對等節點的層。目前的提議是讓參與權益證明的節點使用SubnetDAS,而其他節點(即”客戶端”)使用PeerDAS。

理論上,我們可以將一維採樣擴展得相當遠:如果我們將數據塊數量上限增加到256(目標爲128),那麼我們將達到16 MB的目標,同時數據可用性採樣對每個節點的成本僅爲每個時隙16個樣本 128個數據塊 每個樣本每個數據塊512字節 = 1 MB的數據帶寬。這剛好在我們的容忍範圍內:可以做到,但這意味着帶寬受限的客戶端無法進行採樣。我們可以通過減少數據塊數量並增加數據塊大小來優化這一點,但這會使重構更加昂貴。

因此,我們最終想要更進一步,實現二維採樣,這種方法不僅在數據塊內進行隨機採樣,還在數據塊之間進行採樣。KZG承諾的線性特性被用來”擴展”區塊中的數據塊集合,生成一系列新的”虛擬數據塊”,這些虛擬數據塊冗餘地編碼相同的信息。

二維採樣。 來源:a16z 加密貨幣

至關重要的是,計算承諾的擴展不需要擁有數據塊,因此該方案從根本上適合分布式區塊構建。實際構建區塊的節點只需要有數據塊的KZG承諾,並且可以自己依靠DAS來驗證數據塊的可用性。一維DAS也天生適合分布式區塊構建。

與現有研究有哪些聯系?

還需要做什麼,需要權衡什麼?

當前的首要任務是完成PeerDAS的實施和推廣。之後,我們需要逐步增加PeerDAS上的數據塊數量,同時密切關注網路狀況並改進軟件以確保安全性。與此同時,我們需要更多的學術工作來正式化PeerDAS和其他版本的DAS,並研究它們與分叉選擇規則安全性等問題的相互作用。

展望未來,我們需要更多的工作來確定2D DAS的理想版本並證明其安全性。我們還希望最終從KZG遷移到一個抗量子、無需可信設置的替代方案。目前,我們還沒有找到適合分布式區塊構建的候選方案。即使是使用遞歸STARK生成行列重構有效性證明的昂貴”暴力”技術也不夠,因爲雖然理論上STARK的大小是O(log(n) * log(log(n))個哈希(使用STIR),但實際上STARK幾乎和整個數據塊一樣大。

從長遠來看,我認爲現實的路徑是:

  • 實現理想的2D DAS
  • 堅持使用1D DAS,犧牲採樣帶寬效率並接受較低的數據上限,以換取簡單性和穩健性
  • (重大轉向)放棄DA,全面擁抱Plasma作爲我們關注的主要第二層架構

我們可以將這些選擇視爲一個權衡譜系:

需要注意的是,即使我們決定直接在L1上擴展執行,這個選擇仍然存在。這是因爲如果L1要處理大量的TPS,L1區塊會變得非常大,客戶端將需要一種高效的方法來驗證它們的正確性,所以我們將不得不在L1上使用與rollups相同的技術(ZK-EVM和DAS)。

它如何與路線圖的其他部分交互?

如果實施了數據壓縮(見下文),2D DAS的需求會有所減少,或至少會推遲。如果Plasma被廣泛使用,這種需求會進一步減少。DAS還給分布式區塊構建協議和機制帶來了挑戰:雖然DAS在理論上有利於分布式重構,但在實踐中需要與包含列表提案及其周圍的分叉選擇機制相結合。

數據壓縮

我們要解決什麼問題?

rollup中的每個交易都會在鏈上佔用相當大的數據空間:一個ERC20轉帳大約需要180字節。即使採用理想的數據可用性採樣,這也會限制二層協議的可擴展性。以每個 Slot 16 MB計算,我們得到:

16000000 / 12 / 180 = 7407 TPS

如果我們不僅處理分子,還能處理分母,使rollup中的每個交易在鏈上佔用更少的字節,會怎樣呢?

它是什麼,如何運作?

我認爲最好的解釋是兩年前的 這個圖

最簡單的收益就是零字節壓縮:用兩個字節表示有多少個連續的零字節來替代長序列的零字節。爲了更進一步,我們利用交易的特定屬性:

  • 籤名聚合 - 我們從ECDSA籤名切換到BLS籤名,BLS籤名具有將多個籤名組合成一個單一籤名的特性,該籤名可以證明所有原始籤名的有效性。由於驗證的計算成本較高,即使在聚合的情況下,這不適用於L1,但在L2這樣的數據稀缺環境中,這種方法可能是有意義的。ERC-4337的聚合功能提供了實現這一點的一種途徑。
  • 用指針替換地址 - 如果一個地址之前被使用過,我們可以用4字節的指針替換20字節的地址,指向歷史記錄中的位置。這對於實現最大收益是必要的,盡管實施起來需要付出努力,因爲它要求(至少部分)區塊鏈的歷史實際上成爲狀態的一部分。
  • 交易值的自定義序列化 - 大多數交易值的數字很少,例如0.25 ETH表示爲250,000,000,000,000,000 wei。Gas最大基礎費用和優先費用也類似。因此,我們可以使用自定義的十進制浮點格式,甚至是特別常見值的字典,來非常緊湊地表示大多數貨幣值。

有哪些現有研究的連結?

還需要做什麼,需要權衡什麼?

剩下要做的主要工作就是將上述方案落到實處。主要的權衡是:

  • 切換到 BLS 籤名需要付出巨大的努力,並且會降低與可提高安全性的可信硬件芯片的兼容性。可以使用其他籤名方案的 ZK-SNARK 包裝器來替代它。
  • 動態壓縮(例如用指針替換地址)使客戶端代碼變得復雜。
  • 將狀態差異發布到鏈而不是交易會降低可審計性,並使許多軟件(例如區塊瀏覽器)無法工作。

它如何與路線圖的其他部分交互?

採用ERC-4337,並最終將其部分內容納入L2 EVM,可以大大加快聚合技術的部署。在L1上納入ERC-4337的部分內容可以加快其在L2上的部署。

廣義 Plasma

我們要解決什麼問題?

即使有16 MB的數據塊和數據壓縮,58,000 TPS(每秒交易數)不一定足以完全接管消費者支付、去中心化社交或其他高帶寬領域。特別是當我們考慮隱私因素時,可擴展性可能會下降3-8倍。對於高交易量、低價值的應用,目前的一個選擇是validium,它將數據保存在鏈下,並有一個有趣的安全模型:運營者無法竊取用戶資金,但他們可能會消失並暫時或永久凍結所有用戶的資金。但我們可以做得更好。

它是什麼以及它是如何工作的?

Plasma是一種擴展解決方案,運營者在鏈下發布區塊,並將這些區塊的Merkle根放在鏈上(與rollups不同,rollups將完整的區塊放在鏈上)。對於每個區塊,運營者向每個用戶發送一個Merkle分支,證明該用戶資產發生或未發生的情況。用戶可以通過提供Merkle分支來提取他們的資產。重要的是,這個分支不必根植於最新狀態 - 因此,即使數據可用性失敗,用戶仍然可以通過提取他們所擁有的最新可用狀態來恢復他們的資產。如果用戶提交無效分支(例如,退出已經發送給他人的資產,或運營者憑空創造資產),鏈上挑戰機制可以裁定資產應該歸屬於誰。

Plasma Cash鏈的示意圖。花費硬幣i的交易被放在樹的第i個位置。在這個例子中,假設所有先前的樹都是有效的,我們知道Eve當前擁有硬幣1,David擁有硬幣4,George擁有硬幣6。

Plasma的早期版本只能處理支付用例,無法有效地進一步推廣。然而,如果我們要求每個根都通過SNARK驗證,Plasma就變得更加強大。每個挑戰遊戲可以大大簡化,因爲我們消除了運營者作弊的大多數可能路徑。新的路徑也開放了,允許Plasma技術擴展到更廣泛的資產類別。最後,如果運營者不作弊,用戶可以立即提取他們的資金,而不需要等待一周的挑戰期。

制作 EVM 等離子鏈的一種方法(不是唯一的方法)是:使用ZK-SNARK構建一個與EVM並行的UTXO樹,反映EVM中的餘額變化,並定義不同時間點上”相同硬幣”的唯一映射。然後可以在此基礎上構建等離子體系統。

一個關鍵的見解是,等離子體系統不需要完美無缺。即使你只能保護一部分資產(例如,僅保護過去一周內未移動的硬幣),你也已經大大改善了超可擴展EVM的現狀,即validium。

另一類構造是等離子體/rollup混合體,例如Intmax。這些構造在鏈上爲每個用戶存儲很少量的數據(例如5字節),從而獲得介於等離子體和rollup之間的特性:以Intmax爲例,你可以獲得非常高的可擴展性和隱私性,盡管即使在16 MB的世界中,理論容量上限也約爲16,000,000 / 12 / 5 = 266,667 TPS(每秒交易數)。

與現有研究有哪些聯系?

還需要做什麼,需要權衡什麼?

主要剩餘的任務是將Plasma系統投入生產。如上所述,”plasma vs validium”並非二元對立:任何validium都可以通過在退出機制中添加Plasma功能來至少略微改善其安全屬性。研究部分在於爲EVM獲得最佳屬性(在信任要求、最壞情況下的L1 gas成本和對DoS的脆弱性方面),以及替代的應用特定構造。此外,Plasma相對於rollups的更大概念復雜性需要直接解決,既通過研究,也通過構建更好的通用框架。

使用Plasma設計的主要權衡是它們更依賴於運營商,並且更難做到”基於“,盡管混合plasma/rollup設計通常可以避免這個弱點。

它如何與路線圖的其他部分交互?

Plasma 解決方案越有效,L1 擁有高性能數據可用性功能的壓力就越小。將活動轉移到 L2 還可以減少 L1 上的 MEV 壓力。

成熟的 L2 證明系統

我們要解決什麼問題?

如今,大多數匯總實際上還不是去信任的;有一個安全理事會有能力推翻(樂觀或有效性)的行爲 證明系統。在某些情況下,證明系統甚至根本不存在,或者即使存在也僅具有“諮詢”功能。最領先的是 (i) 一些特定於應用程序的匯總,例如 Fuel,它們是去信任的,以及 (ii) 截至撰寫本文時,Optimism 和 Arbitrum,這兩個完整的 EVM 匯總已經實現了部分去信任裏程碑稱爲“第一階段”。 Rollups 沒有進一步發展的原因是擔心代碼中的 bug。我們需要去信任的匯總,因此我們需要正面解決這個問題。

它是什麼以及它是如何工作的?

首先,讓我們回顧一下”階段”系統,這個概念最初是在這篇文章中提出的。雖然有更詳細的要求,但概括如下:

  • 第0階段:用戶必須能夠運行節點並同步鏈。此時驗證可以是完全信任/中心化的。
  • 第1階段:必須有一個(無需信任的)證明系統,確保只有有效的交易才能被接受。允許存在一個安全委員會可以覆蓋證明系統,但需要75%的投票閾值。此外,委員會中至少26%的成員必須來自開發擴容方案的主要公司之外。允許存在一個具有較弱功能的升級機制(如DAO),但它必須有足夠長的延遲,以便在批準惡意升級時,用戶能在升級生效前提取資金。
  • 第2階段:必須有一個(無需信任的)證明系統,確保只有有效的交易才能被接受。安全委員會只允許在代碼出現可證明的bug時介入,例如,當兩個冗餘證明系統不一致,或者一個證明系統接受了同一區塊的兩個不同的後狀態根(或在足夠長的時間內,如一周,沒有接受任何狀態)。允許存在升級機制,但必須有非常長的延遲。

目標是達到第2階段。達到第2階段的主要挑戰是獲得足夠的信心,確保證明系統真的足夠可信。有兩種主要方法可以做到這一點:

  • 形式驗證:我們可以使用現代數學和計算技術來證明(樂觀或有效性)證明系統只接受通過EVM規範的區塊。這些技術已經存在了幾十年,但最近的進展,如Lean 4,使它們變得更加實用,而AI輔助證明的進展可能會進一步加速這一趨勢。
  • 多重證明者:創建多個證明系統,並將資金放入這些證明系統和安全委員會(和/或其他具有信任假設的工具,如可信執行環境TEEs)之間的2-of-3(或更大)多重籤名中。如果證明系統達成一致,安全委員會就沒有權力;如果它們不一致,安全委員會只能在它們之間選擇一個,而不能單方面強加自己的答案。

多重證明者的示意圖,結合了一個樂觀證明系統、一個有效性證明系統和一個安全委員會。

與現有研究有哪些聯系?

還需要做什麼,需要權衡什麼?

對於形式驗證,還有很多工作要做。我們需要創建一個完整的EVM SNARK證明器的形式驗證版本。這是一個極其復雜的項目,盡管我們已經開始了。有一個技巧可以顯著簡化這個任務:我們可以爲一個最小化的虛擬機(如RISC-VCairo)創建一個經過形式驗證的SNARK證明器,然後在該最小化虛擬機中編寫EVM的實現(並正式證明其與其他EVM規範的等價性)。

對於多重證明者,還有兩個主要的待完成部分。首先,我們需要對至少兩個不同的證明系統建立足夠的信心,確保它們各自都是合理安全的,並且如果它們出現故障,會因不同且無關的原因而故障(因此不會同時失效)。其次,我們需要對合並證明系統的底層邏輯獲得非常高水平的保證。這是一個更小的代碼部分。有些方法可以使其變得非常小——只需將資金存儲在一個Safe多重籤名合約中,其籤名者是代表各個證明系統的合約——但這會帶來鏈上gas成本高的權衡。需要在效率和安全性之間找到平衡。

它如何與路線圖的其他部分交互?

將活動轉移到二層網路可以減少一層網路上的MEV(最大可提取價值)壓力。

跨 L2 互操作性改進

我們要解決什麼問題?

當前二層網路生態系統的一個主要挑戰是用戶難以導航。此外,最簡單的使用方式往往會重新引入信任假設:中心化橋接、RPC客戶端等。如果我們認真對待二層網路是以太坊一部分的想法,我們需要讓使用二層網路生態系統感覺就像使用一個統一的以太坊生態系統。

這裏有一個病態且危險的跨二層網路用戶體驗示例(我個人因鏈選擇錯誤在這裏損失了100美元)- 盡管這不是Polymarket的錯,跨二層網路互操作性應該是錢包和以太坊標準(ERC)社區的責任。在一個運作良好的以太坊生態系統中,從一層網路發送代幣到二層網路,或從一個二層網路發送到另一個,應該感覺就像在同一個一層網路內發送代幣一樣。

它是什麼以及它是如何工作的?

有許多類別的跨二層網路互操作性改進。通常,提出這些改進的方法是注意到理論上,以rollup爲中心的以太坊與一層執行分片是一回事,然後問當前以太坊二層網路生態系統在實踐中與這個理想有何不足。以下是一些例子:

  • 鏈特定地址:鏈(一層網路、Optimism、Arbitrum…)應該是地址的一部分。一旦實施,跨二層網路發送流程可以通過將地址放入”發送”字段來實現,此時錢包可以在後臺確定如何進行發送(包括使用橋接協議)。
  • 鏈特定支付請求:應該容易且標準化地創建形如”在Z鏈上向我發送Y類型的X代幣”的消息。這有兩個主要用例:(i) 支付,無論是個人對個人還是個人對商戶服務,以及 (ii) dapps請求資金,例如上面的Polymarket示例。
  • 跨鏈交換和gas支付:應該有一個標準化的開放協議來表達跨鏈操作,如”我在Optimism上發送1 ETH給任何在Arbitrum上向我發送0.9999 ETH的人”,以及”我在Optimism上發送0.0001 ETH給任何在Arbitrum上包含此交易的人”。ERC-7683是前者的一種嘗試,而RIP-7755是後者的一種嘗試,盡管兩者都比這些特定用例更爲通用。
  • 輕客戶端:用戶應該能夠實際驗證他們正在交互的鏈,而不僅僅是信任RPC提供商。A16z crypto的Helios爲以太坊本身做到了這一點,但我們需要將這種無需信任擴展到二層網路。 ERC-3668 (CCIP-read)是實現這一點的一種策略。

輕客戶端如何更新其對以太坊頭鏈的視圖。一旦你有了頭鏈,你就可以使用默克爾證明來驗證任何狀態對象。一旦你有了正確的一層網路狀態對象,你就可以使用默克爾證明(如果你想檢查預確認,可能還需要籤名)來驗證二層網路上的任何狀態對象。Helios已經實現了前者。將其擴展到後者是一個標準化挑戰。

  • 密鑰庫錢包:今天,如果你想更新控制你的智能合約錢包的密鑰,你必須在該錢包存在的所有N條鏈上都進行更新。密鑰庫錢包是一種技術,允許密鑰存在於一個地方(可能是在一層網路上,或者後來可能在二層網路上),然後可以從任何有該錢包副本的二層網路讀取。這意味着更新只需要進行一次。爲了高效,密鑰庫錢包需要二層網路有一種標準化的方式來無成本地讀取一層網路;L1SLOADREMOTESTATICCALL是兩個這樣的提議。

密鑰庫錢包如何工作的簡化圖示。

  • 更激進的”共享代幣橋”想法:想象一個所有二層網路都是有效性證明rollup的世界,它們每個時隙都向以太坊提交。即使在這個世界裏,從一個二層網路移動資產到另一個二層網路”原生地”也需要提取和存款,這需要支付大量的一層網路gas費。解決這個問題的一種方法是創建一個共享的最小rollup,其唯一功能是維護每個二層網路擁有哪些類型和數量的代幣的餘額,並允許這些餘額通過任何二層網路發起的一系列跨二層網路發送操作批量更新。這將允許跨二層網路轉帳發生,而無需爲每次轉帳支付一層網路gas費,也無需像ERC-7683那樣基於流動性提供者的技術。
  • 同步可組合性:允許同步調用發生在特定的二層網路和一層網路之間,或者在多個二層網路之間。這可能有助於提高去中心化金融協議的金融效率。前者可以在不需要跨二層網路協調的情況下完成;後者將需要共享排序基於rollup自動友好於所有這些技術。

與現有研究有哪些聯系?

還需要做什麼,需要權衡什麼?

上述許多例子都面臨着何時標準化以及在哪些層面上標準化的常見困境。如果過早標準化,你可能會固化一個劣質解決方案。如果標準化太晚,你可能會造成不必要的碎片化。在某些情況下,既有短期解決方案(屬性較弱但易於實施),也有長期解決方案(”最終正確”但需要幾年時間才能實現)。

這一部分的獨特之處在於,這些任務不僅僅是技術問題:它們也是(甚至可能主要是!)社會問題。它們需要二層網路、錢包和一層網路的合作。我們能否成功處理這個問題,是對我們作爲一個社區團結一致能力的考驗。

它如何與路線圖的其他部分交互?

這些提案大多是”高層”構造,因此不會對一層網路考慮產生重大影響。一個例外是共享排序,它對MEV(最大可提取價值)有重大影響。

在 L1 網路上擴展執行

我們要解決什麼問題?

如果 L2 變得非常可擴展且成功,但 L1 仍然只能處理非常少量的交易,那麼以太坊可能會出現許多風險:

  1. ETH 資產的經濟狀況變得更加危險,進而影響網路的長期安全。
  2. 許多L2受益於與L1上高度發達的金融生態系統的緊密聯系,如果這個生態系統大大削弱,成爲L2(而不是獨立的L1)的動力就會減弱
  3. L2 需要很長時間才能擁有與 L1 完全相同的安全保證。
  4. 如果一個二層網路失敗(例如由於惡意或消失的運營商),用戶仍然需要通過一層網路來恢復他們的資產。因此,一層網路需要足夠強大,至少能夠偶爾處理二層網路高度復雜和混亂的清算。

出於這些原因,繼續擴展 L1 本身並確保它能夠繼續適應越來越多的用途是很有價值的。

它是什麼以及它是如何工作的?

擴展以太坊最簡單的方法是直接提高gas限制。然而,這可能會導致L1層中心化,從而削弱以太坊L1最強大的特性之一:作爲穩健基礎層的可信度。關於多大程度的gas限制提升是可持續的,目前仍存在爭議。這個問題還會隨着其他使大區塊更易驗證的技術(如歷史過期、無狀態性、L1 EVM有效性證明等)的實施而變化。另一個需要持續改進的重要方面是以太坊客戶端軟件的效率,現在的效率已經比五年前高得多。一個有效的L1 gas限制提升策略應該包括加速這些驗證技術的發展。

另一種擴展策略是識別特定功能和計算類型,在不損害網路去中心化或安全性的前提下降低其成本。例如:

  • EOF - 一種新的EVM字節碼格式,更便於靜態分析,允許更快的實現。EOF字節碼可以被賦予更低的gas成本以反映這些效率。
  • 多維gas定價 - 爲計算、數據和存儲建立單獨的基礎費用和限制,可以增加以太坊L1的平均容量,而不增加其最大容量(從而避免產生新的安全風險)。
  • 減少特定操作碼和預編譯的 Gas 成本 - 從歷史上看,我們曾經有過 一些 回合增加 氣體 成本 對於某些操作 價格過低的 以避免拒絕服務攻擊。我們擁有的更少,但可以做得更多的是 減少 運營的天然氣成本是 價格過高。例如,加法比乘法便宜得多,但是 添加 和 我有 操作碼目前是相同的。我們可以做 添加 更便宜,甚至更簡單的操作碼,例如 推 甚至更便宜。
  • EVM-MAXSIMD:EVM-MAX(”模運算擴展”)是一項允許更高效的原生大數模運算作爲EVM單獨模塊的提案。除非特意導出,否則EVM-MAX計算的值只能被其他EVM-MAX操作碼訪問;這允許以優化格式存儲這些值。SIMD(”單指令多數據”)是一項允許在一組值上高效執行相同指令的提案。這兩者結合可以在EVM旁邊創建一個強大的協處理器,可以用來更高效地實現加密操作。這對隱私協議和L2證明系統特別有用,因此可以幫助L1和L2的擴展。

這些改進將在以後關於 Splurge 的文章中更詳細地討論。

最後,第三個策略是 原生匯總 (或“enshrined rollups”):本質上,創建並行運行的 EVM 的許多副本,從而形成一個與 rollups 可以提供的模型等效的模型,但更原生地集成到協議中。

與現有研究有哪些聯系?

還需要做什麼,需要權衡什麼?

L1 擴展有三種策略,可以單獨或並行執行:

  • 改進技術(例如客戶端代碼、無狀態客戶端、歷史記錄過期) 讓L1更容易驗證, 進而 提高氣體限制
  • 使特定操作更便宜,在不增加最壞情況風險的情況下增加平均容量
  • 原生匯總 (即“創建 EVM 的 N 個並行副本”,盡管可能爲開發人員在部署副本的參數方面提供了很大的靈活性)

值得理解的是,這些是不同的技術,有不同的權衡。例如,原生rollups在可組合性方面有許多與普通rollups相同的弱點:你不能發送一個單一的交易在多個rollups之間同步執行操作,就像你可以在同一個L1(或L2)上的合約那樣。提高gas限制會減少通過使L1更容易驗證而可能獲得的其他好處,如增加運行驗證節點的用戶比例和增加單獨質押者。降低EVM中特定操作的成本,取決於具體實施方式,可能會增加EVM的總體復雜性。

任何 L1 擴展路線圖都需要回答的一個大問題是: L1 和 L2 的最終願景是什麼?顯然,這是荒謬的 一切 繼續 L1:潛在的用例每秒有數十萬個事務,這將使 L1 完全無法驗證(除非我們採用本機匯總路線)。但我們確實需要 一些 指導原則,這樣我們就可以確保我們不會造成這樣的情況:我們將 Gas 限制提高 10 倍,嚴重損害以太坊 L1 的去中心化,並發現我們只是進入了一個 99% 的活動都在在 L2 上,90% 的活動都在 L2 上,因此結果看起來幾乎相同,除了以太坊 L1 特殊之處的大部分不可逆轉的損失。

一種關於 L1 和 L2 之間“分工”的提議觀點, 來源

它如何與路線圖的其他部分交互?

將更多用戶帶到L1意味着不僅要改善規模,還要改善L1的其他方面。這意味着更多的MEV(最大可提取價值)將留在L1上(而不是僅成爲L2的問題),因此將更加迫切需要明確處理它。這大大增加了在L1上擁有快速時隙時間的價值。它也高度依賴於L1的驗證(”the Verge”)進展順利。

聲明:

  1. 本文轉載自[維塔利克·布特林)],所有版權歸原作者所有[維塔利克·布特林]。若對本次轉載有異議,請聯系Gate Learn團隊,他們會及時處理。
  2. 免責聲明:本文所表達的觀點和意見僅代表作者個人觀點,不構成任何投資建議。
  3. Gate Learn 團隊將文章翻譯成其他語言。除非另有說明,否則禁止復制、分發或抄襲翻譯文章。
Bắt đầu giao dịch
Đăng ký và giao dịch để nhận phần thưởng USDTEST trị giá
$100
$5500