為什麼說 Optimistic Rollup 比 ZK Rollup 更能代表以太坊擴容的未來?

來源:Offchain Labs

編譯: James,鏈捕手

ZK Rollups 會是通用智能合約系統的未來嗎?關於這個問題的討論,我們似乎已聽到太多。但是,根據我們從運行數百個DApp、數十萬用戶、數百萬筆交易的開放、安全、與 EVM 兼容的 Layer 2 中實踐經驗來看,ZK Rollups 不會成為通用智能合約系統,至於原因,本文會做詳細解釋。

我們將 Arbitrum 構建為 Optimistic Rollup (OR) 擴容解決方案,因為我們相信 Optimistic Rollup 是滿足用戶對安全、去信任、與 EVM 兼容 L2 的現實需求最佳方式。我們選擇了 Optimistic Rollup而不是 ZK Rollups,因為 Optimistic Rollup 系統具有固有可擴展性和成本優勢;時至今日,如果再讓我們做一次選擇,答案依然是 Optimistic Rollup,想知道為什麼嗎?請繼續讀下去。

內容概要:

1、人們想要一條能夠提供安全性、有保證進度、可見性和快速確定性的去信任區塊鏈——他們希望這條區塊鏈上的交易成本更低且能與現有工具兼容。

2、在提供上述服務和功能的時候,與 ZK Rollup 相比,我們深入研究了如何使用Optimistic Rollup的具體細節。

3、Optimistic Rollup 可以以較低的成本提供用戶想要的功能,因為構建 ZK Rollup 證明的鏈下成本非常高。

4、由於 ZK 證明非常昂貴,因此完全參與 ZK 協議可能需要專用硬件和/或大規模并行性,從而使網絡變得更加中心化。

5、ZK Rollup所謂的“優勢”,要麼 Optimistic Rollup 也可以支持,要麼需要犧牲重要的安全性或可用性功能。

6、總之,Optimistic Rollup 在操作成本上佔據優勢,因為執行代碼比計算複雜的密碼證明要“便宜”得多。

讓我們從頭開始

首先,肯定要先談以太坊。以太坊用戶創建交易以部署智能合約或與智能合約交互,你可以通過幾種不同的方式來考慮以太坊交易。一方面,您可以將其視為不透明的數據區塊,但如果你查看數據內容,就會發現一筆交易當然遠不止這些;所謂交易,其實應該是一個請求,要求智能合約做某事,比如:記錄一些信息,移動一些資產等。

當交易在以太坊區塊鏈上發布時,會發生兩件重要的事情——

第一件事:一旦某筆交易被包含在區塊鏈內,以太坊則會根據有序交易集達成共識。

第二件事:以太坊執行這些交易並計算結果狀態更新。

Rollups:Optimistic Rollup ZK Rollup都有什麼共同點?

如果讓每個以太坊節點執行每筆交易,成本勢必會非常高,而 Rollups 其實是一類可以顯着減輕網絡負載的擴展解決方案,交易實際執行並不是在以太坊區塊鏈上完成的,而是轉移到 Layer 2(“L2”)上。

但是等一下 –  Rollups 應該由以太坊保護,不是嗎?的確,這些擴容解決方案的安全性離不開以太坊,這意味着即使交易發生在 Layer 2 上,我們仍然需要以太坊用某種方式來保證交易執行的正確性。那麼,以太坊如何才能對 Rollups 狀態給予批准呢?

答案就是:證明。Rollups使用專門的證明來向以太坊證明自己的正確性,即使不執行交易,以太坊也可以驗證其正確性。

Rollups:Optimistic Rollup ZK Rollup都有什麼不同點?

這些“證明”看起來很神奇:允許以太坊在不實際執行交易的情況下驗證 Rollups 狀態。您可能想知道這些證明是什麼樣子,以及它們在實踐中是如何實現的——而這,就是各種 Rollups 風格與眾不同的地方。

ZK Rollups 使用 有效性證明(validity proofs),它依賴於某一方發布簡潔的密碼證明,這個“證明”可以確定該方知道以特定狀態結尾區塊鏈的有效性。也就是說,“提供證明的那一方”需要執行區塊鏈交易才能知道如何構造證明,然後通過一系列複雜的密碼操作來構造“證明”。這些“證明”將由 Layer 1 鏈上合約進行檢查。ZK Rollups的“證明”比較簡潔,而且驗證交易也相對比較便宜,因此可以直接通過以太坊交易來完成。

