Jump Crypto:詳解各類區塊鏈擴容解決方案

JumpCrypto
2022-04-01 17:18:03
收藏
有效擴展區塊鏈的能力是決定加密行業未來成功的關鍵因素。

作者:Rahul Maganti,Jump Crypto合夥人

原標題:《A Framework for Analyzing L1s

編譯:胡韜,鏈捕手

介紹

在上一篇文章中,我們建立了一個分析 L1 的框架,特別是考慮到最近已經建立了無數的新鏈。我們還簡要指出,許多這些新穎的 L1 背後的動機主要集中在尋找區塊鏈可擴展性的解決方案。讓我們仔細看看其中的一些解決方案。在這篇文章中,我們的目標是:

  • 提供各種第 1 層和第 2 層擴展解決方案的概述。
  • 沿著一些核心維度分析和比較這些不同的解決方案。
  • 給出我們對哪些擴展架構最有前途的看法。

可擴展性三難困境

在2017 年初的一篇博客文章中,Vitalik Buterin 提出了可擴展性三難困境,指的是定義區塊鏈系統可行性的三個主要屬性:(1)去中心化;(2) 安全;(3) 可擴展性。‌‌

在這三個方面,我們認為在不過度損害其他兩個支柱的情況下,可擴展性仍然是最難解決的問題。安全性和去中心化對於這些系統的性能仍然至關重要,但正如我們稍後將看到的,解決擴展分佈式系統的挑戰也為去中心化和安全性提供了關鍵突破,這是出於非常根本的原因。因此,我們強調有效擴展區塊鏈的能力將是更普遍地決定加密行業未來成功的關鍵因素。

從廣義上講,擴容有兩種主要類別:第 1 層和第 2 層。兩者對於增加區塊鏈的吞吐量都是相關的和關鍵的,但側重於 Web3 堆棧的不同方面甚至層。在過去的幾年裡,擴容無疑得到了很多關注,並且經常被吹捧為大規模採用區塊鏈技術的關鍵途徑,尤其是在零售用途不斷攀升和交易量增加的情況下。

第 1 層 (L1s)

第 1 層很少有主要的擴展架構脫穎而出:

  • 狀態分片
  • 並行執行
  • 共識模型的改進
  • 有效性證明

狀態分片

分片有很多種,但核心原則始終保持不變:

  • 分片分配驗證和計算的成本,因此每個節點都不需要驗證每筆交易。
  • 分片中的節點,就像在更大的鏈中一樣,必須:(1)中繼交易;(2) 驗證交易;(3) 存儲分片的狀態。
  • 分片鏈應通過以下方式保留非分片鏈的安全原語:(1)有效的共識機制;(2) 安全證明或簽名聚合。

分片允許將一條鏈拆分為K個不同的獨立子網或分片。如果網絡中總共有N個節點,則有N/K個節點操作K個子網中的每一個子網。當給定分片(比如K1)中的一組節點驗證一個區塊時,它會給出一個證明或一組簽名,聲稱該子網是有效的。然後所有其他節點,S-{K1}需要做的就是驗證簽名或證明。(驗證的時間通常比重新運行計算本身要短得多)。

要理解分片的擴展優勢,關鍵是要理解這種體系結構在增加鏈的總計算能力方面提供的價值。現在,假設一個節點的平均容量為C:O(C)。假設鏈需要處理B塊。非分片鏈的計算能力是微不足道的O(C);然而,由於分片鏈可以並行處理塊,因此分片鏈的容量為:O(CB)。一般來說,運行時節省的成本是倍增的!這裡可以找到Vitalik更深入的技術解釋。切分是以太坊2.0和近幾年發展路線圖中最顯著的基礎組件。

並行執行

分片和並行執行在許多方面是相似的。雖然分片嘗試在不同子鏈上並行驗證區塊,但並行執行側重於將處理各個節點交易的工作分開。這種架構的效果是,節點現在可以並行處理數千個合約!

我們不會詳細介紹其工作原理,但這裡有一篇很棒的文章,更深入地介紹了 Solana 中並行執行如何通過Sealevel工作。

