多鏈敘事可以從 Layer 1 的 Cosmos 開始說起,而如今 Layer2 火熱之際,OP Stack 能否接住多鏈敘事傳承的火炬? 本文源自 YBB Capital Researcher Ac-Core 於 Medium 所著文章 《Crazy Multichain Universe, Crazy OP Stack》,由 BlockBeats 編譯、整理。
(前情提要:解析Optimism當前現況:生態發展與OP Stack的未來 )
(背景補充:Layer2模組化戰爭:OP Stack vs. ZK Stack,誰能贏? )
前言
ETH 的主體敘事方向已由 Layer1 轉向了 Layer2,如果還將其理解為「一鍵發幣」的 ERC-20 敘事,我們不妨放大格局展開想像,一場屬於「一鍵發鏈」的瘋狂即將到來!依託目前無人能及的生態和居高不下的 TVL,Arbitrum 一直引領著 Layer2 之間的戰爭,但這暫時的勝利能持續很久嗎?與 Arbitrum Orbit 再上一層的 Layer3 方案不同,OP Stack 是能夠一鍵建立 Layer2 的「超級鏈」。本篇內容以 OP Stack 架構、OP 裡的 ZK 元素、Rollup 的安全性問題三部分進行全面解析。
OP Stack 開啟「超級鏈宇宙」
下輪牛市的敘事從哪開始?是從高效能的 Layer1,繼續堆高的 Layer3,ZK 系的 Layer2,還是 OP Stack 的超級鏈?這是一個非常有趣且值得深思的問題。以太殺手這個稱號仍然是萬眾公鏈不可逾越的究極目標,而在這個龐大的巨人裡還暗藏著很多不可忽視的超級核心,其中一個便是:OP Stack。
什麼是 OP Stack?
OP Stack 可理解為一組開源的軟體元件,使任何人都可以使用 Optimistic rollups 在以太坊之上構建自己的 Layer2 區塊鏈。它將大部分計算和儲存移至鏈外,同時依賴以太坊來確保安全性和最終性,從技術層面來講,Optimism 主要體現在它切實地為使用者節省了大量鏈上費用。OP Stack 由四個主要元件組成:
- 主網:OP Mainnet 是一個廉價且快速的以太坊 Layer2 網路,與以太坊 虛擬機器 EVM 相相容;
- 合約:實現 OP Stack 核心邏輯和功能的智慧合約。OP 合約包括狀態轉換系統(STS)、欺詐證明者 (FP)、狀態承諾鏈(SCC)以及規範交易鏈(CTC);
- 服務:提供 Layer1 和 Layer2 之間的資料可用性、資料同步和通訊服務;
- 工具:促進基於 OP Stack 的區塊鏈的開發、測試、部署、監控和除錯。
超強的開放性:
OP Stack 將被打造為可分叉模組化擴充套件區塊鏈的基礎設施,為實現這一遠景需將各類 Layer2 整合成一個單一的超級鏈(Superchain),把原本相互孤立的 Layer2 整合到一個具備互操作性和組合性的系統中,啟動 Layer2 就像今天將智慧合約部署到以太坊一樣簡單,讓敘事變化由「一鍵發幣」走向「一鍵發鏈」。本質上而言,超級鏈是一個可橫向擴充套件的區塊鏈網路,與各鏈之間共享以太坊的安全性、通訊層以及開發套件。
OP Stack(Over Powered Stack)將成為超級鏈背後統一的模組化開發堆疊,且它們之間是無數可相互連結、可通訊的區塊鏈。OP Stack 堆疊由專門的 Optimism Collective 負責整體的開發和維護,並支援用於部署新彙總網路的共享開源系統。與此同時它也是一套標準化的開源模組。這樣一聽它豈不是一個完全基於以太坊安全性的 Cosmos!當初說好的 ETH 與 ATOM 兩者互補,現在卻讓 OP Stack 成為了 Cosmos 殺手?接下來讓我們把 OP Stack 的定義給拆解一下:
模組是任何開發人員可以插入 OP Stack 的資料位。而這套超級鏈的 “標準化” 意味著對一個模組的標準有共識,並且它可以被所有人實現。同時完全開源意味著它可以免費提供給任何人進行開發迭代和訊息請求。開發人員有能力在一個鏈的不同執行層、共識層、結算層和資料可用性層進行切換模組。
好比 dYdX 選擇離開以太坊轉向 Cosmos 應用鏈,其根本原因是他們希望自己鏈上的共識層有更大的模組化,我認為這是一個很好的開始,讓更多獨立的 Dapps 選擇更符合自身的公鏈進行開發,其中最具有代表性的是 Luna,雖然出於一些原因它被毀滅了。值得慶幸的是 OP Stack 解決了這個問題,它的設計可以用更容易的方式進行程式碼分叉,讓開發人員可以很容易地抽象出區塊鏈的不同組成部分,並通過插入不同的模組來修改它。
OP Stack 設計原則:
- 效能:可以使用 OP Stack 構建任何東西並一鍵發行區塊鏈;
- 簡潔:利用可複用的程式碼和現成開發套件,以增強安全性和降低維護的複雜性,達到整體降低門檻的作用;
- 擴容:Optimism Collective 將會完整開源 OP Stack 的主要程式碼。
在架構上,OP Stack 可自下而上分為六層,分別是 DA Layer 資料可用層、Sequencing Layer 排序層、Derivation Layer 衍生層、Execution Layer 執行層、Settlement Layer 結算層、Governance Layer 治理層。OP Stack 的每一層都是模組化的 API 組建,可以隨意進行組合和解耦。其中最為關鍵的是 DA 資料可用層、執行層和結算層,三者構成了 OP Stack 的主要工作流程。
- DA 資料可用性層:是 OP Stack 的原始資料來源,可使用單個或多個數據可用性模組來獲取輸入資料,目前以太坊是最主要的 DA 層,但未來也會有更多的鏈加入進來;
- 執行層:OP Stack 中的狀態結構,可為 EVM 或其他 VM 提供可能性,增加了在以太坊上發起的 Layer2 交易的支援,同時為每筆交易增加額外的 Layer1 資料費用,向以太坊釋出交易的綜合成本。
- 結算層:OP Stack 上 Layer2 交易資料的去處,在 Layer2 確認後將資訊傳送到目標區塊鏈,以此最終結算。未來也有望接入 ZK 等有效性證明機制,以打通不同鏈之間的隔閡,甚至可以連結 OP 系 Layer2 和 ZK 系 Layer2 之間的孤島。
我們觀察到近期 OP 生態發展出了一些帶有 ZK 元素的專案,不妨大膽想像一下,如某個 Optimistic rollup 想把自己改造成 ZK rollup,沒問題!只要把它的欺詐證明模組換成結算層的有效性證明模組即可。如果某條鏈想把 Celestia 用於其資料可用性層。沒問題!把以太坊換成 Celestia 就行。想把執行層的 EVM 換成另一種虛擬機器,可惜的是這隻能是 OP Stack 的一個技術可能性。正如這種超級鏈局面的出現而誕生出一個熱梗 ——「Polygon:我要做 ZK Layer2 的 Cosmos!Optimism:我要做 OP Layer2 的 Cosmos! Cosmos:那我是誰?」
OP Stack 法則:
以太坊的無限區塊空間是實現大規模應用的關鍵一步,但這種擴散也帶來了分裂,無許可權部署也迎來了新挑戰,如今,每個新的 OP Stack 鏈都在自己的領域中獨立生長,沒有分享標準和改進的直接方法。使用者和建設者也面臨著巨大的挑戰:根據安全性、品質和中立性對眾多不同的鏈進行單獨評估。為了實現超級鏈,需將 OP Stack 從獨立、分散的區塊空間轉變為一個統一的鏈集體,共同致力於開放、去中心化的區塊空間。「鏈法則」為樂觀主義治理和超級鏈制定了指導原則。樂觀主義治理從管理單個鏈轉變為管理多個鏈共享的標準,從而定義了成為超級鏈一部分所需的屬性,同時優先保護使用者在超級鏈上進行交易。從根本上講,「鏈法則」是一份社會契約(而非法律契約),因此積極的社群討論至關重要。它的存在將使超級鏈能夠保證以下特性:
- 確保區塊空間保持同質、中立和開放: 對鏈法的承諾就是對保護鏈的使用者、開發者和其他利益相關者的承諾。無論大小的鏈,如果是超級鏈的一部分,都可以在樂觀主義治理的支援下,可信地證明其區塊空間的同質性、中立性和開放性;
- 受益於不斷改進: 共享升級意味著超級鏈可以始終獲得最好的技術,而無需自己操心維護;
- 提供更好更可用的基礎設施: 由於超級鏈中的所有鏈都可信地致力於一個標準,因此它們可以共同努力,確保索引和排序等關鍵服務的可用性和經濟性。
值得思考的問題:
OP Stack 能否反哺 OP?
OP Token 到底有什麼用途,如果以 Basechain 的方式,他們會把一部分收入反哺給到 Optimism Collective,那麼「國庫」的收入來源會依託自身的「價值」,依靠創造更多的敘事來最終回饋到幣價上,使得 OP 在二級市場的表現邏輯與 ATOM 類似,但這種方案或許是目前最優的,如有更多的鏈條效仿 Basechain 的方式進行反哺,Optimism Collective 終將受益。這種感覺是否讓我們想到 UNI?兩者專案本身都具有雄厚實力但 Token 自身除了投票和治理外並沒有其他價值用途。與此不同的是,目前 Layer2 都面臨著中心化排序器問題,即使 Layer2 代幣僅用於某種形式的領導者選擇(而非共識投票),但排序權的價值仍會累積到 Rullop 代幣上。
延伸閱讀:Optimism統一L2野心》Coinbase Base 只是起頭,最終完成「超級鏈」
與此同時 OP 團隊在 7 月 25 日的時候釋出了 Law of Chain 提案,所有採用 OP Stack 的鏈啟動共享治理模型和排序器,希望將「利潤反哺」這個模式進行規範化,從而為整個 OP 繫帶來更多收益(如上述 OP Stack 法則),這相比於 Cosmos 的共享安全模型,堪稱異曲同工之妙。
OP Stack 和 ZK Stack 的區別:
OP Stack:多鏈單選擇
通過上文我們不難發現 OP Stack 採用的與 Cosmos 相似的多鏈模式,但選擇方面只有一個,因為 OP Stack 追求各個鏈都需驗證其他鏈的交易,否則就需要在 Layer1 上等待數天才會有結果,所以單一且共享的排序器,集中式的 MEV 分配以及受法約與管理的保護是唯一讓 Optimistic rollups 在不同鏈之間實現無縫互操作性的可能。
ZK Stack:多鏈多選擇
與 OP Stack 不同的是,ZK Stack 同樣可以多個鏈,但它可有多種選擇,可選自己的排序器,按自己方式去處理 MEV,且受數學和程式碼的保護(注意:OP Stack 是受法約與管理的保護)。這是因為如果 ZK 採用指定共享或極少量的執行緒集,那它們彼此之間單依數學即可盲目的信任,使零知識證明失去價值。
OP Stack 裡的 ZK 元素
OP Stack 是一套完全開放的架構,會讓生態裡出現 zkvm、zkmips、zkwasm、zkevm 成為可能,但相比於「正統的 ZK」,OP Stack 裡也產生了一些不一樣的 ZK 元素。這讓我們情不自禁地聯想到,也許在不久的將來能出現一次 OP rollup 與 ZK rollup 的夢幻聯動。
為 OP 實現零知識證明(ZKP):
根據最新的進展,Mina 的背後團隊計劃採用他們自己的 plonk 系統 + kzg 承諾 + folding 演算法 nova 來實現 OP Stack 上的 zkmips vm。雖然這僅是一個最新提案會存在較多不成熟的地方,但這也是非常值得我們去探索的。該專案團隊的使命是讓 Layer2 與 Layer1 及 OP 各個鏈之間通過零知識證明來實現安全低延遲的跨鏈通訊。這是一個針對良好支援的指令集架構(ISA)的零知識證明(ZKP),它可以證明 Optimism 容錯程式的行為,為能夠證明任何基於 OP Stack 的區塊鏈系統奠定了基礎。
完成這項任務意味著需要實現一個零知識證明(ZKP)系統,該系統可以使用 golang 編譯器(如 MIPS、RISC-V 或 WASM)支援的指令集架構(ISA)來證明 OP 防錯程式 。此外,該證明系統還必須證明標準配置 OP Stack 鏈的兩個區塊之間狀態轉換,從而證明其在實踐中是可行的。除了證明 ISA 的標準執行軌跡外,對防錯程式的支援還引入了額外的要求 。
具體來說,防錯程式引入了 Pre-image Oracle 的概念,它使用特殊的 System call 將外部資料載入到程式中。每個 Fault Proof VM 都負責實現某種機制,通過這種機制,某些資料的hash值被放置在記憶體中的特定位置,且被系統呼叫被執行,然後該hash值的預映像被載入到記憶體中供程式使用。Pre-image Oracle 也用於引導程式的初始輸入。
去中心化排序器的嘗試:
Espresso Systems 於 2023 年 7 月 21 日發推文官宣關於構建 OP Stack 領導選舉的去中心化排序驗證的提案已被接受,並成為 OP Stack 和 Superchain 的貢獻者。其中該專案的主要協議 HotShot 是一種高速的共識協議,可使用重新抵押來使以太坊驗證者能夠參與該協議,旨在達到與以太坊驗證器集相同的規模。同時該專案還開發了 Espresso Sequencer,這與功能齊全的 Zk-rollup 實現了整合,特別是 Polygon zkEVM 的分支。
什麼是領導選舉?
領導選舉是指在分散式系統中使用不同的領導者負責建立下一個規範狀態轉換的能力。在區塊鏈中,領袖選舉可以讓不同的區塊生產者在不同的時間產生區塊,同時領導選舉演算法可以是競爭性的也可以是無競爭性的。
在工作量證明情況下,競爭性領導選舉演算法是指在同一時間內有許多潛在的單位爭相成為領導者。無競爭領導者選舉演算法是指在某一特定時間點只有一個已知的領導者,在以太坊 Gasper 的情況下,無競爭性領導選舉演算法是指在特定時間點只有一個已知的單位,並沒有其他方式讓另一個潛在單位在那個時間成為領導者。
在將提議者網路和構建者網路分離的情況下(即區塊構建者網路只負責選擇交易排序,提議者網路只負責簽署區塊),會將原本負責在某一時刻產生區塊的單一實體轉變為許多可能存在的實體,且讓它們在競爭這某一時刻內構建者網路中最具盈利的潛力區塊,與此同時由於 MEV 的存在,會導致這種競爭性再次回歸。
我們在理解不同的 OP Stack 鏈之間領導選舉機制的各種二階效應是非常困難的。就目前而言,把領導選舉作為一種機制是最受歡迎的,因為它可以讓排序更加的去中心化。需注意的是這種方案也無法保障排序器是絕對去中心化,所以在考慮去中心化排序器問題時要額外的小心謹慎。
Rollup 們真的安全嘛?
以太坊的工作原理:
以太坊的原理是,每個節點都儲存且執行使用者提交給它的每筆交易,這種高級別的安全方式也導致整個網路十分昂貴,所以需要為整個網路擴容而採取了 Rollup 解決方案。簡單來說 Rollup = Layer1 的一組合約 + Layer2 的自身網路節點,即鏈上智慧合約 + 鏈下聚合器,將結算,共識,資料可用性均依賴以太坊,自己僅負責執行 Rollup。
- 鏈上智慧合約,表示了它的信任模型就是以太坊上的一個智慧合約,借用了以太坊的安全性;
- 鏈下聚合器,表示它會鏈下執行並聚合交易,將大批量的交易進行壓縮,並最終放上以太坊主網,達成更快且更便宜的目的。
Layer2 網路節點又有很多部分組成,其中排序器(Sequencer)元件最為重要。它負責接收 Layer2 上的交易請求,以此決定他們的執行次序並將交易序列進行打包批次(Batch),最終傳送給 Rollup 專案在 Layer1 上的合約。需要注意的是在開始下文前需明確一個事實:如下圖參考,目前以太坊所有 Layer2 Rollups 的排序器都是中心化的。
中心化的排序器問題:
Layer2 的全節點可以通過兩種方式獲得交易序列:一是直接從排序器獲取,二是讀取排序器傳送到 Layer1 的交易批次(Batch)但後者擁有更強的不可修改屬性。由於交易執行會改變區塊鏈帳本的狀態,為確保一致性,Layer2 全節點除了需要獲得交易次序,還必須與排序器同步帳本狀態。因此,排序器的任務不僅是將交易批次傳送到 Layer1 的 Rollup 合約,還要將交易執行後的狀態更新結果 StateRoot/StateDiff 傳送至 Layer1,通俗來講排序器的工作是將交易處理和排序為新增到區塊鏈中的塊,負責批量處理交易並將其釋出到 Layer1 智慧合約。
對於 Layer2 的全節點來說,只要獲取了 Layer1 上 Rollup 的交易序列和最初的 StateRoot,就能夠還原出 Layer2 的區塊鏈帳本,並計算得出最新的 StateRoot。反之,Layer2 全節點自己計算得到的 StateRoot 與排序器釋出到 Layer1 的 StateRoot 不一致,就意味著排序器存在欺詐行為。綜上相比 Layer2 自身的網路,Layer1 會更加去中心化、去信任(Trustless)和更安全。
OP Stack:
那麼問題來了,Layer2 可不可以偽造一些不存在或是一些錯誤的交易,好比將 Layer2 的 Token 資產轉移到排序器的執行者地址,再將這些 Token 資產轉移到 Layer1 上,從而盜取使用者資產?答案是:
如果想這樣做完全是可以的。所以在面對排序器可能存在的欺詐風險時,不同型別的 Rollup 採用了不同方式的應對措施。
我們拿 Optimistic Rollup 舉例,它允許 Layer2 全節點提供欺詐證明(Fraud Proof),證明排序器在 Layer1 釋出的資料是錯誤的。但對於沒有欺詐證明的 Optimism 來說,如果它真想通過排序器來盜走 Layer2 的使用者資產,只需讓排序器執行者偽造交易指令,並將其他人在 Layer2 的資產轉移至自己的地址,最後通過 Rollup 自帶的 Bridge 合約,來把盜來的幣轉移至 Layer1。
為解決這種可能存在的問題,目前解決方案一是靠社群成員和社交媒體等輿論監督達成所謂的「共識」,二是依靠 OP 做為官方的信用背書。所以綜上理論,OP Rollup 的安全性至少依靠要有一個能釋出欺詐證明的誠實 Layer2 全節點來保證,既上文「OP Stack 和 ZK Stack 的區別」小節中提到的:OP Stack 是多鏈單選擇。
ZK Stack:
下面我們來探討一下 ZK Stack,在 ZK rollup 網路中,存在著 Prover 節點,它專門負責為排序器釋出交易批次,同時生成有效性證明。這些有效性證明在 Layer1 上有專門的驗證合約。只要交易批次及其對應的 StateRoot/StateDiff 的證明通過 Verifier 合約驗證,交易便得到最終確認。它與 OP Stack 有所不同的是,ZK rollup 在解決排序器欺詐問題時除了依賴 Layer2 全節點外,還利用了 Validity Proof(有效性證明)。ZK rollup 的官方橋樑也只會允許通過有效性證明驗證的提款交易執行,從安全性方面來看,這顯然比 Optimism 要可靠得多,即上文中「OP Stack 和 ZK Stack 的區別」小節中提出的:ZK Stack 是多鏈多選擇。
從理論來考慮,ZK rollup 的安全由 Layer1 上的 Verifier 合約保證或可以說是由 Layer1 節點完成交易最終確認。與 OP rollup 的安全性靠最少單個能釋出欺詐證明的誠實 Layer2 全節點相對比,他們都是繼承了 Layer1 (ETH) 的安全性,但事實或許嚴格意義來講並非如此,不過這已是目前最優解決方案,相比於其他公鏈,以太坊經歷這麼多年的發展歷程,安全性毋庸置疑是最值得信賴的。
如同區塊鏈三角問題,一個「產品」的綜合使用者體驗似乎也存在著一個三角問題:安全,簡單,高效。ZK Stack 相比 OP Stack,它更加相信依靠數學和程式碼來提升整體的安全性質,因此大幅提升了整體的複雜性。所以關於 ZK 也存在幾點老生常談的話題:
- 延遲問題:ZK rollup 還需要解決 Layer2 節點向 Layer1 釋出資料的延遲問題。類似於快遞運輸需要準備包裝盒一樣,所以每次排序器或 Prover 向 Layer1 傳送資料都會產生固定的成本;
- 速度問題:ZK rollup 面臨著一個挑戰,即生成有效性證明的速度較慢。儘管排序器可以在 1 秒內執行數千筆交易,但為這些交易生成有效性證明可能需要幾個小時的時間;
- 成本問題:為了降低整體成本,很多 ZK rollup 方案採取了「聚合多個 Proof,再一次性發到 Layer1 上」的策略。這意味著 Prover 不會立即在生成一個 Proof 後就傳送到 Layer1,而是等待多個 Proof 都生成完畢後,將它們聚合在一起,並一次性發給 Layer1 上的 Verifier 合約;
- 數量問題:如果發起的交易筆數不夠多,排序器可能會延遲向 Layer1 釋出資料。舉個例子,在市場不活躍的時期,某些 Rollup 網路可能每半小時才向 Layer1 傳送一次交易批次。
關於更適合的去中心化的排序器解決方案問題,模組化或許是最優的解決方式,因為模組化等同於更大的可訂製化,在目前的去中心化工具中主要以以下五種為主:
Single Sequencer & POA -Based rollup
DVT x Sequencer -Shared Sequencer
Bootstrap a New Sequencer Set
我們相信在不僅的將來,以上諸多問題可以通過技術來進一步解決。好比降低有效性證明的生成時間,Optimism 承諾近期會發布欺詐證明系統,以及以太坊的 Danksharding 方案也將大幅降低 Rollup 的資料成本,去中心化排序器難題也在會攻克,共同為上述問題提供出有效的解決方案。
延伸閱讀:以太坊坎昆升級,能為 L2(Layer2)帶來哪些利多?
結尾:敘事走向
超鏈和超擴容一直是被大家所重點關注的擴容方向,雖目前而言,各個專案仍處於早期發展階段,但整體都為以太坊帶來了更為強大的故事敘事。我們現在可以看到,OP Stack 已經獲得了較多的採用,眾多明星公鏈也加入其中,比如 Coinbase、opBNB、Zora、Worldcoin 等眾多公鏈都給予了 OP Stack 很好的品牌背書。包括近期在 6 月 26 日晚,zkSync 宣佈推出用於構建訂製 ZK rollup 的模組化開源框架 ZK Stack,這也被許多人認為是 zkSync 團隊用來對付 OP Stack 頭號的殺手鐗。一邊是具有先發優勢的 OP Stack,一邊是具有數學優勢的 ZK Stack,總而言之 Layer2 的任何價值都可以積累到 Rollup 的代幣中來,Layer2 擴容之戰才剛剛開始,關於 Layer2 這場沒有硝煙的戰爭你是如何看待呢?