Optimistic Rollups使用不同類型的證明:欺詐證明(fraud proofs)。顧名思義,Optimistic Rollups 是“積極、樂觀 ”的,因為當他們將更新的狀態發布到以太坊區塊鏈時,他們根本沒有發布任何“證明”。任何人都可以發布一個 Rollup 區塊,其中包含關於執行某個交易正確結果的聲明,其他節點執行相同交易時,只要不同意第一個節點的主張就可以提出挑戰。有效的爭議協議可以解決任何分歧,保證正確的一方將贏得挑戰。各方有強烈的動機只發布正確的主張,而不是質疑不正確的主張,因此在常見情況下,所有節點都會“簡單地”執行所有交易,並且永遠不需要調用證明代碼——整個過程都由 Layer 1 合約負責管理。

好的,那麼哪種類型的 Rollup 更好?在本文的其餘部分,我們將在幾個維度上比較 ZK Rollup 和 Optimistic Rollup,並解釋為什麼我們認為未來是屬於 Optimistic Rollup 的,而且本質上來看,像 Arbitrum 這樣的 Optimistic Rollup 可擴展性顯然更好。

為什麼說 Optimistic Rollup 比 ZK Rollup 更能代表以太坊擴容的未來?

Optimistic Rollup vs. ZK Rollup:成本

Optimistic Rollup和 ZK Rollup 之間最重要的一個區別可能就是成本

Optimistic Rollup 要求節點簡單地執行合約,例如,如果合約執行添加操作,則節點執行該添加操作。

相比之下,ZK Rollup 需要生成複雜的密碼證明,需要進行成百上千次橢圓曲線運算才能將加法運算包含在證明中,因此成本很高。更重要的是,ZK Rollup 會導致每個合約中的每條指令產生成本,由於需要對每條指令生成複雜的密碼證明,而不僅僅是執行指令,因此給 ZK Rollup 帶來了一個固有成本劣勢——而且是一個很大的劣勢。

ZK Rollup的支持者有時會爭辯說,該解決方案只需要一方創建“證明”,而Optimistic Rollup 則要求系統有許多節點。但是,如果你正在運行一個規模較大的區塊鏈,無論你使用哪種證明系統,它都會有很多節點。真正的區塊鏈需要很多節點來服務各類活動,比如非變異調用、搜索事件日誌、向用戶顯示交易數據、為用戶提供將資金提取回 Layer 1 所需的數據等等。Optimistic Rollup 區塊鏈的安全性依賴於這些節點做他們已經需要做的事情——執行交易並追蹤區塊鏈的正確狀態。

另一方面,使用 ZK Rollup,就會導出出現昂貴的、基於橢圓曲線的證明,而這會造成非常大的附加成本。為了希望大規模證明 ZK Rollup,要麼需要專用硬件設備,要麼需要支持大規模并行——或者兩者兼而有之,這些都是非常昂貴的。

結論:Optimistic Rollup 系統具有巨大的固有成本優勢。

Optimistic Rollup vs. ZK Rollup:EVM 兼容性

我們在構建 Arbitrum時的一個重要考慮因素,就是與以太坊虛擬機(EVM)的兼容性。 Arbitrum 完全兼容 EVM,而且具有相同的 RPC 接口並接受與 EVM 相同的字節碼,這意味着為以太坊編寫的任何代碼都可以在 Arbitrum 上“即插即用”。

Optimistic Rollup已經運行開放的、與 EVM 兼容的區塊鏈(包括測試網)一年多了,我們了解到真正兼容以太坊非常具有挑戰性。最初階段 95% 的兼容性並不太難,但在實踐中還不夠好,只有付出大量努力和構建不會妨礙產品的架構才能讓兼容性表現的更好。

在兼容性方面,ZK Rollup 系統運行的範圍很廣。但有些人認為 ZK Rollup 是個“老派”工具,因為他們還在鼓勵人們學習他們的自定義語言。此外,一些 ZK Rollup 系統並不試圖兼容以太坊,當然,對於那些不關心以太坊兼容性的開發人員和用戶來說,也不錯。

客觀上來說,EVM算是有史以來最好的鏈上工具。我們認為,考慮到已經與 EVM 配合使用的開發人員、代碼和開發人員工具的數量,EVM 本身具有非常大的實際優勢。考慮一個部署在以太坊上的項目,如果該項目想要擴展到 Rollup,那麼開發人員就必須用新語言重寫他們的代碼、委託新的安全審計、並且維護多個代碼庫,這些工作不僅繁瑣且容易出錯。但即使對於尚未編寫任何代碼的新項目,EVM 兼容性也是非常重要,因為兼容 EVM 意味着這些項目可以充分利用圍繞 EVM 存在的代碼、工具和人才庫。

