作者:Vitalik Buterin
編譯 :Peng Sun,Foresight News
原文鏈接:https://vitalik.eth.limo/general/2024/05/23/l2exec.html
兩年半前,我在「Endgame」一文中提到,區塊鏈未來的不同發展路徑至少在技術上看起來是非常地相似。在這兩種情況下,鏈上都有大量的交易,而處理這些交易需要:(1)大量的計算;(2)大量的數據帶寬。普通的以太坊節點(譬如我現在電腦上運行的 2 TB reth 歸檔節點),即使有着強大軟件工程性能和 Verkle 樹,也不足以直接驗證巨大的數據量和計算量。相反,在「L1 分片」和以 Rollup 爲中心的兩種方案中,ZK-SNARK用於驗證計算,DAS用於驗證數據可用性。無論是 L2 分片還是 Rollup,DAS 都是一樣的,ZK-SNARKs 技術也相同。它們既是智能合約代碼,也是協議的一個功能。從真正的技術意義上講,以太坊正在分片,而 Rollup 就是分片。
這自然會引出一個問題:二者有什麼區別?其中一個就是代碼漏洞導致的後果不同:在 Rollup 中,代幣會被盜;在分片中,共識則會破裂。但我預計,隨着協議的穩固和形式驗證(formal verification)技術的改進,代碼漏洞的影響將越來越小。那麼,這兩個可能會長期存在的方案之間還有哪些不同?
執行環境的多樣性
2019 年,我們在以太坊中簡單討論過的一個想法是執行環境。從本質上講,以太坊將擁有不同的「zones」,這些「zones」可以對賬戶(包括完全不同的方法,如 UTXO)、虛擬機的工作方式以及其他功能制定不同的規則。這樣就能在堆棧的各個部分實現方法的多樣性,但如果以太坊試圖將多職能集於一體,就很難實現這一點。
最後,我們放棄了一些更有雄心的計劃,只保留 EVM。不過,以太坊 L2(包括 rollups、valdiums 和 Plasmas)可以說最終還是起到了執行環境的作用。目前,我們通常專注 EVM 等效 L2,但其實忽略了許多其他方法所帶來的多樣性:
● Arbitrum Stylus,它在 EVM 之外新增了第二個基於 WASM的預言機;
● Fuel,它使用類似於比特幣(但功能更齊全)的基於 UTXO 的架構;
● Aztec,它引入了一種圍繞基於 ZK-SNARK 的隱私保護智能合約設計的新語言和編程範式。
基於 UTXO 的架構,來源:Fuel 文檔
我們可以嘗試將 EVM 打造成一個涵蓋所有可能範式的超級虛擬機,但這樣做會讓各個功能的效率大打折扣,還不如讓這些平臺做他們專業的事情。
安全折中:擴容與交易速度
以太坊 L1 提供了非常強大的安全保障。如果 L1 上最終完成的區塊中包含了某些數據,那麼整個共識(包括極端情況下的社會共識)都會努力確保這些數據不會被修改,確保由這些數據觸發的任何執行都不會被還原,並仍可訪問這些數據。爲了實現這種安全保證,以太坊 L1 願意接受高昂的成本。在本文撰寫時,交易費用相對較低:Layer2 每筆交易收費不到 1 美分,即使在 L1 上,基礎的 ETH 轉賬也不到 1 美元。如果技術進步足夠快,可用區塊空間的增長能跟上需求的增長,那麼這些費用在未來可能會一直比較低,但也可能不會。對於許多非金融應用(譬如社交媒體或遊戲)來說,即使每筆交易 0.01 美元也太高了。
但社交媒體和遊戲並不需要與 L1 相同的安全模式。如果有人花一百萬美元就能撤銷他們輸掉一盤棋的記錄,或者讓你的一條推文看起來像是在實際發佈三天後發佈的,那也沒關係。因此,這些應用不應支付相同的安全成本。L2 方案通過支持從 rollups、plasma到 validiums的一系列數據可用性方法來實現這一點。
另一個折中方案是圍繞從 L2 到 L2 的資產傳輸問題產生的。我預計,未來 5 到 10 年,所有 Rollups 都將是 ZK Rollup,而 Binius和帶有 lookups的 Circle STARKs等超高效證明系統,再加上證明聚合層,將使 L2 在每個 slot 提供最終狀態根成爲可能。但目前,我們只能將 Optimistic Rollup 和 ZK Rollup 複雜地糅合在一起,並使用不同的證明時間窗口。如果我們在 2021 年實施執行分片,那麼保持分片誠實的安全模型將是 Optimitic Rollup,而不是 ZK,因此 L1 將不得不管理鏈上系統複雜的欺詐證明邏輯,提款時間也要長達一週,以便將資產在分片之間轉移。但和代碼漏洞一樣,我認爲這個問題最終也是暫時的。
交易速度是安全折中的第三個方面,也是更持久的一個方面。以太坊每 12 秒出塊,而且不會更快,否則中心化程度過高。然而,許多 L2 正在探索將出塊時間壓縮到幾百毫秒。12 秒已經不算太差:用戶在提交交易後平均需要等待約 6-7 秒才能被納入一個區塊(不只是 6 秒,因爲下一個區塊可能不會納入他們)。這與我用信用卡付款時需要等待的時間相當。但是,許多應用需要更快的速度,而 L2 可以做到。
爲了讓速度更快,L2 有一個預確認(preconfirmation)機制:L2 自身的驗證者以數字簽名的方式承諾在特定時間包含交易,如果交易未被包含,他們會受到懲罰。StakeSure機制進一步推廣了這一機制。
L2 預確認
現在,我們可以嘗試在 L1 實現所有這些功能。L1 可以包含一個「快速預確認」和「慢速最終確認」系統。它可以包含具有不同安全級別的不同分片。不過,這會增加協議的複雜性。此外,在 L1 完成所有工作會有使共識超載的風險,因爲許多更大規模或更高吞吐量的方法,其中心化風險更高,或需要更強的「治理」形式,如果在 L1 完成,這些更強需求的影響會波及協議的其他部分。通過 L2 提供折中,以太坊在很大程度上可以避免這些風險。
Layer2 之於組織與文化的裨益
設想一個國家被一分爲二,一半變成資本主義國家,另一半變成政府高度主導的國家(與現實中發生的情況不同,假設在這個思想實驗中,這不是任何創傷性戰爭的結果,而是有一天邊界自然出現,僅此而已)。在資本主義部分,餐館都是由不同的去中心化所有權、區塊鏈和選舉權組成。在政府主導制國家,它們都是政府的分支機構,就像警察局一樣。第一天,不會有太大變化。人們基本上會遵循現有的習慣,哪些可行,哪些不可行,取決於勞動技能和基礎設施等技術現實。然而,一年之後,你就會看到巨大的變化,因爲不同的激勵和控制結構會導致行爲上的巨大變化,從而影響人的來去留,什麼被建設,什麼被維護,什麼被遺棄。
產業組織理論講了很多此類區別:它不僅談到了政府管理的經濟與資本主義經濟之間的區別,還談到了由大型特許經營企業主導的經濟與每家超市都由獨立企業家經營的經濟之間的區別。我認爲,以 L1 爲中心的生態系統與 L2 爲中心的生態系統之間的區別也是類似的。
「核心開發者管理一切」的架構出了大問題
作爲一個以 L2 爲中心的生態系統,我認爲以太坊的主要優勢如下:
由於以太坊是一個以 L2 爲中心的生態系統,因此你可以自由地獨立構建一個具有自己獨特功能的子生態系統,同時也是更大的以太坊的一部分。
如果你只是在構建一個以太坊客戶端,那麼你是更大的以太坊的一部分,雖然你有一定的創新空間,但遠遠不如 L2。而如果你正在構建一個完全獨立的鏈,你的創造空間會非常大,但你也失去了共享安全和共享網絡效應等好處。L2 是一個很好的平衡點。
它不僅提供了嘗試新的執行環境和安全折中的技術機會,可以實現擴容、靈活性和速度,還提供了一種激勵機制,既激勵開發者構建和維護,也激勵社區支持。
事實上,每個 L2 都是孤立的,這也意味着部署新方法是無需許可的:無需說服所有核心開發者,你的新方法對整個鏈的其他部分是「安全的」。如果你的 L2 失敗了,那是你的責任。任何人都可以提出奇思怪想(譬如,Intmax 的 Plasma 方法),即使以太坊核心開發者完全沒有關注,他們也可以繼續構建並最終部署。L1 功能和預編譯不是這樣的,即使在以太坊中,L1 開發的成敗最終也往往取決於政治,其程度比我們希望的要高。無論理論上可以構建什麼,以 L1 爲中心的生態系統和以 L2 爲中心的生態系統所產生的不同激勵機制最終都會嚴重影響實際構建的內容、質量水平和順序。
以太坊以 L2 爲中心的生態系統面臨哪些挑戰?
L1 + L2 架構出了大問題。圖片來源:Reddit
這種以 L2 爲中心的方法面臨着一個關鍵挑戰,而以 L1 爲中心的生態系統幾乎不用面對同樣的問題:協調(coordination)。換言之,雖然以太坊有很多 L2,但面臨的挑戰是怎麼讓它仍然感覺像「以太坊」,並具有以太坊的網絡效應,而不是 N 個獨立的鏈。如今,這種情況在很多方面都不盡如人意:
● L2 之間跨鏈通常需要中心化跨鏈橋,這對普通用戶來說非常複雜。如果你有 Optimism 上的代幣,就不能把別人的 Arbitrum 地址粘貼到你的錢包裏發送資金。
● 對於個人智能合約錢包和組織錢包(包括 DAO)來說,跨鏈智能合約錢包支持都不是很好。如果你換了一個 L2 上的密鑰,還需要去換其他每個 L2 上的密鑰。
● 去中心化驗證基礎設施通常比較缺乏。以太坊終於開始有了像樣的輕客戶端,比如 Helios。但是,如果所有活動都發生在 L2,都需要自己的中心化 RPC,那就沒有意義了。原則上,一旦你有了以太坊區塊頭,爲 L2 構建輕客戶端並不難;但在實踐中,對這一點的重視太少了。
社區正在努力改進這三個方面。對於跨鏈代幣交換,ERC-7683標準是一個新方案,與現有的「中心化跨鏈橋」不同,它沒有任何固定的中心化節點、代幣或治理。對於跨鏈賬戶,大多數錢包採取的方法是,在短期內使用跨鏈可重放(replayable)消息更新密鑰,長期使用 keystore rollups。用於 L2 的輕客戶端開始出現,譬如用於 Starknet 的 Beerus。此外,最近通過下一代錢包改善用戶體驗已經解決了更基本的問題,譬如用戶無需手動切換網絡即可訪問 DApp。
Rabby 多鏈資產餘額綜合視圖,此前的錢包還做不到這一點!
但必須認識到,以 L2 爲中心的生態系統在試圖協調時,在某種程度上確實會很難辦。因爲單一 L2 沒有自然經濟激勵來構建基礎設施進行協調:小規模 L2 不會這樣做,因爲它們只爲了獲得一小部分利益;大規模 L2 也不會,因爲它們可以從加強自己的本地網絡效應中獲得同樣多甚至更多的利益。如果每個 L2 都只爲自己考慮,而沒有人考慮如何與更廣泛的以太坊系統相匹配,那麼我們就會失敗,就像上面幾段圖片中的城市化烏托邦一樣。
很難說有一個完美無缺的方案來解決這個問題。我只能說,生態系統需要更充分地認識到,跨 L2 基礎設施與 L1 客戶端、開發工具和編程語言一樣,都是以太坊基礎設施的一種類型,因此應該得到重視和資助。我們有 Protocol Guild,也許我們需要 Basic Infrastructure Guild。
總結
在各種公開討論中,「L2」和「分片」經常被視爲區塊鏈擴容的兩種相反策略。但是,當你研究底層技術時,就會發現一個難題:實際的底層擴容方法是完全相同的。無論是數據分片、欺詐驗證器或 ZK-SNARK 驗證器,還是跨「Rollup、分片」通信的解決方案,主要區別在於:誰負責構建和更新這些組件,他們有多大的自主權?
以 L2 爲中心的生態系統從真正的技術意義上講就是分片,但在分片中,你可以用自己的規則構建自己的分片。這非常強大,創造力無限,可以實現大量自主創新。但它也存在一些關鍵挑戰,尤其是在協調方面。像以太坊這樣以 L2 爲中心的生態系統要想取得成功,就必須瞭解這些挑戰,並迎難而上地解決它們,以便儘可能多地獲得以 L1 爲中心的生態系統的好處,並儘可能接近二者的最佳狀態。