Vitalik : 不同類型的 L2 並起,應用和用戶應如何選擇?



對於給定的應用程式,Rollup、Validium 和其他系統之間的這些複雜權衡中哪種對其最有意義?

撰寫:Vitalik

編譯:深潮 TechFlow

以太坊二層生態系統在過去一年中迅速擴展。ZK-EVM Rollup 生態系統傳統上以StarkNetArbitrumOptimismScroll為特色,進展迅速,並在提高安全性方面取得了巨大的進展;L2beat很好地總結了每個專案的狀態。此外,我們還看到一些構建側鏈的團隊開始構建 Rollups(Polygon),第一層專案尋求向 Validium 邁進(Celo),以及全新的努力(LineaZeth…) .

這種發展的不可避免後果之一是,我們看到了二層專案變得更加多元化的趨勢。我預計這一趨勢將繼續下去,有幾個關鍵原因:

  1. 一些目前獨立於 Layer 1 的專案正在尋求更接近以太坊生態系統,並可能成為 Layer 2。這些專案可能希望逐步過渡。立即全部過渡現在會降低可用性,因為技術尚未準備好將所有內容放在 Rollup 上。而過晚一次全部過渡會冒失去動力和變得無關緊要的風險。

  2. 一些中心化專案希望為其用戶提供更多的安全保障,正在探索基於區塊鏈的途徑。在許多情況下,這些專案在以前可能已經探討過“許可的聯盟鏈”。現實情況下,它們可能只需要“半中心化”的程度。此外,它們通常具有非常高的吞吐量,至少在短期內不適合用於 Rollup。

  3. 非金融應用,如遊戲或社交媒體,希望去中心化,但只需要一種中等程度的安全性。在社交媒體的情況下,這實際上涉及對應用程式的不同部分進行不同處理:罕見和高價值的活動,如用戶名註冊和賬戶恢復,應在 Rollup 上完成,但頻繁和低價值的活動,如發佈和投票,需要較少的安全性。如果鏈失敗導致您的帖子消失,那是可以接受的代價。如果鏈失敗導致您丟失帳戶,那將是一個更大的問題。

一個重要的主題是,儘管今天在以太坊第一層的應用和用戶將在短期內願意支付較小但仍可見的 Rollup 費用,但來自非區塊鏈世界的用戶不會:如果之前支付了 1 美元,那麼支付 0.10 美元更容易接受,而如果之前不付費,那就不太容易接受。這不僅適用於今天中心化的應用程式,還適用於較小的第一層,這些第一層通常在其用戶基數保持較小的情況下具有非常低的費用。

一個自然而然的問題是:對於給定的應用程式,Rollup、Validium 和其他系統之間的這些複雜權衡中哪種對其最有意義?

Rollup vs Validium vs 斷開連接的系統

我們將探討的安全性與規模的第一個維度可以描述如下:如果您擁有在 L1 上發行的資產,然後將其存入 L2,然後將其轉移到您,那麼您能夠將資產帶回 L1 的保證水準是多少?

還有一個類似的問題:導致這種保證水準的技術選擇是什麼,以及這種技術選擇的權衡是什麼?

我們可以簡單地使用圖表來描述這一點:

Vitalik : 不同類型的 L2 並起,應用和用戶應如何選擇?插图1

值得一提的是,這是一個簡化的模式,存在許多中間選項。例如:

  • 在 Rollup 和 Validium 之間:Validium 允許任何人進行鏈上支付以支付交易費用,此時運營商將被迫提供一些數據到鏈上,否則將失去存款。

  • 在 Plasma 和 Validium 之間:Plasma 系統提供類似 Rollup 的安全保證,具有鏈下數據可用性,但只支持有限數量的應用。一個系統可以提供完整的 EVM,並向不使用這些更復雜應用的用戶提供 Plasma 級別的保證,向使用這些更復雜應用的用戶提供 Validium 級別的保證。

這些中間選項可以被視為介於 Rollup 和驗證之間。但是是什麼驅使應用程式選擇這兩端上的特定點,而不是更左邊或更右邊的某個點呢?在這裡,有兩個主要因素:

  • 以太坊的原生數據可用性成本,隨著技術的改進而逐漸降低。以太坊的下一個硬分叉 Dencun 引入了 EIP-4844(也稱為 "proto-danksharding"),提供了每秒約 32 kB 的鏈上數據可用性。在接下來的幾年裡,預計將分階段增加,隨著全面的 danksharding 推出,最終目標是每秒約 1.3 MB 的數據可用性。與此同時,資料壓縮的改進將使我們能夠在相同數量的數據上做更多事情。

  • 應用程式自身的需求:用戶會因高費用而受損,還是會因應用程式出現問題而受損?金融應用程式將更多地損失於應用程式故障;遊戲和社交媒體涉及大量用戶活動,且活動相對低價值,因此對於它們來說,不同的安全權衡是有意義的。