也一些 ZK Rollup 項目正在努力實現 EVM 兼容版本,但聲明含糊不清,我們也不知道迄今為止發布的代碼是否允許在 ZK Rollup上運行 EVM 合約,一些系統仍然不具備 EVM 兼容性。舉個例子,一個聲稱與 EVM 兼容的 ZK Rollup 系統真實兼容性並不太好,該系統——

  • 未能實現 ADDMOD、SMOD、MULMOD、EXP、SELFDESTRUCT 和 CREATE2 操作碼兼容;
  • 正在考慮取消對 XOR、AND 和 OR 的支持;
  • 不支持標準交易格式;
  • 不支持任何預編譯;
  • 可能會限制交易中的合約調用次數。

似乎看起來 ZK Rollup 模式從根本上就不兼容 EVM,這顯然與Optimistic Rollups 實現的完全兼容性有很大差距。

需要澄清的是,目前依然存在多個特定於應用程序的 ZK Rollup 系統示例(比如 Zcash、ZKSync 1.0、Loopring)。事實上,這些系統運行良好,但核心區別在於,它們針對非常適合 ZK Rollup實現的特定應用程序進行了微調和專門優化。雖然有團隊聲稱在研究一種通用編譯器,允許以兼容方式“打通” EVM 到 ZK Rollup,但並沒有可用公共代碼或基準來說明用戶定義的 ZK-EVM 合約的證明成本,根據現有掌握的知識和所有公開可用的數據,我們認為這個成本會非常高。

結論:只有 Optimistic Rollups 以最低的成本支持完全的 EVM 兼容性。

Optimistic Rollup vs. ZK Rollup:去信任可見性和壓縮

在設計交易套利時,Optimistic Rollups 的關鍵屬性之一是去信任可見性。簡而言之,去信任可見性意味着任何人都可以在沒有中心化組織幫助的情況下查看或獲取區塊鏈的內容。更重要的是,這不僅意味着每個人都可以偶爾看到狀態快照——也意味着每個人都可以看到鏈的完整歷史——它是如何達到當前狀態的。一個實用的區塊鏈讓任何人都可以運行一個節點,同時節點也可以支持非變異調用、搜索事件歷史記錄並查看每筆交易——無需依賴中心化的數據提供者,而無信任的可見性使這成為可能。

坦率地說,一些 ZK Rollup 系統在可見性方面似乎走了捷徑,並試圖談論他們沒有提供完整的區塊鏈功能的事實。當您聽到談論“壓縮”時,請仔細想想看——他們是不是說他們正在更有效地編碼鏈的內容?(Arbitrum 這樣做,並且在我們的 Nitro 版本中會做得更好)或者他們是說區塊鏈歷史的某些部分根本不可用,除非中心化數據提供者願意稍後與您共享?

回想一下,ZK Rollup 證明其實只證明了“證明者”知道的有效鏈,但“證明”本身不會告訴你那個鏈是什麼,即使你有足夠的數據來驗證“證明”,可能也沒有足夠的數據來重建區塊鏈的歷史數據。

舉個例子,假設 Alice 提交了一筆支付給 Bob 的 1 ETH 交易,很快又出現了 Bob 提交了一筆支付給 Charlie 的 1 ETH 連續交易。接下來,你需要驗證一個證明,即:Alice 比以前少了 1 ETH,Bob 的餘額沒有改變,而 Charlie 比以前多了 1 ETH。

但是發生了什麼? Alice 付錢給 Bob 了嗎?Bob 付錢給Charlie 了嗎?也許是 Alice直接付錢給 Charlie,也許是 Alice 銷毀了一個 ETH,而 Charlie 所獲得的 1 ETH 是由其他人支付的,也許這個“其他人”名叫 Diana,而不是 Bob。如果我們從區塊鏈中尋找 Bob 的支付證據,但對於一些不提供區塊鏈可見性的 ZK Rollup 來說,根本無法區分並找到 Bob 支付交易。

許多智能合約應用程序所需要的不是僅僅知道幾個檢查點,而是需要了解整個鏈條——了解發生了什麼以及如何達到最終狀態。 ZK Rollups 有時吹噓比 Optimistic Rollups 更好的“壓縮”,但它們隱藏了區塊鏈的數據,這意味着只有“證明者”知道數據不是壓縮,它們甚至有可能刪除依稀重要數據。如果 ZK 提供者說他們“不需要”發布整條區塊鏈的歷史,其實他們真正的意思是他們無法保證區塊鏈的可見性,而放棄區塊鏈可見性保證並不是 Optimistic Rollup 願意做出的妥協。

