摘要:RollupsvsValidiumsvsDisconnectedSystems我們將探討的安全性與擴展性的第一個維度可以描述如下:如果您擁有一個在L1上發(fā)行的資產(chǎn),然后將其存入L2,再將其轉(zhuǎn)移到您手中,那么您能獲得多大程度的保證可以將資產(chǎn)取回到L1?...
作者 | Vitalik Buterin
英文鏈接:
https://vitalik.eth.limo/general/2023/10/31/l2types.html
中文鏈接:
https://www.theblockbeats.info/news/46888
附加引用:
https://twitter.com/tmel0211/status/1719587614351913138
注:本文是上述中文版本的基礎(chǔ)上進行節(jié)選編譯,可能有些細節(jié)或信息被刪除。我們建議讀者在閱讀本文時同時參考原文,以獲取更全面的信息。
生態(tài)系統(tǒng)在過去一年中迅速擴展。傳統(tǒng)上以 StarkNet、Arbitrum、Optimism 和 Scroll 為代表的 ZK-EVM Rollup 生態(tài)系統(tǒng)進展迅速,不斷提高其安全性,L2beat 網(wǎng)站很好地總結(jié)了每個項目的狀態(tài)。此外,我們還看到一些團隊正在構(gòu)建側(cè)鏈,同時也開始構(gòu)建 Rollup 方案(如 Polygon),一些 L1 項目試圖往validiums 方向發(fā)展(如 Celo),還有全新的嘗試(如 Linea、Zeth 等)。最后,還有圍繞 EVM做文章的這類 L2生態(tài),如:“近乎 EVM 等效” 的 Zksync, Arbitrum Stylus 這類擴展插件,甚至更廣泛的嘗試如 Starknet 生態(tài)、Fuel 等。
一個不可避免的結(jié)果是,我們看到了 L2 項目變得更加異構(gòu)的趨勢。我預(yù)計這一趨勢將持續(xù)下去,原因如下:
● 目前,一些獨立的 L1 項目正尋求更緊密地與以太坊生態(tài)系統(tǒng)對接,并有可能轉(zhuǎn)變?yōu)?L2 項目。這些項目可能希望采取分階段的過渡方式。立即進行整體過渡將降低可用性,因為技術(shù)尚未準(zhǔn)備好將所有內(nèi)容放入 rollup 方案中。如果在晚些時候進行轉(zhuǎn)型,可能會犧牲發(fā)展勢頭,而且太遲而失去意義。
● 一些中心化項目希望為其用戶提供更多的安全保障,并正在探索基于區(qū)塊鏈的途徑。在許多情況下,這些項目過去可能會研究「許可聯(lián)盟鏈」。實際上,它們可能只需要達到「半中心化」水平的程度。此外,它們通常具有非常高的吞吐量,至少在短期內(nèi)不適合使用 rollup 方案。
● 非金融應(yīng)用,如游戲或社交媒體,希望去中心化,但只需要一定程度的安全性。以社交媒體應(yīng)用為例,實際上涉及以不同方式處理應(yīng)用的不同部分:像用戶名注冊和賬戶恢復(fù)這樣的罕見且具有高價值的活動應(yīng)該在 rollup 方案中完成,但像帖子和投票這樣頻繁且低價值的活動需要較少的安全保障,如果區(qū)塊鏈?zhǔn)?dǎo)致您的帖子消失,那是可以接受的代價;但如果區(qū)塊鏈?zhǔn)?dǎo)致您丟失了您的帳戶,那將是一個更大的問題。
一個重要的主題是,盡管目前位于以太坊 L1 的應(yīng)用和用戶在短期內(nèi)愿意支付較小但仍然明顯的 rollup 費用,但來自非區(qū)塊鏈?zhǔn)澜绲挠脩舨惶敢膺@樣做:如果您之前支付了 1 美元,那么支付 0.10 美元就更容易接受,而如果之前支付了 0 美元,那就難以接受。這適用于今天仍然中心化的應(yīng)用,以及通常在其用戶群體較小的情況下?lián)碛袠O低費用的較小的 L1 項目。
一個自然而然的問題是:對于具體的特定應(yīng)用,rollup 方案、validiums(有效性驗證)和其他系統(tǒng)之間的這些復(fù)雜權(quán)衡中,哪一個對其而言是合理的?
Rollups vs Validiums vs Disconnected Systems
我們將探討的安全性與擴展性的第一個維度可以描述如下:如果您擁有一個在 L1 上發(fā)行的資產(chǎn),然后將其存入 L2,再將其轉(zhuǎn)移到您手中,那么您能獲得多大程度的保證可以將資產(chǎn)取回到 L1?
同時還有一個相關(guān)問題:是什么技術(shù)選擇導(dǎo)致了這種保證程度,以及該技術(shù)選擇的權(quán)衡是什么?
我們可以用一個簡單的圖表來描述這個問題:
值得一提的是,這是一個簡化的方案,其中存在許多中間選項。例如:
● 在 rollup 和 validium 之間:在 validium,任何人可以進行鏈上支付以支付交易費用,此時,操作者將被迫將一些數(shù)據(jù)提供到鏈上,否則將損失押金。
● 在 plasma 和 validium 之間:一個 Plasma 系統(tǒng)提供類似 rollup 的安全保證,具有鏈下數(shù)據(jù)可用性,但它僅支持有限數(shù)量的應(yīng)用程序。一個系統(tǒng)可以提供完整的 EVM,并為那些不使用這些較復(fù)雜應(yīng)用程序的用戶提供 Plasma 級別的保證,以及為使用這些應(yīng)用程序的用戶提供 validium 級別的保證。
這些中間選項可以看作是在 rollup 和 validium 之間的一個可選范圍上。但是,是什么促使應(yīng)用選擇該可選范圍上的特定點,而不是更左邊或更右邊的某個點呢?在這里,有兩個主要因素:
1. 以太坊原生數(shù)據(jù)可用性的成本,隨著技術(shù)的發(fā)展,這一成本將隨著時間的推移而降低。以太坊的下一個硬分叉 Dencun 引入了 EIP-4844(又稱 「proto-danksharding」),它提供了大約 32 kB/秒的鏈上數(shù)據(jù)可用性。預(yù)計在未來幾年,隨著完整的 danksharding 推出,這一數(shù)據(jù)可用性將逐步提高,最終目標(biāo)約為 1.3 MB/秒的數(shù)據(jù)可用性。同時,數(shù)據(jù)壓縮的改進將讓我們在相同數(shù)據(jù)量下實現(xiàn)更多功能。
2. 應(yīng)用程序的自身需求:用戶在高費用方面的損失,相對于應(yīng)用程序出現(xiàn)問題,有多嚴重?金融應(yīng)用程序會因為應(yīng)用程序的故障而損失更多;游戲和社交媒體涉及大量的用戶活動,且相對較低價值的活動,因此對于它們來說,不同的安全權(quán)衡是有意義的。
這種權(quán)衡大致上看起來如圖所示:
另一種值得一提的類型是預(yù)確認(pre-confirmations)。預(yù)確認是由一組參與者在 rollup 或 validium 中簽署的消息,表示「我們證明這些交易按此順序包含在其中,且 post-state root 是這個」。這些參與者可能會簽署一個與現(xiàn)實不符的預(yù)確認,但如果確實如此,他們的押金將被銷毀。
這對于低價值應(yīng)用(如消費者支付)非常有用,而高價值應(yīng)用(如數(shù)百萬美元的金融轉(zhuǎn)賬)可能會等待由系統(tǒng)完整安全性支持的「常規(guī)」確認。
預(yù)確認可以被視為另一個混合系統(tǒng)的例子,類似于上文提到的「plasma/validium 混合」,但這次是在具有完整安全性但高延遲的 rollup(或 validium)與具有較低安全級別但低延遲的系統(tǒng)之間進行混合。需要較低延遲的應(yīng)用會獲得較低的安全性,但可以與那些愿意為獲得最大安全性而承受較高延遲的應(yīng)用共存于同一生態(tài)系統(tǒng)中。
無需信任地讀取以太坊
另一種較少被考慮但仍然非常重要的連接形式,與系統(tǒng)讀取以太坊區(qū)塊鏈的能力有關(guān)。具體而言,這包括系統(tǒng)能夠在以太坊發(fā)生回滾時進行回滾的能力。要了解為什么這是有價值的,請考慮以下情況:
假設(shè)如圖所示,以太坊區(qū)塊鏈發(fā)生回滾。這可能是在一個epoch內(nèi)的臨時中斷,此時區(qū)塊鏈尚未最終確定(finalized);或者可能是因為過多的驗證者離線,而導(dǎo)致區(qū)塊鏈在較長時間內(nèi)無法最終確定的不活躍泄漏期(inactivity leak)。
由此可能產(chǎn)生的最糟糕情況如下所示:假設(shè)上圖中的頂部鏈的第一個區(qū)塊從以太坊鏈的最左側(cè)區(qū)塊中讀取某些數(shù)據(jù)。例如,有人在以太坊上存入了 100 個 ETH 到頂部鏈中,然后以太坊發(fā)生回滾,然而頂部鏈沒有回滾。結(jié)果是,頂部鏈的未來區(qū)塊正確地跟隨新的、正確的以太坊區(qū)塊鏈上的區(qū)塊,但錯誤的交易(即 100 個 ETH 的存款)仍然存在于頂部鏈中。這種漏洞可能導(dǎo)致貨幣的增發(fā),將頂部鏈上的橋接 ETH 轉(zhuǎn)變?yōu)椴糠譁?zhǔn)備金。
有兩種方法可以解決這個問題:
1. 頂部鏈只能讀取以太坊已最終確定的區(qū)塊,因此它永遠不需要進行回滾;
2. 如果以太坊發(fā)生回滾,頂部鏈也可能發(fā)生回滾。兩者都可以防止這個問題。前者更容易實施,但如果以太坊進入不活躍泄漏期,可能會導(dǎo)致功能在較長時間內(nèi)喪失。后者更難實施,但可以確保始終具有最佳功能。
請注意,第一種方法確實存在一種特殊情況。如果以太坊發(fā)生了 51% 攻擊,導(dǎo)致同時出現(xiàn)兩個新的不兼容區(qū)塊,它們都看起來已經(jīng)最終確定,那么頂部鏈可能會選擇錯誤的區(qū)塊(即以太坊社會共識最終不支持的區(qū)塊),并且需要回滾以切換到正確的區(qū)塊??梢哉f,事先編寫代碼來處理這種情況是沒有必要的;可以通過對頂部鏈進行硬分叉來處理這個問題。
區(qū)塊鏈能夠在無需信任的情況下讀取以太坊的能力有兩個重要原因:
1. 首先,這種能力可以降低將在以太坊(或其他第二層解決方案)上發(fā)行的代幣橋接到該鏈上涉及的安全問題;
2. 其次,這種能力使得使用共享密鑰存儲結(jié)構(gòu)的賬戶抽象錢包,能夠安全地持有該鏈上的資產(chǎn)。
盡管有爭議,但第一種方法的重要性已經(jīng)被廣泛認可。同樣,第二種方法也很重要,因為它意味著你可以擁有一個錢包,可以輕松更改密鑰,并在許多不同的鏈上持有資產(chǎn)。
擁有跨鏈橋是否意味著你是有效性網(wǎng)絡(luò)(validium)?
假設(shè)頂部鏈最初是作為一個獨立鏈啟動的,然后有人在以太坊上部署了一個橋接合約。橋接合約只是一個接受頂部鏈區(qū)塊頭(block headers)的合約,它會驗證提交給它的任何區(qū)塊頭是否附帶有效的證書,證明該區(qū)塊頭已被頂部鏈的共識接受,并將該區(qū)塊頭添加到列表中。
應(yīng)用程序可以在此基礎(chǔ)上構(gòu)建功能,如代幣的存款和提取。一旦這樣的橋建立起來,它是否提供了我們之前提到的任何資產(chǎn)安全保障呢?
到目前為止,還沒有!有兩個原因:
1. 我們是有驗證區(qū)塊的簽名,但沒有驗證狀態(tài)轉(zhuǎn)換是否正確。因此,如果您將在以太坊上發(fā)行的資產(chǎn)存入頂部鏈,并且頂部鏈的驗證器變得不誠實,他們可以簽署一個無效的狀態(tài)轉(zhuǎn)換,從而竊取這些資產(chǎn);
2. 頂部鏈仍然無法讀取以太坊。因此,您無法將以太坊本地資產(chǎn)存入頂部鏈,除非依賴于其他(可能不安全)的第三方橋接。
現(xiàn)在,讓我們將橋構(gòu)建為驗證型橋:它不僅驗證共識,還驗證了使用 ZK-SNARK 證明計算出的任何新區(qū)塊的狀態(tài)是否正確。
一旦完成這一步驟,頂部鏈的驗證器將無法竊取您的資金。他們可以發(fā)布一個包含不可用數(shù)據(jù)的區(qū)塊,阻止所有人提取資金,但他們無法竊取資金(除非試圖通過向用戶索要贖金來揭示允許其提取資金的數(shù)據(jù))。這與 validium 具有相同的安全模型。
然而,我們?nèi)匀粵]有解決第二個問題:頂部鏈無法讀取以太坊的數(shù)據(jù)。為了實現(xiàn)這一點,我們需要采取以下兩種方式之一:
1. 在頂部鏈中放置一個驗證已最終確定的以太坊區(qū)塊的橋合約;
2. 讓頂部鏈中的每個區(qū)塊包含一個最近以太坊區(qū)塊的哈希,并制定一個分叉選擇規(guī)則來強制執(zhí)行這些哈希鏈接。也就是說,如果頂部鏈的一個區(qū)塊鏈接到一個不在主鏈中的以太坊區(qū)塊,那么該頂部鏈區(qū)塊也將被視為非主鏈的。如果一個頂部鏈區(qū)塊鏈接到了最初在主鏈上的以太坊區(qū)塊,但后來變成非主鏈區(qū)塊,那么該頂部鏈區(qū)塊也必須被標(biāo)記為非主鏈的。
這些紫色的鏈接可以是哈希鏈接,也可以是驗證以太坊共識的橋接合約
這就夠了嗎?實際上,還不夠,因為存在一些小的邊緣情況:
1. 如果以太坊遭受了 51% 攻擊,會發(fā)生什么?
2. 如何處理以太坊的硬分叉升級?
3. 如何處理您的鏈的硬分叉升級?
對以太坊的 51% 攻擊會導(dǎo)致與頂部鏈的 51% 攻擊類似的后果,但情況相反。以太坊的硬分叉可能會使頂部鏈內(nèi)的以太坊橋失效。一個社會承諾(social commitment),即如果以太坊還原了一個已最終確定的區(qū)塊,就會還原,如果以太坊進行了硬分叉,就會進行硬分叉,是解決這個問題最干凈的方式。
這樣的承諾實際上可能永遠不需要真正執(zhí)行:如果頂部鏈的治理機構(gòu)發(fā)現(xiàn)可能發(fā)生攻擊或硬分叉的證據(jù),可以激活治理機構(gòu),僅在治理機構(gòu)失敗時才對頂部鏈進行硬分叉。
對于第三個問題,唯一可行的答案是,在以太坊上設(shè)置某種形式的治理機構(gòu),使其能夠讓以太坊上的橋接合約意識到頂部鏈的硬分叉升級。
總結(jié):雙向驗證橋接幾乎足以使區(qū)塊鏈成為 validium。主要剩下的要素是一種社會承諾,即如果以太坊發(fā)生異常情況導(dǎo)致橋接合約無法正常工作,另一條區(qū)塊鏈將進行硬分叉作出回應(yīng)。
結(jié)論
「與以太坊連接」有兩個關(guān)鍵維度:
1. 提取到以太坊的安全性;
2. 讀取以太坊的安全性。
這兩者都非常重要,并有不同的考慮因素。在這兩種情況下都存在一個范疇:
請注意,每個維度都有兩種不同的衡量方式(實際上有四個維度):提取安全性可以通過(i)安全級別,和(ii)多少用戶或使用情況受益于最高安全級別來衡量。
而讀取安全性可以通過(i)其他區(qū)塊鏈網(wǎng)絡(luò)能夠多快讀取以太坊的區(qū)塊,特別是最終確定的區(qū)塊與任何區(qū)塊的區(qū)別,以及(ii)其他區(qū)塊鏈網(wǎng)絡(luò)在處理諸如 51% 攻擊和硬分叉等邊緣情況時的社會承諾程度來衡量。
在這個設(shè)計空間的許多區(qū)域中都存在項目的價值。對于某些應(yīng)用程序,高度的安全性和緊密的連接至關(guān)重要。對于其他應(yīng)用程序,為了獲得更大的可擴展性,可以接受更寬松的條件。在許多情況下,從今天開始使用較寬松的條件,隨著技術(shù)的改進,在未來十年內(nèi)逐漸過渡到更緊密的耦合可能是最優(yōu)選擇。
評論
針對 Vitalik 的此篇文章,推特用戶 @tmel0211 認為,Vitalik 此文明里暗里在給以太坊 L2 畫邊界和樹標(biāo)準(zhǔn),并發(fā)表見解:
● 靠攏以太坊可以獲得生態(tài)同時,一部分過于中心化的項目接軌以太坊也能獲得共識安全性,因此以太坊 L2 成了眾星捧月般的存在。
● Plasma和Rollup以及Validium,都是 L2 擴容方案,各有優(yōu)缺點。Rollup 要依賴以太坊做 DA 資產(chǎn)最安全,但成本比較大,Vailidum 放棄了 DA 的依賴,節(jié)省了成本,但是安全性受影響;Plasma 這類獨立鏈很便宜,但需第三方信任,無法依賴以太坊做安全和共識。針對這個問題, Vitalik 的觀點是 DA 成本問題只是暫時,坎昆升級和 danksharding 后這一問題會得到解決;而至于用哪種方案,應(yīng)用應(yīng)考慮自身特性,越偏金融和資產(chǎn)保護就應(yīng)該偏 Rollup 類型的 L2,反之游戲或者非金融應(yīng)用就可以用 validium 以及獨立側(cè)鏈;擴容方案的類型適用范圍其實很清楚,但眼下卻清一色的 Rollup 解決方案,尤其是 OP Stack 放大了一鍵發(fā)鏈效應(yīng),但 L2 發(fā)鏈更應(yīng)該根據(jù)應(yīng)用場景適配鏈類型。
● 以太坊 layer2 有兩個關(guān)鍵性:1、提款到以太坊的安全性;2、讀取以太坊的安全性。提款安全性的核心無疑導(dǎo)向了 DA 在以太坊的 Rollup 解決方案,而長期來看,讀取以太坊的安全性,則指向一些有獨立安全和共識保障的 Validium 方案。按照這個標(biāo)準(zhǔn),ZK-Rollup 的安全性最高,其次 OP-Rollup,之后才是 Validium、Plasma 這些。