共識模型

共識是第 1 層區塊鏈協議的核心------對於要在鏈上最終確定的交易/數據,網絡中的參與者需要一種就鏈狀態相互達成一致的方式。因此,隨著新交易的添加和鏈的進展,共識是確保共享狀態一致性的一種手段。然而,不同的共識機制也可能導致我們衡量區塊鏈性能的關鍵指標出現根本差異:安全性、容錯性、去中心化、可擴展性等等。然而,單獨的共識模型並不能決定區塊鏈系統的性能。不同的共識模型適用於不同的擴展機制,最終可以確定特定網絡的功效。

第 2 層 (L2s)

從根本上說,第 2 層擴展基於第 1 層上的資源(無論是計算資源還是其他資源)變得異常昂貴的前提。為了降低用戶、服務和其他社區參與者的成本,應將繁重的計算負載移至鏈外(第 2 層),同時仍試圖保留第 1 層上的加密和博弈論原語提供的底層安全保證(公私密鑰對、橢圓曲線、共識模型等…)

這方面的早期嘗試主要涉及在鏈下兩方之間建立"可信通道",然後在第 1 層完成狀態更新。狀態通道通過"將區塊鏈狀態的某些部分鎖定到由一組定義的參與者控制的多重簽名合約中"來做到這一點。Plasma 鏈由 Vitalik 首先在本文中提出:允許創建無限數量的側鏈,然後使用欺詐證明(PoW、PoS)來完成第 1 層上的交易。

Rollup(它們有什麼好處)

Rollup也是一種將計算移至鏈下(第 2 層),同時仍記錄消息或交易在鏈上(第 1 層)的方式。原本會在第 1 層記錄、挖掘和驗證的交易在第 2 層記錄、匯總和驗證,然後發布到原始第 1 層。該模型實現了兩個目標:(1)釋放基礎層的計算資源;(2) 仍然保留第 1 層的底層密碼學安全保證。

  • 交易被"匯總",然後傳遞給由 Sequencer 排序的的收集箱合約交易
  • 存儲在 L2 上的合約執行鏈外合約調用
  • 然後,合約將新狀態的 Merkle 根作為 calldata 發回 L1 鏈

Optimistic Rollup

驗證者將在先驗假設它們有效的情況下將交易發布到鏈上。如果他們這樣選擇,其他驗證者可以質疑交易,但肯定不是必須的。(把它想象成一個無辜的直到被證明有罪的模型)。然而,一旦發起挑戰,兩方(比如 Alice 和 Bob)就被迫參與爭議解決協議。

在高層次上,爭議解決算法的工作原理如下:

  1. Alice 聲稱她的斷言是正確的。Bob 不同意。
  2. 然後 Alice 將斷言分成相等的部分(為簡單起見,假設這是一個二等分)
  3. 然後 Bob 必須選擇他認為斷言的哪一部分(比如前半部分)是錯誤的
  4. 遞歸運行步驟 1 - 3。
  5. Alice 和 Bob 玩這個遊戲,直到子斷言的大小只是一个指令。現在,協議只需執行此指令。如果 Alice 是正確的,那麼 Bob 就會失去他的股份,反之亦然。

可以在此處找到對 Arbitrum 爭議解決協議的更深入解釋。

在 Optimistic 的情況下,成本很小/恒定O(1)。在有爭議的情況下,該算法在O(logn)中運行,其中n是原始斷言的大小。

這種 Optimistic 驗證和爭議解決架構的一個關鍵結果是,Optimistic Rollup 有一個誠實方保證,這意味著要使鏈安全,協議只需要一個誠實方來發現和報告欺詐行為。

Zero-Knowledge Rollups

在當今的許多區塊鏈系統和第 1 層中,共識是通過有效地"重新運行"交易計算來驗證鏈的狀態更新來實現的。換句話說,要在網絡上完成交易,網絡中的節點需要執行相同的計算。這似乎是一種驗證鏈條歷史的幼稚方法 --- 確實如此!那麼問題就變成了,有沒有一種方法可以確保我們可以快速驗證交易的正確性,而不必在大量節點上複製計算。(對於那些有一定複雜性理論背景的人來說,這個想法是 P vs. NP 的核心)嗯,是的!這就是 ZK rollups 派上用場的地方------實際上,它們確保驗證的成本大大低於執行計算的成本。

