原文作者:YBB Capital Researcher Ac-Core
ETH 的主體敘事方向已由Layer1 轉向了Layer2,如果還將其理解為“一鍵發幣”的ERC-20 敘事,我們不妨放大格局展開想像,一場屬於“一鍵發鏈」的瘋狂即將到來!目前依托目前無人能及的生態和居高不下的 TVL,Arbitrum 一直引領著 Layer2 之間的戰爭,但這暫時的勝利能持續很久嗎?與 Arbitrum Orbit 再上一層的 Layer3 方案不同,OP Stack 是能夠一鍵創造 Layer2 的「超級鏈」。本篇內容以 OP Stack 架構、OP 裡的 ZK 元素、Rollup 的安全性問題三部分進行全面解析。
YBB Capital Researcher Ac-Core 自製
下輪牛市的敘事從哪裡開始?是從高效能的 Layer1,繼續堆疊的 Layer3,ZK 系的 Layer2,還是 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 就像今天將智能合約部署到以太坊一樣簡單,讓敘事變化由「一鍵發幣」走向「一鍵發鏈」。本質上而言,超級鏈是一個可橫向擴展的區塊鏈網絡,與各鏈之間共享以太坊的安全性、通訊層以及開發套件。
YBB Capital Researcher Ac-Core 自製
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 建構任何東西並一鍵發行區塊鏈;
- 簡潔:利用可重複使用的程式碼和現成開發套件,以增強安全性和降低維護的複雜性,達到整體降低門檻的作用;
- 可擴充: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:那我是誰?」
YBB Capital Researcher Ac-Core 自製
以太坊的無限區塊空間是實現大規模應用的關鍵一步,但這種擴散也帶來了分裂,無權限部署也迎來了新挑戰,如今,每個新的OP Stack 鏈都在自己的領域中獨立生長,沒有分享標準和改進的直接方法。使用者和建造者也面臨著巨大的挑戰:根據安全性、品質和中立性對眾多不同的鏈進行單獨評估。為了實現超級鏈,需將 OP Stack 從獨立、分散的區塊空間轉變為統一的鏈集體,共同致力於開放、去中心化的區塊空間。 「鏈法則」為樂觀主義治理和超級鏈制定了指導原則。樂觀主義治理從管理單一鏈轉變為管理多個鏈共享的標準,從而定義了成為超級鏈一部分所需的屬性,同時優先保護用戶在超級鏈上進行交易。從根本上講,「鏈法則」是一份社會契約(而非法律契約),因此積極的社區討論至關重要。它的存在將使超級鏈能夠保證以下特性:
- 確保區塊空間保持同質、中立和開放: 對鏈法的承諾就是對保護鏈的使用者、開發者和其他利害關係人的承諾。無論大小的鏈,如果是超級鏈的一部分,都可以在樂觀主義治理的支持下,可信地證明其區塊空間的同質性、中立性和開放性;
- 受惠於不斷改進:共享升級意味著超級鏈可以始終獲得最好的技術,而無需自己操心維護;
- 提供更好更可用的基礎設施: 由於超級鏈中的所有鏈都可信地致力於一個標準,因此它們可以共同努力,確保索引和排序等關鍵服務的可用性和經濟性。
OP Stack 能否反哺 OP?
OP Token 到底有什麼用途,如果以Basechain 的方式,他們會把一部分收入反哺給到Optimism Collective,那麼「國庫」的收入來源會依賴自身的「價值」,依靠創造更多的敘事來最終反饋到幣價上,使得OP 在二級市場的表現邏輯與ATOM 類似,但這種方案或許是目前最優的,如有更多的鏈條效仿Basechain 的方式進行反哺,Optimism Collective 終將受益。這種感覺是否讓我們想到 UNI?兩者項目本身都具有雄厚實力但 Token 本身除了投票和治理外並沒有其他價值用途。與此不同的是,目前Layer2 都面臨著中心化排序器問題,即使Layer2 代幣僅用於某種形式的領導者選擇(而非共識投票),但排序權的價值仍會累積到Rullop 代幣上。
同時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 採用指定共享或極少量的線程集,那麼它們彼此之間單依數學即可盲目的信任,使零知識證明失去價值。
YBB Capital Researcher Ac-Core 自製
OP Stack 是一套完全開放的架構,會讓生態出現zkvm、zkmips 、zkwasm、zkevm 成為可能,但相較於「正統的ZK」,OP Stack 裡也產生了一些不一樣的ZK 元素。這讓我們情不自禁地聯想到,也許在不久的將來能出現一次 OP rollup 與 ZK rollup 的夢幻連結。
根據最新的進展,Mina的背後團隊計劃採用他們自己的plonk 系統+ kzg 承諾+ folding 演算法nova 來實現OP Stack 上的zkmips vm。雖然這裡只是一個最新提案會存在較多不成熟的地方,但這也是非常值得我們去探索的。此專案團隊的使命是讓 Layer2 與 Layer1 及 OP 各個鏈之間透過零知識證明來實現安全低延遲的跨鏈通訊。這是一個針對良好支援的指令集架構(ISA)的零知識證明(ZKP),它可以證明 Optimism 容錯程式的行為,為能夠證明任何基於 OP Stack 的區塊鏈系統奠定了基礎。
YBB Capital Researcher Ac-Core 自製
完成這項任務意味著需要實現一個零知識證明(ZKP)系統,該系統可以使用golang 編譯器(如MIPS、RISC-V 或WASM)支援的指令集架構(ISA )來證明OP 防錯程序[2]。此外,該證明系統還必須證明標準配置 OP Stack 鏈的兩個區塊之間狀態轉換,從而證明其在實踐中是可行的。除了證明 ISA 的標準執行軌跡外,對防錯程序的支援還引入了額外的要求 [1]。
具體來說,防錯程式引入了 Pre-image Oracle [3] 的概念,它使用特殊的 System call [4] 將外部資料載入到程式中。每個Fault Proof VM [5] 都負責實現某種機制,透過這種機制,某些資料的雜湊值被放置在記憶體中的特定位置,並且被系統呼叫被執行,然後該雜湊值的預映像被載入到記憶體中供程式使用。 Pre-image Oracle 也用於引導程式的初始輸入。
Espresso Systems 於2023 年7 月21日發推文官宣關於建構OP Stack 領導選舉的去中心化排序驗證的提案已被接受,並成為OP Stack 和Superchain 的貢獻者。其中該專案的主要協議 HotShot 是一種高速的共識協議,可使用重新抵押來使以太坊驗證者能夠參與該協議,旨在達到與以太坊驗證器集相同的規模。同時該專案還開發了 Espresso Sequencer,這與功能齊全的 Zk-rollup 實現了集成,特別是 Polygon zkEVM 的分支。
什麼是領導選舉?
領導選舉 [6] 是指在分散式系統中使用不同的領導者負責創建下一個規範狀態轉換的能力。在區塊鏈中,領袖選舉可以讓不同的區塊生產者在不同的時間產生區塊,同時領導選舉演算法可以是競爭性的或無競爭性的。
在工作量證明情況下,競爭性領導選舉演算法是指在同一時間內有許多潛在的單位爭相成為領導者。無競爭領導者選舉演算法是指在某一特定時間點只有一個已知的領導者,在以太坊Gasper 的情況下,無競爭性領導選舉演算法是指在特定時間點只有一個已知的單位,並沒有其他方式讓另一個潛在單位在那個時間成為領導者。
在將提議者網路和建構者網路分開的情況下(即區塊建構者網路只負責選擇交易排序,提議者網路只負責簽署區區塊),會將原本負責在某一時刻產生區塊的單一實體轉變為許多可能存在的實體,且讓它們在競爭這某一時刻內構建者網絡中最具盈利的潛力區塊,與此同時由於MEV 的存在,會導致這種競爭性再次回歸。
我們在理解不同的 OP Stack 鏈之間領導選舉機制的各種二階效應是非常困難的。就目前而言,把領導選舉當作一種機制是最受歡迎的,因為它可以讓排序更加的去中心化。要注意的是這種方案也無法保障排序器是絕對去中心化,所以在考慮去中心化排序器問題時要額外的小心謹慎。
以太坊的原理是,每個節點都儲存且執行用戶提交給它的每筆交易,這種高級別的安全方式也導致整個網路十分昂貴,所以需要為整個網路擴容而採取了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)和更安全。
YBB Capital Researcher Ac-Core 自製
那麼問題來了,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 是多鏈單選擇。
YBB Capital Researcher Ac-Core 自製
下面我們來探討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 也存在幾點老生常談的話題:
YBB Capital Researcher Ac -Core 自製
- 延遲問題: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 的數據成本,去中心化排序器難題也在會攻克,共同為上述問題提供出有效的解決方案。
YBB Capital Researcher Ac-Core 自製
超鍊和超擴展一直是被大家所重點關注的擴展方向,雖目前而言,各個項目仍處於早期發展階段,但整體都為以太坊帶來了更強大的故事敘事。我們現在可以看到,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 這場沒有硝煙的戰爭你是如何看待呢?
解釋文獻:
[1]https://github.com/ethereum-optimism/optimism/blob/develop/specs/fault -proof.md#fault-proof-program
[2]https://github.com/ethereum-optimism/ecosystem-contributions/issues/61
[3]https://github.com /ethereum-optimism/optimism/blob/develop/specs/fault-proof.md#pre-image-oracle
[4]https://en.wikipedia.org/wiki/System_call
[5]https://github .com/ethereum-optimism/optimism/blob/develop/specs/fault-proof.md#fault-proof-vm
[6]https://github.com/ethereum-optimism/ecosystem-contributions/issues/63
參考文章:
https://mp.weixin.qq.com/s/ezSpKkoUoyFtoYd2cLoOzw
欢迎加入律动 BlockBeats 官方社群:
Telegram 订阅群:https://t.me/theblockbeats
Telegram 交流群:https://t.me/BlockBeats_App
Twitter 官方账号:https://twitter.com/BlockBeatsAsia