撰文:Vitalik Buterin

編譯:Peng Sun,Foresight News

兩年半前,我在「Endgame」一文中提到,區塊鏈未來的不同發展路徑至少在技術上看起來非常相似。在這兩種情況下,鏈上都有大量的交易,而處理這些交易需要:(1)大量的計算;(2)大量的資料頻寬。普通的以太坊節點(譬如我現在電腦上運行的2 TB reth 歸檔節點),即使有著強大軟體工程效能和Verkle 樹,也不足以直接驗證龐大的資料量和運算量。相反,在「L1 分片」和以Rollup 為中心的兩種方案中,ZK-SNARK 用於驗證計算,DAS 用於驗證資料可用性。無論是L2 分片還是Rollup,DAS 都是一樣的,ZK-SNARKs 技術也相同。它們既是智慧合約程式碼,也是協議的一個功能。從真正的技術意義上講,以太坊正在分片,而Rollup 就是分片。

Vitalik新作:L2與執行分片有何不同?

Vitalik新作:L2與執行分片有何不同?

這自然會引出一個問題:二者有什麼差別?其中一個就是程式碼漏洞導致的後果不同:在Rollup 中,代幣會被偷走;在分片中,共識則會破裂。但我預計,隨著協議的穩固和形式驗證(formal verification)技術的改進,程式碼漏洞的影響將越來越小。那麼,這兩個可能會長期存在的方案之間還有哪些不同呢?

執行環境的多樣性

2019 年,我們在以太坊中簡單討論過的一個想法是執行環境。從本質上講,以太坊將擁有不同的“zones”,這些“zones”可以對帳戶(包括完全不同的方法,如UTXO)、虛擬機器的工作方式以及其他功能製定不同的規則。這樣就能在堆疊的各個部分實現方法的多樣性,但如果以太坊試圖將多職能集於一體,就很難實現這一點。

最後,我們放棄了一些更有野心的計劃,只保留EVM。不過,以太坊L2(包括rollups、valdiums 和Plasmas)可以說最終還是扮演了執行環境的角色。目前,我們通常專注於EVM 等效L2,但其實忽略了許多其他方法所帶來的多樣性:

  • Arbitrum Stylus,它在EVM 之外新增了第二個基於WASM 的預言機;
  • Fuel,它使用類似於比特幣(但功能更齊全)的基於UTXO 的架構;
  • Aztec,它引入了一種圍繞基於ZK-SNARK 的隱私保護智慧合約設計的新語言和程式設計範式。

Vitalik新作:L2與執行分片有何不同?

基於UTXO 的架構,來源:Fuel 文檔

我們可以嘗試將EVM 打造成一個涵蓋所有可能範式的超級虛擬機,但這樣做會讓各個功能的效率大打折扣,不如讓這些平台做他們專業的事情。

安全折中:擴容與交易速度

以太坊L1 提供了非常強大的安全保障。如果L1 上最終完成的區塊中包含了某些數據,那麼整個共識(包括極端情況下的社會共識)都會努力確保這些數據不會被修改,確保由這些數據觸發的任何執行都不會被還原,並仍可存取這些數據。為了實現這種安全保證,以太坊L1 願意接受高昂的成本。在本文撰寫時,交易費用相對較低:Layer2 每筆交易收費不到1 美分,即使在L1 上,基礎的ETH 轉帳也不到1 美元。如果技術進步夠快,可用區塊空間的成長能跟上需求的成長,那麼這些費用在未來可能會一直比較低,但也可能不會。對於許多非金融應用(譬如社群媒體或遊戲)來說,即使每筆交易0.01 美元也太高了。

但社群媒體和遊戲並不需要與L1 相同的安全模式。如果有人花一百萬美元就能撤銷他們輸掉一盤棋的記錄,或者讓你的一條推文看起來像是在實際發布三天后發布的,那也沒關係。因此,這些應用不應支付相同的安全成本。 L2 方案透過支援從rollups、plasma 到validiums 的一系列資料可用性方法來實現這一點。

Vitalik新作:L2與執行分片有何不同?

不同的L2 類型適用於不同的使用情況。更多可閱讀。

另一個折中方案是圍繞著從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 機制進一步推廣了這個機制。

Vitalik新作:L2與執行分片有何不同?

 L2 預確認

現在,我們可以嘗試在L1 實現所有這些功能。 L1 可以包含一個「快速預確認」和「慢速最終確認」系統。它可以包含具有不同安全等級的不同分片。不過,這會增加協議的複雜性。此外,在L1 完成所有工作會有使共識超載的風險,因為許多更大規模或更高吞吐量的方法,其中心化風險更高,或需要更強的“治理”形式,如果在L1 完成,這些更強需求的影響會波及協議的其他部分。透過L2 提供折衷中,以太幣在很大程度上可以避免這些風險。