現在,讓我們深入了解 ZK-Rollups 如何在保持高度安全性的同時實現這一目標。在高級 ZK-rollup 協議中包含以下組件:

  • ZK 驗證 - 驗證鏈上的證明。
  • ZK Prover - 從應用程序或服務中獲取數據並輸出證明。
  • 鏈上合約 -跟蹤鏈上數據並驗證系統狀態。

已經出現了大量的零知識證明系統,尤其是在去年。有兩種主要的證據類別:(1)SNARK;(2) STARK,儘管他們之間的界限每天都變得越來越模糊。

我們不會討論 ZK 證明系統現在如何工作的技術細節,但這裡有一個很好的圖表,它說明了我們如何從智能合約獲得類似於可以有效驗證的證明的東西。

Rollup比較的關鍵維度

速度

正如我們之前提到的,擴展的目標是提供一種方法來提高網絡處理交易的速度,同時降低計算成本。因為 Optimistic Rollups 沒有為每筆交易生成證明(在誠實的情況下沒有額外的成本),它們通常比 ZK Rollups 快得多。

隱私

ZK 證明本質上是保護隱私的,因為它們不需要訪問計算的基礎參數來驗證它。想想下面這個具體的例子:假設我想向你證明我知道鎖和盒子的組合。一種天真的方法是與你分享組合並要求您嘗試打開盒子。如果盒子打開,那麼很明顯我知道這個組合。但是假設我必須證明我知道這個組合而不透露任何關於組合的信息。讓我們設計一個簡單的 ZK-proof 協議來演示它是如何工作的:

  • 我請你在一張紙上寫下一句話
  • 我把盒子遞給你,讓你從盒子上的一個小縫裡撕開那張紙
  • 我背對著你,把組合打進盒子裡
  • 我打開紙條,把紙條還給你。
  • 你確認紙條是你的!

就是這樣!一個簡單的零知識證明。一旦你確認該紙幣實際上與你放入盒子中的紙幣相同,我已向你證明我能夠打開盒子,因此先驗地知道盒子的組合。

通過這種方式,零知識證明特別擅長允許一方向對方證明聲明的真實性,而無需透露對方不會擁有的任何信息。 進軍區塊鏈可擴展性

EVM 兼容性

以太坊虛擬機 (EVM) 定義了一組指令或操作碼,用於實現基本的計算機和特定於區塊鏈的操作。以太坊上的智能合約編譯成這個字節碼。然後字節碼作為 EVM 操作碼執行。EVM 兼容性意味著你正在運行的虛擬機指令集和 EVM 指令集之間存在 1:1 映射。

當今市場上最大的第 2 層解決方案是建立在以太坊之上的。當以太坊原生項目想要遷移到第 2 層時,EVM 兼容性提供了一種無縫的、最少代碼的擴展路徑。項目只需要在 L2 上重新部署他們的合約並從 L1 橋接他們的代幣。

最大的 Optimistic Rollups 項目 Arbitrum 和 Optimism/Boba 都與 EVM 兼容。zkSync 是為數不多的考慮到 EVM 兼容性而構建的 ZKRollup 之一,但仍然缺乏對一些 EVM 操作碼的支持,包括ADDMOD、SMOD、MULMOD、EXP 與 CREATE2 。雖然無法提供支持CREATE2確實會給與合約的反事實交互、限制升級性和用戶入門帶來問題,但我們認為對這些操作碼的支持將很快實現,從長遠來看不會成為使用ZK rollup的重大障礙。

橋接

因為 L2 是獨立的鏈,它們不會自動繼承原生 L1 代幣。以太坊上的原生 L1 代幣必須橋接到相應的 L2 才能與部署在那裡的 dApp 和服務進行交互。無縫連接代幣的能力仍然是一個關鍵挑戰,不同的項目探索各種架構。通常,一旦用戶調用depositL1,就需要在 L2 端鑄造一個等價的代幣。為這個過程設計一個高度通用的架構可能特別困難,因為有廣泛的代幣和代幣標準驅動協議。