大致來說,這個權衡看起來是這樣的:

Vitalik : 不同類型的 L2 並起,應用和用戶應如何選擇?插图3

還值得一提的一種部分保證類型是預確認(pre-confirmations)。預確認是由 Rollup 或 Validium 中的一些參與者簽署的消息,表明“我們確認這些交易包含在此順序中,並且後期狀態根為這個值”。這些參與者可能會簽署一個與後來的現實不符的預確認,但如果他們這樣做,將會燒毀存款。這對於低價值的應用程式,如消費支付,非常有用,而像數百萬美元的金融轉賬這樣的高價值應用程式可能會等待由系統的完全安全性支持的“常規”確認。

預確認可以被看作是另一種混合系統的示例,類似於上面提到的“plasma/validium 混合”,但這次是在具有完全安全性但延遲較高的 Rollup(或 Validium)和具有較低安全級別但延遲較低的系統之間混合。需要更低延遲的應用程式獲得更低的安全性,但可以與那些願意為了最大安全性而接受更高延遲的應用程式生存於同一生態系統中。

無需信任地讀取以太坊

另一種不太被人考慮但仍然非常重要的連接形式與系統讀取以太坊區塊鏈的能力有關。特別是,這包括能夠在以太坊回滾時進行回滾。要了解為什麼這很有價值,考慮以下情況:

Vitalik : 不同類型的 L2 並起,應用和用戶應如何選擇?插图5

假設如圖所示,以太坊鏈發生了回滾。這可能是在一個紀元內的臨時故障,當鏈尚未最終確定時,或者可能是鏈不斷復原的停滯期,因為太多的驗證者處於離線狀態。

這可能導致的最糟糕情況如下。假設從頂部鏈的第一個區塊讀取了以太坊鏈最左側區塊的某些數據。例如,某人在以太坊上存入了 100 ETH 到頂部鏈。然後,以太坊發生回滾。然而,頂部鏈沒有回滾。結果,頂部鏈的未來區塊正確地遵循了新的正確以太坊鏈的新區塊,但現在錯誤的舊鏈接(即 100 ETH 存款)的後果仍然存在於頂部鏈中。這種漏洞可以允許印鈔,將頂部鏈上橋接的 ETH 轉變為部分儲備。

解決此問題有兩種方法:

  1. 頂部鏈只能讀取以太坊的最終確定區塊,因此它永遠不需要回滾。

  2. 如果以太坊回滾,頂部鏈也應該回滾。這兩種方法都可以防止此問題。前者更容易實施,但如果以太坊進入了停滯期,可能會導致較長時間的功能喪失。後者更難實施,但確保始終獲得最佳功能。

請注意,第一種方法(1)確實存在一個特殊情況。如果對以太坊進行 51% 攻擊創建了兩個不相容的新區塊,它們同時顯示已最終確定,那麼頂部鏈很可能會鎖定在錯誤的區塊上(即以太坊社會共識最終不支持的區塊),並且必須回滾以切換到正確的區塊。可以提出的論點是,沒有必要提前編寫處理此情況的代碼;它可以通過硬分叉頂部鏈來處理。

鏈能夠無需信任地讀取以太坊的能力有兩個原因:

  • 它減少了在橋接在以太坊(或其他 L2)上發行的代幣時涉及的安全問題

  • 它允許使用共享密鑰庫架構的帳戶抽象錢包在該鏈上安全持有資產。

這兩個方面都非常重要,儘管可以爭辯認為這種需求已經被廣泛認可。第二個方面也非常重要,因為它意味著您可以擁有一個錢包,允許輕鬆更改密鑰並在許多不同的鏈上持有資產。

擁有跨鏈橋是否使您成為 Validium?

假設頂部鏈最初是一個獨立的鏈,然後有人在以太坊上部署了一個跨鏈橋合約。跨鏈橋合約只是一個接受頂部鏈區塊頭的合約,驗證提交給它的任何區塊頭是否附帶有效證書,顯示它已被頂部鏈的共識接受,並將該區塊頭添加到列表中。應用程式可以在此基礎上構建,實現存取代幣的功能等。一旦有了這樣的跨鏈橋,是否會提供我們之前提到的任何資產安全保證?