結論:Optimistic Rollup 系統能以最低成本提供去信任的可見性。

為什麼說 Optimistic Rollup 比 ZK Rollup 更能代表以太坊擴容的未來?

Optimistic Rollup vs. ZK Rollup:去信任,及時終結

在評估 Rollup 時,我們需要確定一個關鍵要求,即:Rollup 是否需要提供去信任的、及時的終結。簡單來說,這意味着在您提交交易后,你和其他所有人都應該及時且確定地知道該交易的結果,並且沒有人能夠更改或撤消這個交易。

在我們看來,實現及時終結的最佳方法是將交易的順序與交易執行分開。排序產生一個最終的提議交易序列,並且嘗試按該序列執行交易。如果交易的執行是確定性的,因為它是基於Arbitrum的,那麼確定交易的順序就足以確定結果,因為結果是交易順序的確定性函數。如果每個人都知道交易的順序,那麼每個人都可以輕鬆確定結果。

完成一個序列需要將序列發布到 Layer 1 鏈,並包含足夠的信息以允許任何人自己執行交易,以便無需信任地了解結果。理想的匯總是儘可能頻繁地將排序的交易數據發布到 Layer 1 鏈。

在 Optimistic Rollup 系統中,發布到 Layer 1 鏈的成本最低,實際上 Arbitrum 通常會在每一分鐘左右將排序的交易數據發布到 Layer 1 鏈,為用戶提供快速確定性並保證沒有人可以撤消他們的交易。此外,Arbitrum 還會每隔一小時左右就產生一個新的Optimistic Rollup 結果主張(Result Assertion),但由於序列已經最終確定並且執行是確定性的,因此完全不會減慢最終確定的速度。

原則上,ZK Rollup 系統也可以按照類似的方式運行;即,將交易的順序(可以經常發布到 Layer 1)與稍後進行的驗證與偶爾的有效性證明分開。然而,與 Optimistic Rollup 系統發布數據一樣,以這種方式運行的 ZK Rollup 需要將基本相同的數據發布到 Layer 1 鏈上,但對於上文中討論的(所謂)“壓縮”技術並不支持這麼做。ZK Rollup 為了讓“壓縮”技術起作用,必須實時證明一系列 Layer 2 交易的有效性,在同一個 Layer 1 交易中,而且每次發布一批 Layer 2 交易時都必須這麼做。

因此,雖然所謂的“壓縮”技術備受 ZK Rollup 吹捧,但在遇到上述情況時,他們不得不做兩個選擇:

1) 每分鐘左右發布排序交易以及執行證明:這可以保持快速確定性,但需要每分鐘在情況鏈外生成 ZK 證明並在 Layer 1 鏈上進行驗證。根據實施情況,在區塊鏈鏈上發布 ZK 證明的成本估計在 500,000 到 500 萬 gas 之間。

2) 每小時發布排序交易和證明:這種做法雖然可以使 ZK 證明檢查成本變得略微合理,但將最終確定時間會延長到一個小時。在用戶向 ZK Rollup 運營者提交交易和其發布到情況鏈上之間的時間裡,用戶無法保證他們的交易是否會被包括在內,而且只能相信 ZK Rollup 的運營者。

如果你正在構建一個 ZK Rollup 系統,會發現上述兩個選項其實都是不可接受的——第一個成本太昂貴,第二個無法提供及時的終結。因此,如果最終會使用相同類型的序列器(sequencer),就需要在 Arbitrum 的 ZK Rollup 版本中發布與我們的 Optimistic Rollup 版本基本相同的數據。

如果您聽到有人吹捧 ZK Rollup 可以將數小時的數據壓縮為一個點,請不要擔心。如果他們只在很長一段時間結束時發布單點數據,那麼這意味着他們在這段時間內沒有提供最終確定性。

結論:出於實際考慮,ZK Rollup 系統不得不以 Optimistic Rollup 相同的方式處理實時終結。

Optimistic Rollup vs. ZK Rollup:去信任活性

去信任活性意味着任何人都可以迫使系統取得進步。(去信任的安全屬性可以確保進度是正確的。)

Optimistic Rollup 允許任何節點聲明正確執行交易,提出該聲明只需要節點執行鏈的交易,然後存入一筆可以在協議確認聲明後退還的質押即可。