最終性

最終性是指確認鏈上交易有效性的能力。在第 1 層,當用戶提交交易時,它幾乎是瞬間完成的。(儘管節點處理來自 mempool 的交易需要時間)。在第 2 層上,情況不一定如此。提交到運行 Optimistic Rollups 協議的第 2 層鏈的狀態更新將首先假定更新是有效的。但是,如果提交此更新的驗證者是惡意的,則需要有足夠的時間讓誠實的一方來質疑該聲明。通常,此挑戰期設置為約 7 天。平均而言,想要從 L2 提取資金的用戶可能需要等待大約 2 週!

另一方面,ZK Rollups 不需要這麼大的挑戰期,因為每個狀態更新都使用證明系統進行驗證。因此,ZK Rollups 協議上的交易與底層第一層上的交易一樣是最終的。毫不奇怪,ZK Rollups 提供的即時確定性已成為爭奪 L2 擴展優勢的關鍵優勢。

一些人認為,雖然 Optimistic Rollups 不一定能保證 L1 的快速最終性,但快速提款通過讓用戶在挑戰期結束之前獲得資金,提供了一種清晰、易於使用的解決方法。雖然這確實為用戶提供了一種訪問其流動性的方式,但這種方法存在幾個問題:

  • 用於維護 L2 到 L1 提款的流動性池的額外開銷。
  • 快速提款不是通用的------僅支持代幣提款。不能支持任意 L2 到 L1 調用。
  • 在挑戰期結束之前,流動性提供者無法保證交易的有效性。
  • 流動性提供者必須:(1)信任他們提供流動性的人,限制去中心化的好處;(2) 構建自己的欺詐/有效性證明,有效地違背了利用 L2 鏈中內置的欺詐證明/共識協議的目的。

測序(Sequencing)

排序器與任何其他完整節點一樣,但可以任意控制收件箱隊列中的排序交易。如果沒有這種排序,網絡中的其他節點/參與者無法確定特定批次交易的結果。從這個意義上說,這為用戶在執行交易時提供了一定程度的確定性。

反對為此目的使用定序器(Sequencers)的主要論點是,它們會造成故障的中心點------如果定序器出現故障,則可用性可能會受到影響。等一下……這意味著什麼?這不是破壞去中心化的願景嗎?嗯……有點。排序器通常由開發 L2 的項目運行,通常被視為半信任實體,通常為項目利益相關者採取行動。對於一想到這一點就咬緊牙關的去中心化強硬派,你可能會因為知道這裡這裡正在對去中心化公平排序進行大量工作/研究而感到安慰。

最近大型 L2 生態系統(包括 Arbitrum / Optimism)上的測序儀中斷,繼續證明了對容錯、去中心化測序的需求。

資本效率

Optimistic Rollups 與 ZK Rollups 之間比較的另一個關鍵點是它們的資本效率。如前所述,Optimistic L2 依賴欺詐證明來保護鏈,而 ZK Rollups 則利用有效性證明。

欺詐證明提供的安全性基於一個簡單的博弈論原則:攻擊者試圖分叉鏈的成本應該超過他們能夠從網絡中提取的價值。在 Optimistic Rollups 的情況下,驗證者將一定數量的代幣(例如 ETH)押在他們認為隨著鏈進展而有效的 Rollup 區塊上。惡意行為者(那些被發現有罪並由誠實節點報告的行為者)將被罰款。

因此,資本效率和安全性之間存在根本性的權衡。提高資本效率可能需要縮短延遲/質詢期,同時增加欺詐性斷言未被網絡中其他驗證者檢測或質詢的可能性。

移動延遲期相當於沿著資本效率與延遲期曲線移動。然而,隨著延遲期的變化,用戶需要考慮其對安全性和最終性之間權衡的影響------否則他們會對這些變化無動於衷。

目前 Arbitrum 和 Optimism 等項目的 7 個延遲期是由社區考慮到這些方面決定的。這是Offchain Labs 的 Ed Felten 對他們如何確定延遲期的最佳長度的深入解釋。