Layer2 之於組織與文化的裨益

設想一個國家被一分為二,一半變成資本主義國家,另一半變成政府高度主導的國家(與現實中發生的情況不同,假設在這個思想實驗中,這不是任何創傷性戰爭的結果,而是有一天邊界自然出現,僅此而已)。在資本主義部分,餐廳都是由不同的去中心化所有權、​​區塊鏈和選舉權組成。在政府主導國家,它們都是政府的分支機構,就像警察局一樣。第一天,不會有太大變化。人們基本上會遵循現有的習慣,哪些可行,哪些不可行,取決於勞動技能和基礎設施等技術現實。然而,一年之後,你會看到巨大的變化,因為不同的激勵和控制結構會導致行為上的巨大變化,從而影響人的來去留,什麼被建設,什麼被維護,什麼被遺棄。

產業組織理論講了很多此類區別:它不僅談到了政府管理的經濟與資本主義經濟之間的區別,還談到了由大型特許經營企業主導的經濟與每家超市都由獨立企業家經營的經濟之間的區別。我認為,以L1 為中心的生態系與L2 為中心的生態系之間的差異也是類似的。

Vitalik新作:L2與執行分片有何不同?

 「核心開發者管理一切」的架構出了大問題

作為一個以L2 為中心的生態系統,我認為以太坊的主要優勢如下:

由於以太坊是一個以L2 為中心的生態系統,因此你可以自由地獨立建構一個具有自己獨特功能的子生態系統,同時也是更大的以太坊的一部分。

如果你只是在建立一個以太坊客戶端,那麼你就是更大的以太坊的一部分,雖然你有一定的創新空間,但遠遠不如L2。而如果你正在建立一個完全獨立的鏈,你的創造空間會非常大,但你也失去了共享安全和共享網路效應等好處。 L2 是一個很好的平衡點。

它不僅提供了嘗試新的執行環境和安全折中的技術機會,可以實現擴容、靈活性和速度,還提供了一種激勵機制,既激勵開發者建構和維護,也激勵社區支持。

事實上,每個L2 都是孤立的,這也意味著部署新方法是無需許可的:無需說服所有核心開發者,你的新方法對整個鏈的其他部分是「安全的」。如果你的L2 失敗了,那就是你的責任。任何人都可以提出奇思怪想(譬如,Intmax 的Plasma 方法),即使以太坊核心開發者完全沒有關注,他們也可以繼續建造並最終部署。 L1 功能和預編譯不是這樣的,即使在以太坊中,L1 開發的成敗最終也往往取決於政治,其程度比我們希望的要高。無論理論上可以建構什麼,以L1 為中心的生態系統和以L2 為中心的生態系統所產生的不同激勵機制最終都會嚴重影響實際建構的內容、品質水準和順序。

以太坊以L2 為中心的生態系統面臨哪些挑戰?

Vitalik新作: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。

Vitalik新作:L2與執行分片有何不同?

 Rabby 多鏈資產餘額綜合視圖,先前的錢包還做不到這一點!

但必須認識到,以L2 為中心的生態系統在試圖協調時,在某種程度上確實會很難辦。因為單一L2 沒有自然經濟誘因來建構基礎設施進行協調:小規模L2 不會這樣做,因為它們只為了獲得一小部分利益;大規模L2 也不會,因為它們可以從加強自己的本地網路效應中獲得同樣多甚至更多的利益。如果每個L2 都只為自己考慮,而沒有人考慮如何與更廣泛的以太坊系統相匹配,那麼我們就會失敗,就像上面幾段圖片中的城市化烏托邦一樣。

很難說有一個完美無缺的方案來解決這個問題。我只能說,生態系統需要更充分地認識到,跨L2 基礎設施與L1 用戶端、開發工具和程式語言一樣,都是以太坊基礎設施的一種類型,因此應該受到重視和資助。我們有Protocol Guild,也許我們需要Basic Infrastructure Guild。

總結

在各種公開討論中,「L2」和「分片」經常被視為區塊鏈擴容的兩種相反策略。但是,當你研究底層技術時,你會發現一個難題:實際的底層擴容方法是完全相同的。無論是資料分片、詐欺驗證器或ZK-SNARK 驗證器,還是跨「Rollup、分片」通訊的解決方案,主要區別在於:誰負責建構和更新這些元件,他們有多大的自主權?

以L2 為中心的生態系統從真正的技術意義上講就是分片,但在分片中,你可以用自己的規則建立自己的分片。這非常強大,創造力無限,可以實現大量自主創新。但它也存在一些關鍵挑戰,尤其是在協調方面。像以太坊這樣以L2 為中心的生態系統要想取得成功,就必須了解這些挑戰,並迎難而上地解決它們,以便盡可能多地獲得以L1 為中心的生態系統的好處,並儘可能接近二者的最佳狀態。