在 ZK Rollup 系統上,進程要求任何節點都可以創建併發布推進區塊鏈狀態所需的 ZK 證明,但並不是每個人都可以使用普通硬件和軟件就能實現的。因此,如果要完成 ZK 證明就必須構建或購買特定的專用硬件而且還要進行大規模并行計算。即便是在普通設備上,也需要構建合適的ZK證明的路徑,不提供此功能或未發布為其系統生成證明的代碼的 ZK 提供者就無法提供去信任進程,系統也就沒有任何活性保證。也就是說,ZK Rollup 的系統是中心化的,因為只有擁有特殊設備的證明者才能推動進程。(目前尚不清楚領先的 ZK rollup 提供這是否會為普通用戶提供可行的證明。)

結論:在 Optimistic Rollup 系統中更容易提供去信任進程。

Optimistic Rollup vs. ZK Rollup:橋接

當然,ZK Rollup 並非一無是處,它在一個領域裡具有較大優勢,即:以太坊跨鏈連接。在資金轉移到 Layer 1 時,Optimistic Rollup 系統會比預期延遲一周,而 ZK Rollup 允許在 ZK 證明發布到 Layer 1 后立即建立橋接。但從本質上來看,這兩種方式其實並沒有太大的區別,因為 Optimistic Rollup 也可以讓用戶快速利用橋接服務,以低延遲將 Layer 2 資金交換為 Layer 1 資金。所以ZK的優勢主要是用戶可以避免支付跨鏈橋接服務所收取的小額費用(在價格上具有一定競爭里)。但在實際應用中,Optimistic Rollup 的表現其實也不錯,因為目前已經有許多實時快速跨鏈橋提供從 Arbitrum 的即時提款服務。

需要強調的是,ZK Rollups 的橋接優勢其實並不是非常大:因為它只能用於從 Layer 2 橋接回以太坊。曾幾何時(大約 2019 年),許多人認為以太坊擴容解決方案不會那麼快出現,也許只會有一兩個 DApp 緩慢推出。但在實際應用中,Rollup 用戶會發現自己需要在 Layer 1 和 Layer 2 之間來回切換,而這其實是 ZK Rollup 無法支持的,相比之下,Arbitrum 擁有一個蓬勃發展的生態系統,數百個 DApp 遍布在 DeFi 領域裡的每個角落,許多用戶正在連接到 Arbitrum 並長期留在那裡。此外,在為用戶提供跨鏈支持方面,Arbitrum 不僅僅支持以太坊,也會和其他 Lauer 1 和側鏈對接,對於這種直接橋接,ZK Rollups 的優勢就沒有 Optimistic Rollups 那麼大了。

結論:ZK Rollup 系統在橋接到 Layer 1 方面略有優勢,但在快速橋接和多鏈使用模式下,ZK Rollup 的實際應用並沒有預期的那麼好。

總結

在全面比較 Optimistic Rollup 與 ZK Rollup 系統之後,我們認為 Optimistic Rollup 系統顯然是贏家。Optimistic Rollup 成本更低,與 EVM 和現有工具完全兼容,實踐中唯一真正的缺點是在沒有快速跨鏈橋接服務的情況下,Layer 1 的橋接速度較慢。ZK Rollup 的許多假定優勢需要犧牲區塊鏈可見性或終結時間,我們認為這不是用戶想要的。

不僅如此,ZK Rollup 想要做出改變似乎也不太可能。與 EVM 兼容的合約執行的 ZK 證明仍將比 Optimistic Rollup 執行要昂貴得多,並且 ZK Rollup 也很難實現有保證的進度、區塊鏈可見性和去中心化的要求。如果情況發生變化,我們願意將 Arbitrum 切換到基於 ZK Rollup 的交易執行,但我們認為它們不會做出優化改變。

最後要說的是,人們傾向於將 Arbitrum 當前提供的內容與 ZK 系統聲稱他們將在未來提供的內容進行比較,但這種比較其實毫無意義,因為我們要比,就拿現有系統作對比。像 Arbitrum 這樣的 Optimistic Rollup 擴容解決方案是唯一支持通用智能合約的開放部署系統。或者,如果要比較未來的系統,那麼我們就應該將未來的 Arbitrum與未來的 ZK 系統進行比較。

我們正在不斷改進 Arbitrum,舉個例子,在我們即將發布的 Nitro 版本里,將會為用戶提供更低的交易成本和更好的鏈上優化無損壓縮數據,不僅如此,我們正在不知疲倦地工作以改進交易套利並將成本降低到理論極限。正如我們在這篇文章中所分析的那樣,我們相信,當考慮到目前存在的兩個系統以及它們各自的理論限制時,Optimistic Rollups 顯然是真正的贏家。

本文鏈接:https://www.8btc.com/article/6717194

轉載請註明文章出處

(0)
上一篇 2021-12-21 14:29
下一篇 2021-12-21 15:14

相关推荐