通過構造(依賴於密碼學假設而不是博弈論假設),有效性證明不易受到相同的資本效率/安全性權衡的影響。 進軍區塊鏈可擴展性

特定應用鏈/擴展

當我們談論多鏈未來時,我們到底指的是什麼?是否會有大量具有不同架構的高性能第 1 層、更多的第 2 層擴展解決方案,或者只有少數具有針對自定義用例的定制優化的第 3 層鏈?

我們的信念是,對基於區塊鏈的服務的需求將從根本上由用戶對特定類型應用程序的需求驅動,無論是 NFT 鑄造還是用於借貸、質押等的 DeFi 協議……從長遠來看與任何技術一樣,我們希望用戶希望從底層原語(在這種情況下,為結算、可擴展性和安全性提供核心基礎設施的 L1 和 L2)中抽象出來。 進軍區塊鏈可擴展性

特定於應用程序的鏈提供了一種通過利用狹窄優化來部署高性能服務的機制。因此,我們預計這些類型的鏈將成為旨在推動大規模採用的 Web3 基礎設施的關鍵組成部分。

這些鏈的出現主要有兩種方式:

  • 具有自己的原語的獨立生態系統專注於非常特定的應用程序。
  • 在現有 L1 和 L2 鏈之上構建的附加層,但經過微調以優化特定用例的性能。

在中短期內,這些獨立的鏈可能會出現顯著增長,但我們認為這是它們短期新穎性的功能,而不是可持續興趣和使用的信號。即使是現在,像Celo這樣更成熟的特定於應用程序的鏈似乎也相對稀少。雖然這些獨立的特定於應用程序的鏈生態系統為特定用例提供了卓越的性能,但它們通常缺乏使其他通用生態系統如此強大的特性:

  • 靈活性和易用性
  • 高度可組合性
  • 流動性聚合和對本地資產的訪問

下一代擴展基礎設施必須在這兩種方法之間取得平衡。

分形擴容方法

分形擴容方法與這種區塊鏈擴容的"分層模型"高度相關。它提供了一種獨特的方式來將原本孤立的、不同的應用程序特定鏈生態系統與更廣泛的社區統一起來,這樣做有助於保持可組合性,實現對通用邏輯的訪問,並從底層 L1 和 L2 獲得安全保證。

它是如何工作的?

  • 交易根據它們打算服務的場景在本地事例之間拆分。
  • 利用底層 L1/L2 層的安全性、擴展性和隱私屬性,同時針對獨特的定制需求進行優化
  • 利用基於證明證明和遞歸證明的新型架構(用於存儲和計算)
  • 任何消息都附有證明該消息和導致該消息的歷史有效的想法

這是Starkware 的一篇很棒的文章,討論了分形擴容的架構。

結束的想法

區塊鏈擴展在過去幾年中變得更加突出,這是有充分理由的------在像以太坊這樣的高度去中心化的鏈上進行驗證的計算成本已經變得不可行。隨著區塊鏈的普及,鏈上交易的計算複雜度也在快速增長,進一步增加了保護鏈的成本。對現有第 1 層和動態分片等架構的優化可能非常有價值,但需求的急劇增長需要採用更細緻的方法來開發安全、可擴展和可持續的去中心化系統。

我們相信這種基於構建針對特定行為優化的鏈層的方法,包括針對特定應用程序的通用計算和支持隱私的邏輯。因此,我們將 Rollup 和其他第 2 層技術視為通過啟用鏈下計算/存儲和快速驗證來擴展吞吐量的核心。

如有任何問題、意見或想法,請聯繫@Rahul Maganti!

參考

鏈捕手ChainCatcher提醒,請廣大讀者理性看待區塊鏈,切實提高風險意識,警惕各類虛擬代幣發行與炒作,站內所有內容僅係市場信息或相關方觀點,不構成任何形式投資建議。如發現站內內容含敏感信息,可點擊“舉報”,我們會及時處理。
banner
ChainCatcher 與創新者共建Web3世界