為什麼「Rollup+Rollup」的套娃邏輯行不通?
作者:Azuma
原創:Odaily 星球日報
圍繞著 Layer 3 的爭議討論近兩天愈演愈烈。
一方面,Degen Chain 等 Layer 3 代表性項目的相關代幣在過去數日內漲幅驚人 —— DEGEN 自身周漲幅高達 143.%; Aavegotchi 在選擇轉型為 Base 系 Layer 3 之後,GHST 也強勢刷新了歷史高點。
但另一方面,社區之內對於 Layer 3 的質疑聲音也越來越響亮,Vitalik 今日還親自下場表達了偏反對的意見:“Layer 3 並不會如魔法般地提高輸送量。 ”
恰逢昨日是愚人節,許多專案便以此為焦點,略帶些調侃性質地開了些關於 Layer 4、Layer 5 的玩笑,比如 dYdX 就曾開玩笑說「新版本將基於 L4 構建」,這一玩笑甚至還被部分媒體當成了新聞傳播。
那麼,為何 Layer 3 會遭受如此質疑?“Rollup 上再加個 Rollup” 的套娃邏輯為何不夠政治正確?綜合社區的討論來看,圍繞著 Layer 3 的質疑焦點主要集中在 “Layer 3 是否真正具有擴容意義” 之上。
Layer 3 的可行性假設
從經典定義來看,Layer 2 的往往被定義為依賴於乙太坊主網進行結算,具備可擴容性的網路; 以此類推,Layer 3 的定義則是依賴於 Layer 2 進行結算,更具可擴容性的網路。
在 Layer 2 的環境下,所謂的「依賴乙太坊進行結算」,在技術層面上的實現機制為:將 Layer 2 的大量交易數據打包並壓縮,繼而同步至乙太坊網路,並通過 Calldate(早期方案)或 Blob(當前方案)的數據空間進行存儲。
理想情況下,假如 Layer 2 的這套結算邏輯可行,那麼 Layer 3 依賴於 Layer 2 進行結算的邏輯似乎也應該成立,其技術層面上的實現機制理應為:將 Layer 3 的大量交易數據打包並壓縮,繼而同步至 Layer 2 網路......
到這一步時,問題就要開始出現了。
由於 Layer 2 本身並不負責網路「最終性」的確認,而是依賴於乙太坊進行,那麼理論上 Layer 3 的數據最終也應該提交至乙太坊,由乙太坊 “一錘定音”。
對於已提交至 Layer 2 的 Layer 3 壓縮數據而言,這時有兩種潛在的提交模式(繼續壓縮 or 不再壓縮),但可惜的是無論哪種模式暫時都存在一定問題。
Layer 3 數據提交的雙重悖論
首先是第一種潛在的提交模式,即將已壓縮的數據再次壓縮,與其他 Layer 2 交易數據一起提交至乙太坊主網。
聽起來似乎很美好,但現實的情況卻很殘酷 —— 不行。
Vitalik 在 2022 年時曾寫過一篇關於 Layer 3 的分析文章《什麼樣的 Layer 3 才有意義》,文中曾解釋了為什麼我們不能對交易數據進行多次壓縮。
Rollup 使用了一系列壓縮方案來減少交易儲存的數據量,一筆簡單的轉帳可大約 100 位元組壓縮至約 16 位元組,一筆 EVM 相容鏈上的 ERC 20 轉帳可從約 180 位元組壓縮至約 23 位元組,一筆 ZK-SNARK 交易可從約 600 位元組壓縮至約 80 位元組。 所有上述案例大約都可以實現 8 倍左右的壓縮效率...... 然而,由於 Rollup 依然需要在鏈上保持數據可用性,保證使用者可訪問並驗證的所有數據,比如獨立計算 Rollup 的狀態,或是在現有驗證節點離線時作為新的驗證節點加入...... 數據可以被壓縮一次,但不可以被重複壓縮,如果可以的話,通常意味著我們可以將第二個壓縮器的邏輯放入第一個中,但這也意味著我們本可利用一次壓縮就能獲得同樣的效果。 因此,“Rollup 上再套一個 Rollup” 並不具備真正的擴容效果的解決方案。
簡單來說,出於數據可用性考慮,對交易數據進行壓縮本就存在一定的限制。
在這一前提下,如果我們可以通過將第二次壓縮的邏輯集成至第一次壓縮過程中,來實現 Layer 3 數據的多重壓縮,這也就意味著我們也可以對 Layer 2 數據直接進行多重壓縮,進而在 Layer 2 層面就可以達成同樣的擴容效果,那為什麼我們還需要 Layer 3 呢?
究其原因,壓縮演算法本質上就是在某種程度上移除數據冗餘,使得數據變得更加緊湊,可一旦這些冗餘被移除,對已經壓縮過的數據再次進行壓縮就變得更難,因為可被去除的冗餘只會越來越少。 因此,數據壓縮並不是一個可以無限重複的過程,壓縮的收益也是遞減的。
接著我們看第二種潛在的提交模式,即不再對 Layer 3 數據進行壓縮,而是直接與其他 Layer 2 交易一起提交至乙太坊主網。
這同樣讓人覺得有些莫名其妙,因為整體來看,當下限制了乙太坊生態擴容效果的最主要瓶頸並不在於 Layer 2(包括 Layer 3)上的區塊空間不足,而是主網的數據可用性承載能力有限 —— 即用以存儲 Layer 2 數據的 Blob 儲存空間依然有限。
Monad 聯合創始人 Keone Hon 此前曾發文表示,當前 Blob 的容量狀況大概是每個區塊(12 秒)產出 3 個 125 kb 的 Blob,即每秒 31.25 kb,鑒於一筆交易的數量約為 100 位元組(相較 Vitalik 給出的數位略高),這意味著所有 Layer 2 的共用 TPS 大概是 300 左右。
在這一前提下,所有 Layer 2(包括 Layer 3)均會受到同一個數據可用性上限的制約,這也使得即便 Layer 2 外加 Layer 3 所提供的區塊空間再多,在完成 “最終性” 確認時也都得一個一個來排隊。
這也是為什麼 Vitalik 會強調 Layer 3 並不會神奇地改善乙太坊生態的擴容狀況。
Layer 3 是否毫無意義?
結合上述分析可知,出於壓縮效率以及數據可用性上限等層面的限制,當下的 Layer 3 在通用型擴容方面並不能提供顯著效果。 那麼這是否意味著 Layer 3 純屬「偽概念」,毫無實踐意義呢?答案也並不會那麼絕對。
Starkware 曾在《分層擴容,從 L2 到 L3》中概述了 Layer 3 的一些潛在發展方向,比如 Layer 2 可作為通用型網路運行,Layer 3 可通過強化定製性功能來作為專用型網路運行; 再比如 Layer 2 可聚焦於無信任擴容,Layer 3 則可聚焦於弱信任擴容,即通過引入一定的外部信任條件來處理數據可用性等較棘手問題。
最後套用 Vitalik 在《什麼樣的 Layer 3 才有意義》中的原話結尾吧:“在 Rollup 之上再疊加一個 Rollup,尤其是當這兩層採用了相同的技術機制時,顯然是行不通的。 然而,如果 Layer 2 和 Layer 3 有著不同的設計以及不同的目標,這樣的三層擴容構架則是可行的。 ”
免責聲明:作為區塊鏈資訊平臺,本站所發佈文章僅代表作者及嘉賓個人觀點,與 Web3Caff 立場無關。 文章內的資訊僅供參考,均不構成任何投資建議及要約,並請您遵守所在國家或地區的相關法律法規。