Vitalik : 不同類型的 L2 並起,應用和用戶應如何選擇?插图7

到目前為止,還沒有,原因有兩個:

  1. 我們正在驗證區塊是否已簽名,但沒有驗證狀態轉換是否正確。因此,如果您在以太坊上發行的資產存入頂部鏈,而頂部鏈的驗證者變得不正當,他們可以簽署一個竊取這些資產的無效狀態轉換。

  2. 頂部鏈仍然無法讀取以太坊。因此,甚至不能將以太坊原生資產存入頂部鏈,而必須依賴某個其他(可能不安全的)第三方跨鏈橋。

現在,讓我們將跨鏈橋合約變成一個驗證跨鏈橋:它不僅檢查共識,還要進行 ZK-SNARK 的驗證,以確保任何新區塊的狀態都是正確計算的。

一旦這樣做了,頂部鏈的驗證者將無法竊取您的資金。他們可以發佈一個包含不可用數據的區塊,阻止所有人提款,但他們無法竊取(除非試圖為用戶提供允許他們提款的數據以換取贖金)。這與 Validium 的安全模型相同。

但是,第二個問題仍未解決:頂部鏈無法讀取以太坊。

要解決這個問題,我們需要執行以下兩種操作之一:

  1. 在頂部鏈內部放置一個驗證最終確定的以太坊區塊的跨鏈橋合約。

  2. 讓頂部鏈中的每個區塊包含最近以太坊區塊的哈希,並制定一個分叉選擇規則來強制執行哈希鏈接。也就是說,鏈接到不在規範鏈中的以太坊區塊的頂部鏈區塊本身不是規範的,並且如果頂部鏈區塊鏈接到首先是規範的但後來變為不規範的以太坊區塊,那麼頂部鏈區塊也必須變為不規範。

Vitalik : 不同類型的 L2 並起,應用和用戶應如何選擇?插图9

這是否足夠呢?事實證明,仍然不夠,因為存在一些小的邊緣情況:

  1. 如果以太坊遭受 51% 攻擊會發生什麼?

  2. 如何處理以太坊的硬分叉升級?

  3. 如何處理您的鏈的硬分叉升級?

以太坊的 51% 攻擊會產生與頂部鏈的 51% 攻擊類似的後果,但是相反。以太坊的硬分叉可能會使頂部鏈內部的以太坊橋不再有效。解決此問題的最清晰方法是建立一種社會承諾,即如果以太坊回滾最終確定的區塊,或者如果以太坊硬分叉,頂部鏈將回滾。這種承諾很可能永遠不需要實際執行:如果頂部鏈上的治理小工具看到可能受到攻擊或硬分叉的證據,它可以激活,只有在治理小工具失敗時才會硬分叉頂部鏈。

對於問題(3),唯一可行的答案很遺憾,就是在以太坊上有一種形式的治理小工具,可以使以太坊內的跨鏈橋合約意識到頂部鏈的硬分叉升級。

總結:雙向驗證跨鏈橋幾乎足以使一條鏈成為 Validium。主要剩下的要素是一種社會承諾,即如果以太坊發生特殊情況,使橋不再有效,另一條鏈將做出硬分叉回應。

結論

“與以太坊的連接”有兩個關鍵維度:

  1. 提款到以太坊的安全性;

  2. 讀取以太坊的安全性。

這兩者都很重要,並且有不同的考慮因素:

Vitalik : 不同類型的 L2 並起,應用和用戶應如何選擇?插图11

請注意,這兩個維度各自有兩種不同的測量方式(所以實際上有四個維度):提款的安全性可以通過(i)安全級別和(ii)多少用戶或用例受益於最高安全級別來衡量,而讀取的安全性可以通過(i)鏈能夠多快地讀取以太坊的區塊,特別是最終確定的區塊與任何區塊,以及(ii)鏈在處理 51% 攻擊和硬分叉等邊緣情況方面的社會承諾的強度。

該設計空間的許多區域的專案都具有價值。對於某些應用程式,高安全性和緊密連接至關重要。對於其他應用程式,為了獲得更大的可擴展性,可以接受更靈活的解決方案。在許多情況下,從今天開始使用更靈活的解決方案,並隨著技術的改進在未來十年內過渡到更緊密的耦合,很可能是最佳選擇。

推薦閱讀:ETH HK 現場速記:關於以太坊的挑戰與未來,Vitalik 說了些什麼?- 深潮TechFlow

聯系郵箱:0xniumao@gmail.com